Amazon RDS Proxy - Amazon Relational Database Service

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

Mithilfe von Amazon RDS Proxy können Sie es Ihren Anwendungen ermöglichen, Datenbankverbindungen zu bündeln und gemeinsam zu nutzen, um ihre Skalierbarkeit zu verbessern. RDS Proxy macht Anwendungen widerstandsfähiger gegenüber Datenbankausfällen, indem es automatisch eine Verbindung zu einer Standby-DB-Instance herstellt und gleichzeitig die Anwendungsverbindungen beibehält. Mithilfe von RDS Proxy können Sie auch die Authentifizierung AWS Identity and Access Management (IAM) für Datenbanken erzwingen und Anmeldeinformationen sicher in speichern AWS Secrets Manager.

Mit RDS Proxy können Sie unvorhersehbare Anstiege im Datenbankverkehr bewältigen. Andernfalls können diese Überlastungen zu Problemen führen, da Verbindungen zu viele Abonnenten haben oder schnell neue Verbindungen hergestellt werden. RDS Der Proxy richtet einen Datenbankverbindungspool ein und verwendet Verbindungen in diesem Pool wieder. Dieser Ansatz vermeidet den Speicher und den CPU Mehraufwand, der entsteht, wenn jedes Mal eine neue Datenbankverbindung geöffnet wird. Um eine Datenbank vor Überbelegung zu schützen, können Sie die Anzahl der erstellten Datenbankverbindungen steuern.

RDSDer Proxy stellt Anwendungsverbindungen, die nicht sofort vom Verbindungspool aus bedient werden können, in die Warteschlange oder drosselt sie. Obwohl Latenzen zunehmen können, kann Ihre Anwendung weiter skalieren, ohne dass die Datenbank abrupt ausfällt oder überfordert wird. Wenn Verbindungsanfragen die von Ihnen angegebenen Grenzwerte überschreiten, lehnt der RDS Proxy Anwendungsverbindungen ab (d. h. er verliert Last). Gleichzeitig wird eine vorhersehbare Leistung für die Last aufrechterhalten, die mit der verfügbaren RDS Kapazität bedient werden kann.

Sie können den Aufwand für die Verarbeitung von Anmeldeinformationen reduzieren und für jede neue Verbindung eine sichere Verbindung einrichten. RDS Ein Proxy kann einen Teil dieser Arbeit im Namen der Datenbank erledigen.

RDSDer Proxy ist vollständig kompatibel mit den Engine-Versionen, die er unterstützt. Sie können den RDS Proxy für die meisten Anwendungen ohne Codeänderungen aktivieren.

Verfügbarkeit von Regionen und Versionen

Die Verfügbarkeit von Funktionen und der Support variieren zwischen bestimmten Versionen der einzelnen Datenbank-Engines und in allen AWS-Regionen. Weitere Informationen zur Version und regionalen Verfügbarkeit von Amazon RDS with RDS Proxy finden Sie unterUnterstützte Regionen und DB-Engines für Amazon RDS Proxy.

Kontingente und Einschränkungen für RDS Proxy

