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.
Amazon-RDS-Proxy für Aurora
Durch die Verwendung von Amazon-RDS-Proxy können Sie Ihren Anwendungen erlauben, Datenbankverbindungen zu bündeln und gemeinsam zu nutzen, um ihre Skalierbarkeit zu verbessern. RDS-Proxy macht Anwendungen widerstandsfähiger gegenüber Datenbankfehlern, indem er automatisch eine Verbindung zu einer Standby-DB-Instance herstellt, während Anwendungsverbindungen erhalten bleiben. Mithilfe von RDS Proxy können Sie die AWS Identity and Access Management (IAM-) Authentifizierung für Clients erzwingen, die eine Verbindung zum Proxy herstellen, und der Proxy kann mithilfe der IAM-Datenbankauthentifizierung oder der in gespeicherten Anmeldeinformationen eine Verbindung zu Datenbanken herstellen. AWS Secrets Manager
Mit RDS-Proxy können Sie unvorhersehbare Spitzen des Datenbankverkehrs bewältigen. Andernfalls könnten diese Spitzen Probleme verursachen, weil Verbindungen überbelegt sind oder schnell neue Verbindungen erstellt werden. RDS-Proxy richtet einen Datenbankverbindungspool ein und verwendet Verbindungen in diesem Pool wieder. Dieser Ansatz vermeidet den Speicher- und CPU-Overhead, der jedes Mal beim Öffnen einer neuen Datenbankverbindung erforderlich wäre. Um eine Datenbank vor Überbuchung zu schützen, können Sie die Anzahl der erstellten Datenbankverbindungen steuern.
RDS-Proxy stellt Anwendungsverbindungen in Warteschlangen oder drosselt sie, wenn sie nicht sofort vom Verbindungspool bedient werden können. Obwohl Latenzen zunehmen können, kann Ihre Anwendung weiter skalieren, ohne dass die Datenbank abrupt ausfällt oder überfordert wird. Wenn Verbindungsanforderungen die von Ihnen angegebenen Grenzwerte überschreiten, lehnt RDS-Proxy Anwendungsverbindungen ab (d. h. die Last wird abgeworfen). Gleichzeitig wird die vorhersehbare Leistung für die Last beibehalten, die mit verfügbarer Kapazität bedient werden kann.
Sie können den Overhead für die Verarbeitung von Anmeldeinformationen reduzieren und für jede neue Verbindung eine sichere Verbindung herstellen. Einige dieser Arbeiten kann RDS-Proxy im Auftrag der Datenbank verarbeiten.
RDS-Proxy ist mit den Engine-Versionen, die es unterstützt, vollständig kompatibel. Sie können RDS-Proxy für die meisten Anwendungen ohne Codeänderungen aktivieren. Eine Liste der unterstützten Engine-Versionen finden Sie unter Unterstützte Regionen und Aurora-DB-Engines für Amazon-RDS-Proxy.
Themen
Verfügbarkeit von Regionen und Versionen
Hinweise zur Versionsunterstützung der Datenbank-Engine und zur Verfügbarkeit von RDS Proxy in einem bestimmten AWS-Region Fall finden Sie unterUnterstützte Regionen und Aurora-DB-Engines für Amazon-RDS-Proxy.
Kontingente und Einschränkungen für RDS-Proxy
Die folgenden Einschränkungen gelten für RDS-Proxy:
-
Jede AWS-Konto ID ist auf 20 Proxys begrenzt. Wenn für Ihre Anwendung mehr Proxys erforderlich sind, fordern Sie eine Erhöhung über die Seite Service Quotas in der AWS-Managementkonsole an. Wählen Sie auf der Seite Service Quotas Amazon Relational Database Service (Amazon RDS) aus und suchen Sie nach Proxys, um eine Kontingenterhöhung anzufordern. AWS kann Ihr Kontingent oder die ausstehende Überprüfung Ihrer Anforderung automatisch um Support erhöhen.
-
Jedem Proxy können bis zu 200 Secrets Manager Manager-Geheimnisse zugeordnet sein, wodurch Verbindungen bei der Verwendung von Geheimnissen auf bis zu 200 verschiedene Benutzerkonten beschränkt werden.
-
Jeder Proxy hat einen Standardendpunkt. Sie können auch bis zu 20 Proxy-Endpunkte für jeden Proxy hinzufügen. Sie können diese Endpunkte erstellen, anzeigen, ändern und löschen.
-
In einem Aurora-Cluster, werden alle Verbindungen, die den Standard-Proxy-Endpunkt verwenden, von der Aurora-Writer-Instance verarbeitet. Um einen Lastenausgleich für leseintensive Workloads durchzuführen, können Sie einen schreibgeschützten Endpunkt für einen Proxy erstellen. Dieser Endpunkt übergibt Verbindungen an den Reader-Endpunkt des Clusters. Auf diese Weise können Ihre Proxy-Verbindungen die Vorteile von Aurora-Leseskalierbarkeit nutzen. Weitere Informationen finden Sie unter Überblick über Proxy-Endpunkte.
-
Sie können RDS-Proxy mit Clustern von Aurora Serverless v2 verwenden, jedoch nicht mit Clustern von Aurora Serverless v1.
-
Ihr RDS-Proxy muss sich in derselben VPC wie die Datenbank befinden. Obwohl die Datenbank öffentlich zugänglich sein kann, kann der Proxy dies nicht sein. Wenn Sie beispielsweise Prototypen für Ihre Datenbank auf einem lokalen Host erstellen, können Sie keine Verbindung zu Ihrem Proxy herstellen, es sei denn, Sie richten die erforderlichen Netzwerkanforderungen ein, um eine Verbindung zum Proxy zuzulassen. Dies liegt daran, dass sich Ihr lokaler Host außerhalb der VPC des Proxys befindet.
Anmerkung
Für Aurora-DB-Cluster können Sie den VPC-übergreifenden Zugriff aktivieren. Erstellen Sie dazu einen zusätzlichen Endpunkt für einen Proxy und geben Sie eine andere VPC, Subnetze und Sicherheitsgruppen mit diesem Endpunkt an. Weitere Informationen finden Sie unter Zugriff auf Aurora über VPCs.
-
Sie können RDS-Proxy nicht mit einer VPC verwenden, für deren Tenancy
dedicatedfestgelegt wurde. -
Für IPv6 Endpunkt-Netzwerktypen konfigurieren Sie Ihre VPC und Subnetze so, dass sie nur unterstützt werden. IPv6 Konfigurieren Sie Ihre VPC IPv4 und Subnetze sowohl für Netzwerktypen als auch für IPv6 Zielverbindungen so, dass sie den Dual-Stack-Modus unterstützen.
-
Wenn Sie den RDS-Proxy mit einem Aurora-DB-Cluster der verwenden, für den die IAM-Authentifizierung aktiviert ist, kann der Proxy entweder mithilfe der IAM-Authentifizierung oder der in Secrets Manager gespeicherten Anmeldeinformationen eine Verbindung zur Datenbank herstellen. Clients, die eine Verbindung zum Proxy herstellen, müssen sich mit IAM-Anmeldeinformationen authentifizieren. Detaillierte Konfigurationsanweisungen finden Sie unter und Datenbankanmeldedaten für RDS Proxy einrichten Konfigurieren der IAM-Authentifizierung für RDS-Proxy
-
Sie können RDS-Proxy nicht mit benutzerdefiniertem DNS verwenden, wenn Sie die SSL-Hostnamenvalidierung nutzen.
-
Jeder Proxy kann einem einzelnen Ziel-DB-Cluster zugeordnet werden. Sie können jedoch mehrere Proxys demselben DB-Cluster zuordnen.
Jede Anweisung mit einer Textgröße über 16 KB bewirkt, dass der Proxy die Sitzung in der aktuellen Verbindung fixiert.
-
In bestimmten Regionen gelten Einschränkungen für Availability-Zones (AZ), die Sie bei der Erstellung des Proxys berücksichtigen müssen. Die Region USA Ost (Nord-Virginia) unterstützt RDS-Proxy nicht in der Availability Zone
use1-az3. Die Region USA West (Nordkalifornien) unterstützt RDS-Proxy nicht in der Availability Zoneusw1-az2. Achten Sie beim Auswählen von Subnetzen während der Proxy-Erstellung darauf, dass Sie keine Subnetze in den oben genannten Availability Zones auswählen. -
Derzeit unterstützt RDS-Proxy keine globalen Bedingungskontextschlüssel.
Weitere Informationen über globale Bedingungskontextschlüssel finden Sie unter Globale AWS -Bedingungskontextschlüssel im IAM-Benutzerhandbuch.
-
Sie können RDS-Proxy nicht mit RDS Custom für SQL Server verwenden.
-
Um Änderungen von Datenbankparametergruppen auf Ihrem Proxy widerzuspiegeln, ist ein Instance-Neustart erforderlich, auch wenn Sie sich dafür entschieden haben, Ihre Änderungen sofort zu übernehmen. Für Parameter auf Cluster-Ebene ist ein clusterweiter Neustart erforderlich.
-
Ihr Proxy erstellt den DB-Benutzer
rdsproxyadminautomatisch, wenn Sie ein Proxyziel registrieren. Dies ist ein geschützter Benutzer, der für die Proxyfunktionalität unerlässlich ist. Sie sollten jegliche Manipulation des Benutzersrdsproxyadminvermeiden. Das Löschen oder Ändern des Benutzersrdsproxyadminoder seiner Berechtigungen kann zu einer vollständigen Nichtverfügbarkeit des Proxys für Ihre Anwendung führen.
Weitere Informationen zu den Einschränkungen für jede DB-Engine finden Sie in den folgenden Abschnitten:
Weitere Einschränkungen für Aurora MySQL
Die folgenden zusätzlichen Einschränkungen gelten für RDS-Proxy mit Datenbanken von RDS für MySQL:
-
Die RDS-Proxyunterstützung für die Authentifizierung
caching_sha2_passworderfordert eine sichere Verbindung (TLS). -
Es ist bekannt, dass bei der RDS-Proxyunterstützung für
caching_sha2_passwordKompatibilitätsprobleme mit bestimmten Go-SQL-Treiberversionen vorhanden sind. -
Bei Verwendung des MySQL 8.4 C-Treibers kann die API
mysql_stmt_bind_named_paramfalsch formatierte Pakete bilden, wenn die Anzahl der Parameter die Anzahl der Platzhalter in vorbereiteten Anweisungen übersteigt. Dies führt zu falschen Antworten. Weitere Informationen finden Sie unter MySQL bug report. -
Derzeit führen alle Proxys Listening auf Port 3306 für MySQL durch. Die Proxys stellen weiterhin eine Verbindung mit Ihrer Datenbank her, indem Sie den Port verwenden, den Sie in den Datenbankeinstellungen angegeben haben.
-
Sie können RDS Proxy nicht mit selbstverwalteten MySQL-Datenbanken in EC2 Instanzen verwenden.
-
Sie können RDS-Proxy nicht mit einer RDS-for-MySQL-DB-Instance verwenden, bei welcher der Parameter
read_onlyin der DB-Parametergruppe auf1gesetzt wurde. -
RDS-Proxy unterstützt den komprimierten MySQL-Modus nicht. Es unterstützt z. B. nicht die Komprimierung, die von den Optionen
--compressoder-Cdesmysql-Befehls verwendet wird. -
Datenbankverbindungen, die einen Befehl
GET DIAGNOSTICverarbeiten, geben möglicherweise ungenaue Informationen zurück, wenn der RDS-Proxy dieselbe Datenbankverbindung für eine weitere Abfrage wiederverwendet. Dies kann passieren, wenn der RDS-Proxy Datenbankverbindungen multiplexiert. -
Einige SQL-Anweisungen und -Funktionen wie
SET LOCALkönnen den Verbindungsstatus ändern, ohne dass Pinning verursacht wird. Informationen zum aktuellen Fixierungsverhalten finden Sie unter Vermeiden von Pinning beim RDS-Proxy. -
Die Verwendung der Funktion
ROW_COUNT()in einer Abfrage mit mehreren Anweisungen wird nicht unterstützt. -
RDS-Proxy unterstützt keine Client-Anwendungen, die nicht mehrere Antwortnachrichten in einem TLS-Eintrag verarbeiten können.
-
RDS-Proxy unterstützt die doppelten MySQL-Passwörter nicht.
-
RDS-Proxy funktioniert möglicherweise nicht wie erwartet, wenn Sie den Parameter
init_connectin Ihrer RDS-DB-Parametergruppe so konfigurieren, dass Sitzungsstatusvariablen festgelegt werden. Legen Sie stattdessen die Initialisierungsabfrage für Ihren Proxy so fest, dass Sitzungsinitialisierungsanweisungen ausgeführt werden, wenn Sie den Proxy für die Verbindung mit Ihrer Datenbank verwenden.
Wichtig
Setzen Sie in der Initialisierungsabfrage bei Proxys, die mit MySQL-Datenbanken verknüpft sind, den Konfigurationsparameter sql_auto_is_null nicht auf true oder einen Wert ungleich Null. Dies kann zu einem falschen Anwendungsverhalten führen.
Weitere Einschränkungen für Aurora PostgreSQL
Die folgenden zusätzlichen Einschränkungen gelten für RDS-Proxy mit Datenbanken von Aurora PostgreSQL:
RDS-Proxy unterstützt keine Sitzungs-Pinning-Filter für PostgreSQL.
-
Derzeit führen alle Proxys Listening auf Port 5432 für PostgreSQL durch.
-
Für PostgreSQL unterstützt RDS-Proxy derzeit nicht das Abbrechen einer Abfrage von einem Client durch Ausgeben von
CancelRequest. Dies ist beispielsweise der Fall, wenn Sie eine lange andauernde Abfrage in einer interaktiven psql-Sitzung mithilfe von Strg+C abbrechen. -
Die Ergebnisse der PostgreSQL-Funktion lastval
sind nicht immer genau. Verwenden Sie zur Umgehung die INSERT -Anweisung mit der Klausel RETURNING. RDS-Proxy unterstützt derzeit den Streaming-Replikationsmodus nicht.
-
Die
postgresStandarddatenbank muss auf der RDS-Instanz für PostgreSQL vorhanden sein, damit der RDS-Proxy funktioniert. Löschen Sie diese Datenbank nicht, auch wenn Ihre Anwendung unterschiedliche Datenbanken verwendet. -
Wenn Sie
ALTER ROLEverwenden, um die Benutzerrolle mitSET ROLEzu ändern, werden nachfolgende Verbindungen als dieser Benutzer zum Proxy diese Rolleneinstellung möglicherweise nicht, wenn bei diesen Verbindungen Pinning auftritt. Nutzen Sie bei der Verwendung eines ProxysSET ROLEin der Initialisierungsabfrage des Proxys, um dies zu vermeiden. Weitere Informationen finden Sie in der Initialisierungsabfrage unter Erstellen eines Proxys für Amazon Aurora.
Wichtig
Wenn Sie bei vorhandenen Proxys mit PostgreSQL-Datenbanken die Datenbankauthentifizierung so ändern, dass nur SCRAM verwendet wird, ist der Proxy für bis zu 60 Sekunden nicht verfügbar. Um das Problem zu vermeiden, führen Sie einen der folgenden Schritte aus:
Stellen Sie sicher, dass die Datenbank sowohl die
SCRAM- als auch dieMD5-Authentifizierung zulässt.Wenn Sie nur die
SCRAM-Authentifizierung verwenden möchten, erstellen Sie einen neuen Proxy, migrieren Sie Ihren Anwendungsdatenverkehr auf den neuen Proxy und löschen Sie dann den zuvor mit der Datenbank verknüpften Proxy.