Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Einen Proxy für — Amazon Aurora erstellen
Sie können Amazon RDS Proxy verwenden, um die Skalierbarkeit, Verfügbarkeit und Sicherheit Ihrer Datenbankanwendungen zu verbessern, indem Sie Verbindungen bündeln und Datenbank-Failovers effizienter verwalten. In diesem Thema werden Sie Schritt für Schritt durch die Erstellung eines Proxys geführt. Bevor Sie beginnen, stellen Sie sicher, dass Ihre Datenbank die erforderlichen Voraussetzungen erfüllt, einschließlich IAM-Berechtigungen und VPC-Konfiguration.
Sie können einen Proxy einem DB-Cluster von Aurora MySQL oder einem Aurora PostgreSQL zuordnen.
So erstellen Sie einen Proxy
-
Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon RDS-Konsole unter https://console.aws.amazon.com/rds/
. -
Wählen Sie im Navigationsbereich Proxies (Proxys).
-
Wählen Sie Create proxy (Proxy erstellen).
-
Konfigurieren Sie die folgenden Einstellungen für Ihren Proxy.
Einstellung Beschreibung Motorenfamilie Das Datenbank-Netzwerkprotokoll, das der Proxy erkennt, wenn er den Netzwerkverkehr zur und von der Datenbank interpretiert. Anmerkung
Um zu verwenden, stellen Sie sicher, dass die
postgres
Datenbank in Ihrer Instance beibehalten wird. Siehe Problembehandlung bei gelöschter postgres Datenbank.Proxy-ID Ein Name, der innerhalb Ihrer AWS Konto-ID und Ihrer aktuellen AWS Region eindeutig ist. Timeout für Client-Verbindungen im Leerlauf Der Proxy schließt eine Client-Verbindung, wenn sie für einen bestimmten Zeitraum inaktiv bleibt. Standardmäßig sind dies 1.800 Sekunden (30 Minuten). Eine Verbindung befindet sich im Leerlauf, wenn die Anwendung nicht innerhalb der angegebenen Zeit nach Abschluss der vorherigen Anfrage eine neue Anfrage einreicht. Der Proxy hält die zugrunde liegende Datenbankverbindung geöffnet und gibt sie an den Verbindungspool zurück, sodass sie für neue Clientverbindungen verfügbar ist.
Um veraltete Verbindungen proaktiv zu entfernen, reduzieren Sie den Timeout für inaktive Client-Verbindungen. Um die Verbindungskosten bei Arbeitslastspitzen zu minimieren, erhöhen Sie den Timeout.
Datenbank Der , auf den über diesen Proxy zugegriffen werden soll. Die Liste enthält nur DB-Instances und Cluster mit kompatiblen Datenbank-Engines, Engine-Versionen und anderen Einstellungen. Wenn die Liste leer ist, erstellen Sie eine neue DB-Instance oder einen neuen Cluster, mit der/dem RDS Proxy kompatibel ist. Eine Schritt-für-Schritt-Anleitung hierzu finden Sie unter Erstellen eines Amazon Aurora-DB Clusters. Versuchen Sie dann erneut, den Proxy zu erstellen. Verbindungspool, maximale Anzahl an Verbindungen Ein Wert zwischen 1 und 100, um den Prozentsatz des max_connections
Limits zu definieren, den der RDS-Proxy verwenden kann. Wenn Sie nur einen Proxy mit dieser DB-Instance oder diesem Cluster verwenden möchten, legen Sie diesen Wert auf 100 fest. Weitere Informationen darüber, wie RDS Proxy diese Einstellung verwendet, finden Sie unterMaxConnectionsPercent.Filter für das Anheften von Sitzungen Hindert den RDS-Proxy daran, bestimmte erkannte Sitzungszustände zu fixieren, wodurch die Standardsicherheitsmaßnahmen für Multiplexverbindungen umgangen werden. Derzeit unterstützt PostgreSQL diese Einstellung nicht, und die einzig verfügbare Option ist.
EXCLUDE_VARIABLE_SETS
Ihre Aktivierung kann dazu führen, dass sich Sitzungsvariablen von einer Verbindung auf andere auswirken, was zu Fehlern oder Korrektheitsproblemen führen kann, wenn Abfragen auf Sitzungsvariablen basieren, die außerhalb der aktuellen Transaktion gesetzt wurden. Verwenden Sie diese Option erst, nachdem Sie sich vergewissert haben, dass Ihre Anwendungen Datenbankverbindungen sicher gemeinsam nutzen können.Die folgenden Muster gelten als sicher:
-
SET
Anweisungen, bei denen der effektive Wert der Sitzungsvariablen nicht geändert wird. Mit anderen Worten, es gibt keine Änderung an der Sitzungsvariablen. -
Sie ändern den Wert der Sitzungsvariablen und führen eine Anweisung in derselben Transaktion aus.
Weitere Informationen finden Sie unter Vermeiden Sie das Anheften eines RDS-Proxys.
Timeout bei Verbindungsausleihe Wenn Sie erwarten, dass der Proxy alle verfügbaren Datenbankverbindungen verwendet, legen Sie die Wartezeit fest, bis ein Timeout-Fehler zurückgegeben wird. Sie können bis zu fünf Minuten angeben. Diese Einstellung gilt nur, wenn der Proxy die maximale Anzahl von Verbindungen erreicht hat und alle verwendet werden. Initialisierungsabfrage (Optional) Fügen Sie eine Initialisierungsabfrage hinzu, oder ändern Sie die aktuelle. Sie können eine oder mehrere SQL-Anweisungen für die Ausführung durch den Proxy beim Öffnen jeder neuen Datenbankverbindung festlegen. Die Einstellung wird normalerweise zusammen mit
SET
Anweisungen verwendet, um sicherzustellen, dass jede Verbindung identische Einstellungen hat. Stellen Sie sicher, dass die von Ihnen hinzugefügte Abfrage gültig ist. Um mehrere Variablen in eine einzelneSET
Anweisung aufzunehmen, verwenden Sie Kommatrennzeichen. Zum Beispiel:SET
variable1
=value1
,variable2
=value2
Verwenden Sie für mehrere Anweisungen Semikola als Trennzeichen.
Wichtig
Da Sie im Rahmen der Zielgruppenkonfiguration auf die Initialisierungsabfrage zugreifen können, ist sie nicht durch Authentifizierungs- oder kryptografische Methoden geschützt. Jeder, der Zugriff auf Ihre Proxy-Zielgruppenkonfiguration hat, kann die Initialisierungsabfrage einsehen. Sie sollten dieser Option keine vertraulichen Daten wie Passwörter oder langlebige Verschlüsselungsschlüssel hinzufügen.
AWS Identity and Access Management (IAM) -Rolle Eine IAM-Rolle mit der Berechtigung zum Zugriff auf die Secrets Manager Manager-Geheimnisse, die die Anmeldeinformationen für Datenbankbenutzerkonten darstellen, die der Proxy verwenden kann. Alternativ können Sie eine neue IAM-Rolle aus dem erstellen. AWS Management Console
Secrets Manager Geheimnisse Wählen Sie mindestens ein Secrets Manager Manager-Geheimnis, das Datenbank-Benutzeranmeldedaten enthält, die es dem Proxy ermöglichen, auf den Aurora DB-Cluster der zuzugreifen. Art der Client-Authentifizierung Die Art der Authentifizierung, die der Proxy für Verbindungen von Clients verwendet. Die ausgewählte Option gilt für alle Secrets-Manager-Secrets, die Sie diesem Proxy zuordnen. Wenn Sie für jedes Geheimnis einen anderen Client-Authentifizierungstyp angeben müssen, erstellen Sie Ihren Proxy stattdessen mithilfe der AWS CLI oder der API. IAM-Authentifizierung Gibt an zugelassen oder verboten werden soll. Die ausgewählte Option gilt für alle Secrets-Manager-Secrets, die Sie diesem Proxy zuordnen. Wenn Sie für jedes Geheimnis eine andere IAM-Authentifizierung angeben müssen, erstellen Sie Ihren Proxy stattdessen mithilfe der AWS CLI oder der API. Transport Layer Security erforderlich Erzwingt TLS/SSL für alle Client-Verbindungen. Der Proxy verwendet dieselbe Verschlüsselungseinstellung für seine Verbindung zur zugrunde liegenden Datenbank, unabhängig davon, ob die Client-Verbindung verschlüsselt oder unverschlüsselt ist.
Subnets Dieses Feld ist bereits mit allen Subnetzen gefüllt, die mit Ihrer VPC verknüpft sind. Sie können alle Subnetze entfernen, die für den Proxy nicht benötigt werden, müssen jedoch mindestens zwei Subnetze belassen.
VPC Security Group (VPC-Sicherheitsgruppe) Wählen Sie eine vorhandene VPC-Sicherheitsgruppe oder erstellen Sie eine neue aus der AWS Management Console. Konfigurieren Sie die eingehenden Regeln so, dass Ihre Anwendungen auf den Proxy zugreifen können, und die Regeln für ausgehenden Datenverkehr, um den Datenverkehr von Ihren Datenbankzielen zuzulassen.
Anmerkung
Die Sicherheitsgruppe muss Verbindungen vom Proxy zur Datenbank zulassen. Sie dient sowohl für den Eingang von Ihren Anwendungen zum Proxy als auch für den Ausgang vom Proxy zur Datenbank. Wenn Sie beispielsweise dieselbe Sicherheitsgruppe sowohl für die Datenbank als auch für den Proxy verwenden, stellen Sie sicher, dass die Ressourcen innerhalb dieser Sicherheitsgruppe miteinander kommunizieren können.
Wenn Sie eine gemeinsam genutzte VPC verwenden, vermeiden Sie es, die Standardsicherheitsgruppe für die VPC oder eine mit einem anderen Konto verknüpfte Sicherheitsgruppe zu verwenden. Wählen Sie stattdessen eine Sicherheitsgruppe aus, die zu Ihrem Konto gehört. Wenn keine vorhanden ist, erstellen Sie eine. Weitere Informationen finden Sie unter Arbeiten mit geteilten Inhalten VPCs.
RDS stellt einen Proxy in mehreren Availability Zones bereit, um eine hohe Verfügbarkeit zu gewährleisten. Um die AZ-übergreifende Kommunikation zu ermöglichen, muss die Network Access Control List (ACL) für Ihr Proxy-Subnetz Egress am Engine-Port und Ingress an allen Ports zulassen. Weitere Informationen zum Netzwerk ACLs finden Sie unter Steuern des Datenverkehrs zu Subnetzen über das Netzwerk. ACLs Wenn die Netzwerk-ACL für Ihren Proxy und Ihr Ziel identisch sind, müssen Sie eine TCP-Protokoll-Ingress-Regel hinzufügen, bei der die Quelle auf die VPC-CIDR festgelegt ist. Sie müssen auch eine Engine-Port-spezifische TCP-Protokollausgangsregel hinzufügen, bei der das Ziel auf die VPC-CIDR festgelegt ist.
Aktivieren Sie die erweiterte Protokollierung Aktivieren Sie diese Einstellung, um Proxykompatibilitäts- oder Leistungsprobleme zu beheben. Wenn diese Option aktiviert ist, protokolliert RDS Proxy detaillierte Leistungsinformationen, um Sie beim Debuggen des SQL-Verhaltens oder der Leistung und Skalierbarkeit von Proxyverbindungen zu unterstützen.
Aktivieren Sie diese Einstellung nur zum Debuggen und stellen Sie sicher, dass angemessene Sicherheitsmaßnahmen zum Schutz vertraulicher Informationen in den Protokollen getroffen wurden. Um den Overhead zu minimieren, deaktiviert RDS Proxy diese Einstellung 24 Stunden nach der Aktivierung automatisch. Verwenden Sie es vorübergehend, um bestimmte Probleme zu beheben.
-
-
Wählen Sie Create proxy (Proxy erstellen).
Um einen Proxy mit dem zu erstellen AWS CLI, rufen Sie den create-db-proxyBefehl mit den folgenden erforderlichen Parametern auf:
--db-proxy-name
--engine-family
--role-arn
--auth
--vpc-subnet-ids
Bei --engine-family
-Wert ist die Groß- und Kleinschreibung zu beachten.
Beispiel
Für LinuxmacOS, oderUnix:
aws rds create-db-proxy \ --db-proxy-name
proxy_name
\ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } \ --authProxyAuthenticationConfig_JSON_string
\ --role-arniam_role
\ --vpc-subnet-idsspace_separated_list
\ [--vpc-security-group-idsspace_separated_list
] \ [--require-tls | --no-require-tls] \ [--idle-client-timeoutvalue
] \ [--debug-logging | --no-debug-logging] \ [--tagscomma_separated_list
]
Windows:
aws rds create-db-proxy ^ --db-proxy-name
proxy_name
^ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } ^ --authProxyAuthenticationConfig_JSON_string
^ --role-arniam_role
^ --vpc-subnet-idsspace_separated_list
^ [--vpc-security-group-idsspace_separated_list
] ^ [--require-tls | --no-require-tls] ^ [--idle-client-timeoutvalue
] ^ [--debug-logging | --no-debug-logging] ^ [--tagscomma_separated_list
]
Nachstehend finden Sie ein Beispiel für den JSON-Wert der --auth
-Option. In diesem Beispiel wird auf jedes Geheimnis ein anderer Client-Authentifizierungstyp angewendet.
[ { "Description": "proxy description 1", "AuthScheme": "SECRETS", "SecretArn": "arn:aws:secretsmanager:us-west-2:123456789123:secret/1234abcd-12ab-34cd-56ef-1234567890ab", "IAMAuth": "DISABLED", "ClientPasswordAuthType": "POSTGRES_SCRAM_SHA_256" }, { "Description": "proxy description 2", "AuthScheme": "SECRETS", "SecretArn": "arn:aws:secretsmanager:us-west-2:111122223333:secret/1234abcd-12ab-34cd-56ef-1234567890cd", "IAMAuth": "DISABLED", "ClientPasswordAuthType": "POSTGRES_MD5" }, { "Description": "proxy description 3", "AuthScheme": "SECRETS", "SecretArn": "arn:aws:secretsmanager:us-west-2:111122221111:secret/1234abcd-12ab-34cd-56ef-1234567890ef", "IAMAuth": "REQUIRED" } ]
Tipp
Wenn Sie noch nicht wissen, welches Subnetz für den --vpc-subnet-ids
Parameter verwendet werden IDs soll, finden Sie unter Netzwerkvoraussetzungen für RDS Proxy einrichten Beispiele, wie Sie sie finden können.
Anmerkung
Diese Sicherheitsgruppe muss den Zugriff auf die Datenbank zulassen, mit welcher der Proxy eine Verbindung herstellt. Dieselbe Sicherheitsgruppe wird für eingehenden Datenverkehr von Ihren Anwendungen zum Proxy und für ausgehenden Datenverkehr vom Proxy zur Datenbank verwendet. Angenommen, Sie verwenden dieselbe Sicherheitsgruppe für Ihre Datenbank und Ihren Proxy. Stellen Sie in diesem Fall sicher, dass Sie angeben, dass Ressourcen in dieser Sicherheitsgruppe mit anderen Ressourcen in derselben Sicherheitsgruppe kommunizieren können.
Wenn Sie eine freigegebene VPC verwenden, können Sie die Standardsicherheitsgruppe für die VPC oder eine zu einem anderen Konto gehörende Gruppe nicht verwenden. Wählen Sie eine Sicherheitsgruppe aus, die zu Ihrem Konto gehört. Wenn keine vorhanden ist, erstellen Sie eine. Weitere Informationen zu dieser Einschränkung finden Sie unter Arbeiten mit Shared VPCs.
Um die richtigen Verknüpfungen für den Proxy zu erstellen, verwenden Sie auch den register-db-proxy-targetsBefehl. Angabe des default
-Zielgruppennamens. RDS Proxy erstellt automatisch eine Zielgruppe mit diesem Namen, wenn Sie jeden Proxy erstellen.
aws rds register-db-proxy-targets --db-proxy-name
value
[--target-group-nametarget_group_name
] [--db-instance-identifiersspace_separated_list
] # rds db instances, or [--db-cluster-identifierscluster_id
] # rds db cluster (all instances)
Um einen RDS-Proxy zu erstellen, rufen Sie den Amazon RDS-API-Vorgang Create aufDBProxy. Sie übergeben einen Parameter mit der AuthConfigDatenstruktur.
RDS Proxy erstellt automatisch eine Zielgruppe mit dem Namen default
, wenn Sie die einzelnen Proxys erstellen. Sie ordnen der Zielgruppe einen zu, indem Sie die Funktion DBProxyZiele registrieren aufrufen.