Die folgenden Kontingente und 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 Servicekontingente in der an. AWS Management Console Wählen Sie auf der Seite Service Quotas Amazon Relational Database Service (AmazonRDS) aus und suchen Sie nach Proxys, um eine Kontingenterhöhung zu beantragen. AWS kann Ihr Kontingent automatisch erhöhen oder Ihre Anfrage noch nicht geprüft haben, um. Support

  • Jeder Proxy kann bis zu 200 zugehörige Secrets Manager-Secrets haben. Somit kann jeder Proxy jederzeit eine Verbindung mit bis zu 200 verschiedenen Benutzerkonten herstellen.

  • Jeder Proxy hat einen Standardendpunkt. Sie können auch bis zu 20 Proxy-Endpunkte für jeden Proxy hinzufügen. Sie können diese Endpoints erstellen, anzeigen, ändern und löschen.

  • Bei RDS DB-Instances in Replikationskonfigurationen können Sie einen Proxy nur der Writer-DB-Instance zuordnen, keiner Read Replica.

  • Ihr RDS Proxy muss sich in derselben virtuellen privaten Cloud (VPC) wie die Datenbank befinden. Obwohl die Datenbank öffentlich zugänglich sein kann, kann der Proxy dies nicht sein. Wenn Sie beispielsweise Ihre Datenbank auf einem lokalen Host prototypisieren, können Sie keine Verbindung zu Ihrem Proxy herstellen, es sei denn, Sie haben die erforderlichen Netzwerkanforderungen für die Verbindung zum Proxy eingerichtet. Das liegt daran, dass sich Ihr lokaler Host außerhalb des Proxys VPC befindet.

  • Sie können RDS Proxy nicht mit einem verwendenVPC, dessen Tenancy auf eingestellt ist. dedicated

  • Wenn Sie RDS Proxy mit einem verwenden, für den die IAM Authentifizierung aktiviert ist, überprüfen Sie die Benutzerauthentifizierung. Benutzer, die eine Verbindung über einen Proxy herstellen, müssen sich mit ihren Anmeldedaten authentifizieren. Einzelheiten zu Secrets Manager und IAM Unterstützung in RDS Proxy finden Sie unter Datenbankanmeldedaten AWS Secrets Manager für RDS Proxy einrichten undRichtlinien AWS Identity and Access Management (IAM) für RDS Proxy einrichten.

  • Sie können RDS Proxy nicht mit Benutzerdefiniert verwenden, DNS wenn Sie die SSL Hostnamenvalidierung verwenden.

  • Jeder Proxy kann einer einzelnen Ziel-DB-Instance zugeordnet werden. Sie können jedoch mehrere Proxys derselben DB-Instance 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 keinen RDS Proxy in der use1-az3 Availability Zone. Die Region USA West (Nordkalifornien) unterstützt keinen RDS Proxy in der usw1-az2 Availability Zone. 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 zu globalen Bedingungskontextschlüsseln finden Sie unter Kontextschlüssel für AWS globale Bedingungen im IAMBenutzerhandbuch.

  • Sie können RDS Proxy nicht mit RDS Custom for SQL Server verwenden.

  • Um Änderungen an Datenbankparametergruppen an Ihrem Proxy widerzuspiegeln, ist ein Instance-Neustart erforderlich, auch wenn Sie sich dafür entscheiden, Ihre Änderungen sofort zu übernehmen. Für Parameter auf Clusterebene ist ein clusterweiter Neustart erforderlich.

  • Ihr Proxy erstellt den rdsproxyadmin DB-Benutzer automatisch, wenn Sie ein Proxyziel registrieren. Das Löschen oder Ändern des rdsproxyadmin Benutzers oder seiner Berechtigungen kann sich auf die Verfügbarkeit des Proxys für Ihre Anwendung auswirken.

Weitere Informationen zu den Einschränkungen für jede DB-Engine finden Sie in den folgenden Abschnitten:

Zusätzliche Einschränkungen für RDS für MariaDB

Die folgenden zusätzlichen Einschränkungen gelten für RDS Proxy with RDS für MariaDB-Datenbanken:

  • Derzeit führen alle Proxys Listening auf Port 3306 für MariaDB 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 MariaDB-Datenbanken in Amazon-Instances verwenden. EC2

  • Sie können RDS Proxy nicht mit einer RDS for MariaDB-DB-Instance verwenden, bei der der read_only Parameter in der DB-Parametergruppe auf gesetzt ist. 1

  • RDSDer Proxy unterstützt den komprimierten MariaDB-Modus nicht. Es unterstützt z. B. nicht die Komprimierung, die von den Optionen --compress oder -C des mysql-Befehls verwendet wird.

  • Einige SQL Anweisungen und Funktionen können den Verbindungsstatus ändern, ohne dass es zu einem Pinning kommt. Informationen zum aktuellen Fixierungsverhalten finden Sie unter Vermeiden Sie das Anheften eines RDS-Proxys.

  • RDSProxy unterstützt das auth_ed25519 MariaDB-Plugin nicht.

  • RDSProxy unterstützt Transport Layer Security (TLS) Version 1.3 für MariaDB-Datenbanken nicht.

  • Datenbankverbindungen, die einen GET DIAGNOSTIC Befehl verarbeiten, geben möglicherweise ungenaue Informationen zurück, wenn RDS Proxy dieselbe Datenbankverbindung wiederverwendet, um eine weitere Abfrage auszuführen. Dies kann passieren, wenn RDS Proxy Datenbankverbindungen multiplext. Weitere Informationen finden Sie unter Überblick über die RDS Proxy-Konzepte.

  • RDSProxy unterstützt derzeit die caching_sha2_password Option für ClientPasswordAuthType für MariaDB nicht.

