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.
Erstellen eines Proxys für Amazon Aurora
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-Failover effizienter verwalten. In diesem Thema wird das Erstellen eines Proxys erläutert. Stellen Sie vor Beginn 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 Description Engine-Familie Das Datenbanknetzwerkprotokoll, das der Proxy erkennt, wenn er den Netzwerkverkehr zu 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-Kennung Ein Name, der innerhalb Ihrer AWS Konto-ID und Ihrer aktuellen AWS Region eindeutig ist. Timeout der inaktiven Clientverbindung Der Proxy schließt eine Clientverbindung, wenn er für einen bestimmten Zeitraum inaktiv bleibt. Standardmäßig sind dies 1.800 Sekunden (30 Minuten). Eine Verbindung ist inaktiv, wenn die Anwendung innerhalb der angegebenen Zeit nach Abschluss der vorherigen Anforderung keine neue Anforderung sendet. 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.
Reduzieren Sie die Zeitüberschreitung für die inaktive Clientverbindung, um veraltete Verbindungen proaktiv zu entfernen. Um die Verbindungskosten bei Workload-Spitzen zu minimieren, erhöhen Sie den Timeout.
Datenbank der Aurora-DB-Cluster zum Aufrufen über diesen Proxy. 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. Maximale Verbindungen für Verbindungspool Ein Wert zwischen 1 und 100, um den Prozentsatz des Limits max_connectionszu definieren, den RDS-Proxy verwenden kann. Wenn Sie nur einen Proxy mit dieser DB-Instance oder diesem DB-Cluster verwenden möchten, legen Sie diesen Wert auf 100 fest. Weitere Informationen dazu, wie RDS-Proxy diese Einstellung verwendet, finden Sie unter MaxConnectionsPercent.Sitzungs-Pinning-Filter Hindert den RDS-Proxy daran, bestimmte erkannte Sitzungsstatus zu pinnen, 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. Die Aktivierung dieser Option kann dazu führen, dass Sitzungsvariablen aus einer Verbindung andere Verbindungen beeinflussen, was zu Fehlern oder Korrektheitsproblemen führen kann, wenn Abfragen auf Sitzungsvariablen basieren, die außerhalb der aktuellen Transaktion festgelegt 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 von Pinning beim RDS-Proxy.
Zeitüberschreitung für die Verbindung 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 geöffnet hat und alle bereits 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. Diese Einstellung wird normalerweise mit
SET-Anweisungen verwendet, um sicherzustellen, dass jede Verbindung identische Einstellungen aufweist. Stellen Sie sicher, dass die von Ihnen hinzugefügte Abfrage gültig ist. Verwenden Sie Komma als Trennzeichen, um mehrere Variablen in eine einzelneSET-Anweisung einzuschließen. Zum Beispiel:SETvariable1=value1,variable2=value2Verwenden Sie für mehrere Anweisungen Semikola als Trennzeichen.
Wichtig
Da Sie im Rahmen der Zielgruppenkonfiguration auf die Initialisierungsabfrage zugreifen können, ist diese nicht durch Authentifizierungs- oder Verschlüsselungsmethoden geschützt. Jeder, der Zugriff auf Ihre Proxy-Zielgruppenkonfiguration hat, kann die Initialisierungsabfrage anzeigen. Sie sollten dieser Option keine sensiblen Daten wie Passwörter oder langlebige Verschlüsselungscodes hinzufügen.
AWS Identity and Access Management (IAM) -Rolle Eine IAM-Rolle mit der Berechtigung zum Zugriff auf die Secrets von Secrets Manager, die die Anmeldeinformationen für Datenbankbenutzerkonten darstellen, die der Proxy verwenden kann. Alternativ können Sie eine neue IAM-Rolle aus der AWS Management Console verwenden.
Secrets-Manager-Secrets Erstellen oder wählen Sie Secrets Manager Manager-Geheimnisse, die die Anmeldeinformationen für Datenbankbenutzerkonten darstellen, die den Proxy verwenden können.
Wenn das Standardauthentifizierungsschema auf „Kein“ gesetzt ist, ist dieses Feld erforderlich. Wenn das Standardauthentifizierungsschema auf IAM-Authentifizierung festgelegt ist, wird dieses Feld optional und in der Konsole entsprechend gekennzeichnet.
Sie können ein oder mehrere Geheimnisse aus der Dropdownliste auswählen oder über den Link Neues Geheimnis erstellen ein neues Geheimnis erstellen.
Client-Authentifizierungstyp Der Typ von Authentifizierung, den 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. Geben Sie diese Option nur an, wenn Ihre Client-Verbindung Datenbankanmeldeinformationen zur Authentifizierung verwendet. IAM-Authentifizierung Geben Sie für die IAM-Authentifizierung für Verbindungen zu Ihrem Proxy „Erforderlich“ „Zulässig“ oder „Nicht zulässig“ an. 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. Standardauthentifizierungsschema Wählen Sie den Standardauthentifizierungstyp, den der Proxy für Client-Verbindungen zum Proxy und die Verbindungen vom Proxy zur zugrunde liegenden Datenbank verwendet. Ihnen stehen folgende Optionen zur Verfügung:
Keine (Standard) — Der Proxy ruft Datenbankanmeldeinformationen aus Secrets Manager Manager-Secrets ab.
IAM-Authentifizierung — Der Proxy verwendet die IAM-Authentifizierung, um eine Verbindung zur Datenbank herzustellen, wodurch die IAM-Authentifizierung aktiviert end-to-end wird.
Wenn Sie die IAM-Authentifizierung auswählen, wird eine Informationswarnung angezeigt, die Sie daran erinnert, die IAM-Datenbankauthentifizierung für die Datenbanken in der Zielgruppenkonfiguration zu aktivieren.
Anmerkung
Diese Option wird nur für MySQL-, PostgreSQL- und MariaDB-Engine-Familien unterstützt.
Datenbankkonten für die IAM-Authentifizierung Dieses Feld wird nur angezeigt, wenn das Standardauthentifizierungsschema auf IAM-Authentifizierung und die Rolle Identity and Access Management (IAM) auf IAM-Rolle erstellen gesetzt ist.
Benennen Sie die Datenbankbenutzerkonten für den Proxy, der mit der IAM-Authentifizierung verwendet werden soll. Dies ist ein Pflichtfeld. Geben Sie mehrere Konten an, indem Sie:
Geben Sie einen Datenbankbenutzernamen ein, um ihn als Tag hinzuzufügen
Verwenden bestimmter Datenbankbenutzernamen (z. B.
db_user,jane_doe)Verwendung von Platzhaltermustern für mehrere Benutzer (z. B.
db_test_*)
Jedes Konto wird als entfernbares Tag angezeigt, das Sie löschen können, indem Sie auf das X-Symbol klicken. Die Konsole verwendet diese Werte, um die entsprechenden
rds-db:connectBerechtigungen in der IAM-Rollenrichtlinie zu erstellen.Beantragen der Sicherheit der Transportebene Wird TLS/SSL für alle Client-Verbindungen durchgesetzt. Der Proxy verwendet dieselben Verschlüsselungseinstellungen für seine Verbindung zur zugrunde liegenden Datenbank, unabhängig davon, ob die Clientverbindung verschlüsselt oder unverschlüsselt ist.
Netzwerktyp der Zielverbindung Die IP-Version, die der Proxy verwendet, um eine Verbindung zur Zieldatenbank herzustellen. Wählen Sie aus den folgenden Optionen aus:
-
IPv4— Der Proxy stellt über IPv4 Adressen eine Verbindung zur Datenbank her.
-
IPv6— Der Proxy stellt über IPv6 Adressen eine Verbindung zur Datenbank her.
Der Standardwert ist IPv4. Zur Verwendung IPv6 muss Ihre Datenbank den Dual-Stack-Modus unterstützen. Der Dual-Stack-Modus ist für Zielverbindungen nicht verfügbar.
Netzwerktyp des Endpunkts Die IP-Version für den Proxy-Endpunkt, über den Clients eine Verbindung zum Proxy herstellen. Wählen Sie aus den folgenden Optionen aus:
-
IPv4— Der Proxy-Endpunkt verwendet nur IPv4 Adressen.
-
IPv6— Der Proxy-Endpunkt verwendet nur IPv6 Adressen.
-
Dual-Stack — Der Proxy-Endpunkt unterstützt IPv4 sowohl IPv6 Adressen als auch.
Der Standardwert ist IPv4. Um Dual-Stack verwenden zu können IPv6 , müssen Ihre VPC und Subnetze so konfiguriert sein, dass sie den ausgewählten Netzwerktyp unterstützen.
Subnets Dieses Feld ist 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 übrig lassen. Stellen Sie bei Netzwerktypen IPv6 oder Dual-Stack-Endpunkten sicher, dass die ausgewählten Subnetze den ausgewählten Netzwerktyp unterstützen.
VPC Security Group (VPC-Sicherheitsgruppe) Wählen Sie eine vorhandene VPC-Sicherheitsgruppe aus oder erstellen Sie eine neue über die AWS Management Console. Konfigurieren Sie die Eingangsregeln so, dass Ihre Anwendungen auf den Proxy zugreifen können, und die Ausgangsregeln so, dass der Datenverkehr von Ihren Datenbankzielen zugelassen wird.
Anmerkung
Die Sicherheitsgruppe muss Verbindungen vom Proxy mit der Datenbank zulassen. Sie wird für eingehenden Datenverkehr von Ihren Anwendungen zum Proxy und für ausgehenden Datenverkehr vom Proxy zur Datenbank verwendet. Stellen Sie sicher, dass Ressourcen innerhalb dieser Sicherheitsgruppe miteinander kommunizieren können, wenn Sie für die Datenbank und den Proxy dieselbe Sicherheitsgruppe verwenden.
Vermeiden Sie die Verwendung der Standardsicherheitsgruppe für die VPC oder einer mit einem anderen Konto verknüpften Sicherheitsgruppe, wenn Sie eine freigegebene VPC nutzen. 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 über mehrere Availability Zones hinweg bereit, um eine hohe Verfügbarkeit zu gewährleisten. Um die AZ-übergreifende Kommunikation zu ermöglichen, muss die Netzwerk-Zugriffssteuerungsliste (ACL) für Ihr Proxy-Subnetz ausgehenden Datenverkehr auf dem Engine-Port und eingehenden Datenverkehr auf 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-Protokollregel für ausgehenden Datenverkehr hinzufügen, bei der die Quelle auf die VPC-CIDR festgelegt ist.
Erweiterte Protokollierung aktivieren Aktivieren Sie diese Einstellung, um Proxy-Kompatibilitä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 vorhanden sind. Um den Overhead zu minimieren, deaktiviert RDS-Proxy diese Einstellung 24 Stunden nach der Aktivierung automatisch. Verwenden Sie sie 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--vpc-subnet-ids
Bei --engine-family-Wert ist die Groß- und Kleinschreibung zu beachten.
Beispiel
Für Linux, macOS oder Unix:
aws rds create-db-proxy \ --db-proxy-nameproxy_name\ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } \ --role-arniam_role\ --vpc-subnet-idsspace_separated_list\ [--default-auth-scheme { NONE | IAM_AUTH }] \ [--authProxyAuthenticationConfig_JSON_string] \ [--vpc-security-group-idsspace_separated_list] \ [--require-tls | --no-require-tls] \ [--idle-client-timeoutvalue] \ [--debug-logging | --no-debug-logging] \ [--endpoint-network-type { IPV4 | IPV6 | DUAL }] \ [--target-connection-network-type { IPV4 | IPV6 }] \ [--tagscomma_separated_list]
Für Windows:
aws rds create-db-proxy ^ --db-proxy-nameproxy_name^ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } ^ --role-arniam_role^ --vpc-subnet-idsspace_separated_list^ [--default-auth-scheme { NONE | IAM_AUTH }] ^ [--authProxyAuthenticationConfig_JSON_string] ^ [--vpc-security-group-idsspace_separated_list] ^ [--require-tls | --no-require-tls] ^ [--idle-client-timeoutvalue] ^ [--debug-logging | --no-debug-logging] ^ [--endpoint-network-type { IPV4 | IPV6 | DUAL }] ^ [--target-connection-network-type { IPV4 | IPV6 }] ^ [--tagscomma_separated_list]
Nachstehend finden Sie ein Beispiel für den JSON-Wert der --auth-Option. Dieses Beispiel wendet auf jedes Secret einen anderen Client-Authentifizierungstyp an.
[ { "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" } ]
Der --endpoint-network-type-Parameter gibt die IP-Version für den Proxy-Endpunkt an, über den Clients eine Verbindung zum Proxy herstellen. Folgende sind gültige Werte:
-
IPV4— Der Proxy-Endpunkt verwendet nur IPv4 Adressen (Standard). -
IPV6— Der Proxy-Endpunkt verwendet nur IPv6 Adressen. -
DUAL— Der Proxy-Endpunkt unterstützt IPv4 sowohl IPv6 Adressen als auch.
Der Parameter --target-connection-network-type gibt die IP-Version an, die der Proxy verwendet, um eine Verbindung zur Zieldatenbank herzustellen. Folgende sind gültige Werte:
-
IPV4— Der Proxy stellt über IPv4 Adressen eine Verbindung zur Datenbank her (Standard). -
IPV6— Der Proxy stellt über IPv6 Adressen eine Verbindung zur Datenbank her.
Um Dual-Stack-Endpunkt-Netzwerktypen zu verwenden IPv6 , müssen Ihre VPC und Subnetze so konfiguriert sein, dass sie den ausgewählten Netzwerktyp unterstützen. Um den Netzwerktyp IPv6 Zielverbindung zu verwenden, muss Ihre Datenbank den Dual-Stack-Modus unterstützen.
Tipp
Wenn Sie noch nicht wissen, welches Subnetz für den --vpc-subnet-ids Parameter verwendet werden IDs soll, finden Sie unter Einrichten der Netzwerkvoraussetzungen für RDS-Proxy 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-namevalue[--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.
Wichtig
Wenn Sie die IAM-Authentifizierung für das Standardauthentifizierungsschema auswählen:
-
Sie müssen die IAM-Datenbankauthentifizierung auf Ihren Zieldatenbank-Instances oder Clustern aktivieren, bevor der Proxy erfolgreich eine Verbindung herstellen kann.
-
Wenn Sie IAM-Rolle erstellen wählen, ist das Feld Datenbankkonten für die IAM-Authentifizierung erforderlich.
-
Wenn Sie eine vorhandene IAM-Rolle auswählen, aktualisiert die Konsole die Rolle nicht automatisch mit Datenbankverbindungsberechtigungen. Überprüfen Sie, ob die Rolle über die erforderlichen
rds-db:connectBerechtigungen verfügt.