Wichtig

Legen Sie in der Initialisierungsabfrage bei Proxys, die mit MariaDB-Datenbanken verknüpft sind, den Konfigurationsparameter sql_auto_is_null nicht auf true oder einen Wert ungleich Null fest. Dies kann zu einem falschen Anwendungsverhalten führen.

Zusätzliche Einschränkungen RDS für Microsoft SQL Server

Die folgenden zusätzlichen Einschränkungen gelten für RDS Proxy with RDS für Microsoft SQL Server-Datenbanken:

  • Die Anzahl der Secrets von Secrets Manager, die Sie für einen Proxy erstellen müssen, hängt von der Sortierung ab, die Ihre DB-Instance verwendet. Angenommen, Ihre DB-Instance verwendet eine Sortierung, die die Groß-/Kleinschreibung berücksichtigt. Wenn Ihre Anwendung sowohl „Admin“ als auch „admin“ akzeptiert, benötigt Ihr Proxy zwei separate Secrets. Weitere Informationen zur Sortierung in SQL Server finden Sie in der Microsoft SQL Server-Dokumentation.

  • RDSDer Proxy unterstützt keine Verbindungen, die Active Directory verwenden.

  • Sie können die IAM Authentifizierung nicht mit Clients verwenden, die keine Tokeneigenschaften unterstützen. Weitere Informationen finden Sie unter Überlegungen zum Herstellen einer Verbindung mit einem Proxy mit Microsoft SQL Server.

  • Die Ergebnisse von @@IDENTITY, @@ROWCOUNT und SCOPE_IDENTITY sind nicht immer genau. Rufen Sie zur Umgehung dieses Problems ihre Werte in derselben Sitzungsanweisung ab, um sicherzustellen, dass sie die richtigen Informationen zurückgeben.

  • Wenn die Verbindung mehrere aktive Ergebnismengen (MARS) verwendet, führt RDS Proxy die Initialisierungsabfragen nicht aus. Informationen dazu MARS finden Sie in der Microsoft SQL Server-Dokumentation.

  • Derzeit unterstützt RDS RDS Proxy keine SQL Server-DB-Instances, die auf der Hauptversion SQLServer 2022 ausgeführt werden.

  • RDSProxy unterstützt RDS keine SQL Server-DB-Instances, die auf der Hauptversion SQLServer 2014 ausgeführt werden.

  • RDSProxy unterstützt keine Client-Anwendungen, die nicht mehrere Antwortnachrichten in einem TLS Datensatz verarbeiten können.

Zusätzliche Einschränkungen für RDS for My SQL

Die folgenden zusätzlichen Einschränkungen gelten für RDS Proxy with RDS for My SQL databases:

  • RDSDie Proxyunterstützung für die caching_sha2_password Authentifizierung erfordert eine sichere (TLS) Verbindung.

  • RDSBei der Proxyunterstützung für caching_sha2_password gibt es bekanntermaßen Kompatibilitätsprobleme mit bestimmten Go-SQL-Treiberversionen.

  • Bei Verwendung des My SQL 8.4 C-Treibers mysql_stmt_bind_named_param API können fehlerhafte Pakete erstellt werden, wenn die Anzahl der Parameter die Anzahl der Platzhalter in vorbereiteten Anweisungen übersteigt. Dies führt zu falschen Antworten. Weitere Informationen finden Sie unter Mein SQL Fehlerbericht.

  • Derzeit lauschen alle Proxys auf Port 3306 für My. SQL 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 SQL My-Datenbanken in Instanzen verwenden. EC2

  • Sie können RDS Proxy nicht mit einer RDS for My SQL DB-Instance verwenden, für die der read_only Parameter in der DB-Parametergruppe auf 1 gesetzt ist.

  • RDSDer Proxy unterstützt den Modus „Mein SQL komprimierter Modus“ nicht. Es unterstützt z. B. nicht die Komprimierung, die von den Optionen --compress oder -C des mysql-Befehls verwendet wird.

  • Datenbankverbindungen, die einen GET DIAGNOSTIC Befehl verarbeiten, geben möglicherweise falsche Informationen zurück, wenn der RDS Proxy dieselbe Datenbankverbindung wiederverwendet, um eine weitere Abfrage auszuführen. Dies kann passieren, wenn RDS Proxy Datenbankverbindungen multiplext.

  • Einige SQL Anweisungen und Funktionen SET LOCAL können z. B. den Verbindungsstatus ändern, ohne dass es zu einer Fixierung kommt. Informationen zum aktuellen Fixierungsverhalten finden Sie unter Vermeiden Sie das Anheften eines RDS-Proxys.

  • Die Verwendung der ROW_COUNT() Funktion in einer Abfrage mit mehreren Anweisungen wird nicht unterstützt.

  • RDSDer Proxy unterstützt keine Client-Anwendungen, die nicht mehrere Antwortnachrichten in einem TLS Datensatz verarbeiten können.

Wichtig

Setzen Sie bei Proxys, die mit Meine SQL Datenbanken verknüpft sind, den Konfigurationsparameter in der Initialisierungsabfrage nicht sql_auto_is_null auf true oder einen Wert ungleich Null. Dies kann zu einem falschen Anwendungsverhalten führen.

Zusätzliche Einschränkungen für Postgre RDS SQL

Die folgenden zusätzlichen Einschränkungen gelten für RDS Proxy with RDS für Postgre-Datenbanken: SQL

  • RDSDer Proxy unterstützt keine Sitzungs-Pinning-Filter für Postgre. SQL

  • Derzeit lauschen alle Proxys auf Port 5432 für Postgre. SQL

  • Für Postgre SQL unterstützt RDS Proxy derzeit nicht das Abbrechen einer Anfrage von einem Client durch Ausgabe einer. 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 SQL Postgre-Funktion lastval sind nicht immer korrekt. Um das Problem zu umgehen, verwenden Sie die INSERTAnweisung mit der Klausel. RETURNING

  • RDSDer Proxy unterstützt derzeit den Streaming-Replikationsmodus nicht.

  • RDSBei Postgre SQL 16 wirken sich Änderungen am scram_iterations Wert ausschließlich auf den Authentifizierungsprozess zwischen dem Proxy und der Datenbank aus. Insbesondere wenn Sie dies konfigurieren ClientPasswordAuthTypescram-sha-256, haben alle am scram_iterations Wert vorgenommenen Anpassungen keinen Einfluss auf die client-to-proxy Passwortauthentifizierung. Stattdessen ist der Iterationswert für die client-to-proxy Kennwortauthentifizierung auf 4096 festgelegt.

  • Die default Datenbank muss existieren.

  • Wenn Sie die Benutzerrolle verwenden ALTER ROLE oder ändern SET ROLE möchten, verwenden nachfolgende Verbindungen als dieser Benutzer zum Proxy diese Rolleneinstellung möglicherweise nicht, wenn bei diesen Verbindungen gepinnt wird. Um dies zu verhindern, verwenden Sie bei der Verwendung eines Proxys SET ROLE in der Initialisierungsabfrage des Proxys. Weitere Informationen finden Sie unter Initialisierungsabfrage in. Einen RDS-Proxy erstellen

Wichtig

Wenn Sie bei vorhandenen Proxys mit SQL Postgre-Datenbanken die Datenbankauthentifizierung so ändern, dass sie SCRAM nur 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 die MD5-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.