

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
<a name="rds-proxy"></a>

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

![\[Ein Überblick darüber, wie Anwendungen eine Verbindung zum RDS Proxy herstellen\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/images/Proxy-Overview.png)


 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. 

![\[Eine detaillierte Ansicht darüber, wie Anwendungen eine Verbindung zum RDS-Proxy herstellen und welche Verbindungstypen erforderlich sind.\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/images/Proxy-detail.png)


 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. 

**Topics**
+ [Verfügbarkeit von Regionen und Versionen](#rds-proxy.RegionVersionAvailability)
+ [Kontingente und Einschränkungen für RDS-Proxy](#rds-proxy.limitations)
+ [Planen des Verwendungsortes von RDS-Proxy](rds-proxy-planning.md)
+ [Konzepte und Terminologie zu RDS-Proxy](rds-proxy.howitworks.md)
+ [Erste Schritte mit RDS-Proxy](rds-proxy-setup.md)
+ [Verwalten eines RDS-Proxy](rds-proxy-managing.md)
+ [Arbeiten mit Amazon-RDS-Proxy-Endpunkten](rds-proxy-endpoints.md)
+ [Überwachen von RDS-Proxy-Metriken mit Amazon CloudWatch](rds-proxy.monitoring.md)
+ [Arbeiten mit RDS-Proxy-Ereignissen](rds-proxy.events.md)
+ [Fehlersuche für RDS-Proxy](rds-proxy.troubleshooting.md)
+ [Verwenden von RDS-Proxy mit AWS CloudFormation](rds-proxy-cfn.md)

## Verfügbarkeit von Regionen und Versionen
<a name="rds-proxy.RegionVersionAvailability"></a>

Die Verfügbarkeit von Funktionen und der Support variieren zwischen bestimmten Versionen der einzelnen Datenbank-Engines und in allen AWS-Regionen. Weitere Informationen über die Verfügbarkeit von Versionen und Regionen von Amazon RDS mit RDS-Proxy finden Sie unter [Unterstützte Regionen und DB-Engines für Amazon-RDS-Proxy](Concepts.RDS_Fea_Regions_DB-eng.Feature.RDSProxy.md).

## Kontingente und Einschränkungen für RDS-Proxy
<a name="rds-proxy.limitations"></a>

 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, der nur für zwei Availability Zones bereitgestellt wird, die aus den konfigurierten Subnetzen des Proxys ausgewählt wurden. Wenn Subnetze in mehr als zwei konfiguriert AZs sind, werden zwei beliebige ausgewählt. 
+  Sie können bis zu 20 zusätzliche Proxy-Endpunkte für jeden Proxy hinzufügen. Diese zusätzlichen Endpunkte werden in allen Availability Zones bereitgestellt, die bei ihrer Erstellung angegeben wurden. Sie können diese Endpunkte erstellen, anzeigen, ändern und löschen. 
+ Für RDS DB-Instances in Replikationskonfigurationen können Sie einen Proxy nur der Schreiber-DB-Instance und nicht einer Read Replica zuordnen.
+ 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. 
+  Sie können RDS-Proxy nicht mit einer VPC verwenden, für deren Tenancy `dedicated` festgelegt wurde. 
+  Sie können RDS Proxy nicht in einer VPC verwenden, für die Verschlüsselungskontrollen `Enforce Mode` aktiviert sind. 
+ 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 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](rds-proxy-secrets-arns.md) [Konfigurieren der IAM-Authentifizierung für RDS-Proxy](rds-proxy-iam-setup.md)
+  Sie können RDS-Proxy nicht mit benutzerdefiniertem DNS verwenden, wenn Sie die SSL-Hostnamenvalidierung nutzen. 
+  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 RDS-Proxy nicht in der Availability Zone `use1-az3`. Die Region USA West (Nordkalifornien) unterstützt RDS-Proxy nicht in der Availability Zone `usw1-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](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) 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 `rdsproxyadmin` automatisch, 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 Benutzers `rdsproxyadmin` vermeiden. Das Löschen oder Ändern des Benutzers `rdsproxyadmin` oder 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 RDS für MariaDB](#rds-proxy.limitations-mdb)
+ [Weitere Einschränkungen für RDS für Microsoft SQL Server](#rds-proxy.limitations-ms)
+ [Weitere Einschränkungen für RDS für MySQL](#rds-proxy.limitations-my)
+ [Weitere Einschränkungen für RDS für PostgreSQL](#rds-proxy.limitations-pg)

### Weitere Einschränkungen für RDS für MariaDB
<a name="rds-proxy.limitations-mdb"></a>

 Die folgenden zusätzlichen Einschränkungen gelten für RDS-Proxy mit Datenbanken von RDS für MariaDB:
+  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 selbst verwalteten MariaDB-Datenbanken in Amazon-EC2-Instances verwenden.
+ Sie können RDS-Proxy nicht mit einer DB-Instance von RDS für MariaDB verwenden, bei welcher der Parameter `read_only` in der DB-Parametergruppe auf `1` festgelegt wurde.
+ RDS-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 Pinning verursacht wird. Informationen zum aktuellen Fixierungsverhalten finden Sie unter [Vermeiden von Pinning beim RDS-Proxy](rds-proxy-pinning.md).
+ MariaDB unterstützt das MariaDB-Plugin `auth_ed25519` nicht.
+ RDS-Proxy unterstützt Transport Layer Security (TLS) Version 1.3 für MariaDB-Datenbanken nicht.
+ Datenbankverbindungen, die einen Befehl `GET DIAGNOSTIC` verarbeiten, 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. Weitere Informationen finden Sie unter [Überblick über RDS-Proxy-Konzepte](rds-proxy.howitworks.md#rds-proxy-overview).
+ RDS-Proxy unterstützt derzeit die Option `caching_sha2_password` 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. 

### Weitere Einschränkungen für RDS für Microsoft SQL Server
<a name="rds-proxy.limitations-ms"></a>

 Die folgenden zusätzlichen Einschränkungen gelten für RDS-Proxy mit Datenbanken von RDS für Microsoft SQL Server:
+ 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 über die Sortierung in SQL Server finden Sie in der Dokumentation für [Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/relational-databases/collations/collation-and-unicode-support?view=sql-server-ver16).
+ RDS-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 Microsoft SQL Server](rds-proxy-connecting.md#rds-proxy-connecting-sqlserver).
+ 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. Weitere Informationen zu MARS finden Sie in der Dokumentation für [Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/relational-databases/native-client/features/using-multiple-active-result-sets-mars?view=sql-server-ver16).
+ Derzeit unterstützt RDS-Proxy keine DB-Instances von RDS für SQL Server, die auf der Hauptversion *SQL Server 2022* ausgeführt werden.
+ RDS-Proxy unterstützt keine DB-Instances von RDS für SQL Server, die auf der Hauptversion *SQL Server 2014* ausgeführt werden.
+ RDS-Proxy unterstützt keine Client-Anwendungen, die nicht mehrere Antwortnachrichten in einem TLS-Eintrag verarbeiten können.
+ RDS Proxy unterstützt keine end-to-end IAM-Authentifizierung für RDS for SQL Server.

### Weitere Einschränkungen für RDS für MySQL
<a name="rds-proxy.limitations-my"></a>

 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_password` erfordert eine sichere Verbindung (TLS).
+ Es ist bekannt, dass bei der RDS-Proxyunterstützung für `caching_sha2_password` Kompatibilitätsprobleme mit bestimmten Go-SQL-Treiberversionen vorhanden sind.
+ Bei Verwendung des MySQL 8.4 C-Treibers kann die API `mysql_stmt_bind_named_param` falsch 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](https://bugs.mysql.com/bug.php?id=116860&thanks=4).
+ 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 selbst verwalteten MySQL-Datenbanken in EC2-Instances verwenden.
+  Sie können RDS-Proxy nicht mit einer RDS-for-MySQL-DB-Instance verwenden, bei welcher der Parameter `read_only` in der DB-Parametergruppe auf `1` gesetzt wurde.
+ RDS-Proxy unterstützt den komprimierten MySQL-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 Befehl `GET DIAGNOSTIC` verarbeiten, 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 LOCAL` können den Verbindungsstatus ändern, ohne dass Pinning verursacht wird. Informationen zum aktuellen Fixierungsverhalten finden Sie unter [Vermeiden von Pinning beim RDS-Proxy](rds-proxy-pinning.md).
+ 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_connect` in 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 RDS für PostgreSQL
<a name="rds-proxy.limitations-pg"></a>

 Die folgenden zusätzlichen Einschränkungen gelten für RDS-Proxy mit Datenbanken von RDS für 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\$1C abbrechen. 
+  Die Ergebnisse der PostgreSQL-Funktion [lastval](https://www.postgresql.org/docs/current/functions-sequence.html) sind nicht immer genau. Verwenden Sie zur Umgehung die [INSERT](https://www.postgresql.org/docs/current/sql-insert.html)-Anweisung mit der Klausel `RETURNING`.
+ RDS-Proxy unterstützt derzeit den Streaming-Replikationsmodus nicht.
+ Bei RDS für PostgreSQL 16 wirken sich Änderungen am Wert für `scram_iterations` ausschließlich auf den Authentifizierungsprozess zwischen dem Proxy und der Datenbank aus. Insbesondere wenn Sie dies konfigurieren `ClientPasswordAuthType``scram-sha-256`, haben alle am `scram_iterations` Wert vorgenommenen Anpassungen keinen Einfluss auf die client-to-proxy Kennwortauthentifizierung. Stattdessen ist der Iterationswert für die client-to-proxy Kennwortauthentifizierung auf 4096 festgelegt.
+ Die `postgres` Standarddatenbank 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 ROLE` verwenden, um die Benutzerrolle mit `SET ROLE` zu ä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 Proxys `SET ROLE` in der Initialisierungsabfrage des Proxys, um dies zu vermeiden. Weitere Informationen finden Sie in der **Initialisierungsabfrage** unter [Erstellen eines Proxys für Amazon RDS](rds-proxy-creating.md).

**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 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.

# Planen des Verwendungsortes von RDS-Proxy
<a name="rds-proxy-planning"></a>

 Sie können ermitteln, welche Ihrer DB-Instances, Cluster und Anwendungen möglicherweise am meisten von der Verwendung von RDS-Proxy profitieren. Berücksichtigen Sie dazu folgende Faktoren: 
+  Alle DB-Instances, auf denen gelegentlich der Fehler „zu viele Verbindungen“ auftritt, sind gut geeignet für die Zuordnung zu einem Proxy. Dies ist häufig durch einen hohen Wert der `ConnectionAttempts` CloudWatch Metrik gekennzeichnet. Der Proxy ermöglicht es Anwendungen, viele Clientverbindungen zu öffnen, während der Proxy eine geringere Anzahl langlebiger Verbindungen mit der DB-Instance  verwaltet. 
+  Bei , die kleinere AWS Instance-Klassen wie T2 oder T3 verwenden, kann die Verwendung eines Proxys helfen, Probleme zu vermeiden out-of-memory. Sie kann auch dazu beitragen, den CPU-Overhead für das Herstellen von Verbindungen zu reduzieren. Diese Bedingungen können auftreten, wenn es um eine große Anzahl von Verbindungen geht. 
+  Sie können bestimmte CloudWatch Amazon-Metriken überwachen, um festzustellen, ob sich ein  bestimmten Grenzwerten nähert. Diese Grenzwerte gelten für die Anzahl der Verbindungen und den Arbeitsspeicher, der mit der Verbindungsverwaltung verbunden ist. Sie können auch bestimmte CloudWatch Metriken überwachen, um festzustellen, ob ein  viele kurzlebige Verbindungen verarbeitet. Das Öffnen und Beenden solcher Verbindungen kann einen Leistungs-Overhead für Ihre Datenbank verursachen. Informationen zu den zu überwachenden Metriken finden Sie unter [Überwachen von RDS-Proxy-Metriken mit Amazon CloudWatchÜberwachen von RDS-Proxy mit CloudWatch](rds-proxy.monitoring.md). 
+  AWS Lambda Funktionen können auch gute Kandidaten für die Verwendung eines Proxys sein. Diese Funktionen stellen häufig kurze Datenbankverbindungen her, die von dem von RDS-Proxy angebotenen Verbindungspooling profitieren. Sie können alle IAM-Authentifizierungen nutzen, die Sie bereits für Lambda-Funktionen haben, anstatt Datenbankanmeldeinformationen im Lambda-Anwendungscode zu verwalten. 
+  Anwendungen, die in der Regel eine große Anzahl von Datenbankverbindungen öffnen und schließen und über keine integrierten Mechanismen für das Verbindungspooling verfügen, bieten sich für die Verwendung eines Proxys an. 
+  Anwendungen, die eine große Anzahl von Verbindungen über lange Zeiträume offen halten, sind in der Regel gute Kandidaten für die Verwendung eines Proxys. Anwendungen in Branchen wie Software as a Service (SaaS) oder E-Commerce minimieren häufig die Latenz für Datenbankanfragen, da sie Verbindungen offen lassen. Mit RDS-Proxy kann eine Anwendung mehr Verbindungen offen halten, als dies möglich ist, wenn eine direkte Verbindung mit dem DB-Instance hergestellt wird. 
+  Möglicherweise haben Sie die IAM-Authentifizierung und den Secrets Manager nicht übernommen, da die Einrichtung einer solchen Authentifizierung für alle  komplex ist. Der Proxy kann die Authentifizierungsrichtlinien für Clientverbindungen für bestimmte Anwendungen erzwingen. Sie können alle IAM-Authentifizierungen nutzen, die Sie bereits für Lambda-Funktionen haben, anstatt Datenbankanmeldeinformationen im Lambda-Anwendungscode zu verwalten. 
+  RDS-Proxy kann dazu beitragen, Anwendungen widerstandsfähiger und transparenter gegenüber Datenbankausfällen zu machen. RDS-Proxy umgeht Domain Name System (DNS)-Caches, um die Failover-Zeiten für Multi-AZ-DB-Instances von Amazon RDS um bis zu 66 % zu reduzieren. RDS-Proxy leitet den Datenverkehr außerdem automatisch an eine neue Datenbank-Instance weiter, wobei Anwendungsverbindungen erhalten bleiben. Dadurch werden Failovers für Anwendungen transparenter.

# Konzepte und Terminologie zu RDS-Proxy
<a name="rds-proxy.howitworks"></a>

 Sie können die Verbindungsverwaltung für Ihre Amazon-RDS-DB-Instances vereinfachen, indem Sie RDS-Proxy verwenden. 

 RDS-Proxy verarbeitet den Netzwerkverkehr zwischen der Clientanwendung und der Datenbank. Es tut dies auf aktive Weise, indem es das Datenbankprotokoll erfasst Anschließend passt er sein Verhalten basierend auf den SQL-Operationen aus Ihrer Anwendung und den Ergebnismengen aus der Datenbank an. 

 RDS-Proxy reduziert den Arbeitsspeicher- und CPU-Overhead für die Verbindungsverwaltung in Ihrer Datenbank. Die Datenbank benötigt weniger Arbeitsspeicher und CPU-Ressourcen, wenn Anwendungen viele gleichzeitige Verbindungen öffnen. Es erfordert auch keine Logik in Ihren Anwendungen, um Verbindungen zu schließen und wieder zu öffnen, die für eine lange Zeit inaktiv bleiben. Ebenso erfordert es weniger Anwendungslogik, um Verbindungen im Falle eines Datenbankproblems wiederherzustellen. 

 Die Infrastruktur für RDS Proxy ist hochverfügbar und wird über mehrere Availability Zones (AZs) bereitgestellt. Berechnung, Arbeitsspeicher und Speicher für RDS-Proxy sind unabhängig von Ihrer RDS-DB-Instance. Diese Trennung hilft, den Overhead auf Ihren Datenbankservern zu senken, sodass sie ihre Ressourcen für die Bereitstellung von Datenbank-Workloads einsetzen können. Die RDS-Proxy-Rechenressourcen sind serverless und werden automatisch basierend auf der Datenbank-Workload skaliert. 

**Topics**
+ [Überblick über RDS-Proxy-Konzepte](#rds-proxy-overview)
+ [Verbindungspooling](#rds-proxy-connection-pooling)
+ [RDS-Proxy-Sicherheit](#rds-proxy-security)
+ [Failover](#rds-proxy-failover)
+ [Transaktionen](#rds-proxy-transactions)

## Überblick über RDS-Proxy-Konzepte
<a name="rds-proxy-overview"></a>

 RDS-Proxy verbreitet die Infrastruktur zum Ausführen des Verbindungspoolings und die anderen Funktionen, die in den folgenden Abschnitten beschrieben werden. Die in der RDS-Konsole dargestellten Proxys werden auf der Seite **Proxys** angezeigt. 

Jeder Proxy verarbeitet Verbindungen zu einer einzelnen RDS-DB-Instance. Bei Multi-AZ-RDS-DB-Instances oder -Clustern bestimmt der Proxy die aktuelle Writer-Instance automatisch.

 Die Verbindungen, die ein Proxy offen hält und für Ihre Datenbankanwendung verfügbar macht, bilden den *Verbindungspool*. 

 Standardmäßig kann RDS-Proxy eine Verbindung nach jeder Transaktion in Ihrer Sitzung wiederverwenden. Diese Wiederverwendung auf Transaktionsebene wird als *Multiplexing* bezeichnet. Wenn RDS-Proxy vorübergehend eine Verbindung aus dem Verbindungspool entfernt wird, um sie wiederzuverwenden, wird dieser Vorgang als *Ausleihen* der Verbindung bezeichnet. Wenn dies sicher ist, wird diese Verbindung an den Verbindungspool RDS-Proxy zurückgegeben. 

 In einigen Fällen kann RDS-Proxy nicht gewährleisten, dass eine Datenbankverbindung außerhalb der aktuellen Sitzung sicher wiederzuverwenden ist. In diesen Fällen bleibt die Sitzung auf derselben Verbindung erhalten, bis die Sitzung beendet ist. Dieses Fallback-Verhalten wird als *Fixierung (Pinning)* bezeichnet. 

Ein Proxy hat einen Standard-Endpunkt. Sie stellen eine Verbindung mit diesem Endpunkt her, wenn Sie mit einer Amazon-RDS-DB-Instance arbeiten. Sie tun dies, anstatt eine Verbindung zu dem read/write Endpunkt herzustellen, der direkt mit dem  verbunden ist. Für RDS-DB-Cluster können Sie auch zusätzliche read/write und schreibgeschützte Endpunkte erstellen. Weitere Informationen finden Sie unter [Überblick über Proxy-Endpunkte](rds-proxy-endpoints.md#rds-proxy-endpoints-overview). 

 Beispielsweise können Sie für read/write Verbindungen ohne Verbindungspooling weiterhin eine Verbindung zum Cluster-Endpunkt herstellen. Sie können weiterhin eine Verbindung zum Leser-Endpunkt für schreibgeschützte Verbindungen mit Lastenausgleich herstellen. Sie können weiterhin eine Verbindung zu den Instance-Endpunkten für die Diagnose und Behebung von Fehlern in bestimmten DB-Instances innerhalb eines Clusters herstellen. Wenn Sie andere AWS Dienste verwenden, z. B. AWS Lambda um eine Verbindung zu RDS-Datenbanken herzustellen, ändern Sie deren Verbindungseinstellungen, sodass der Proxy-Endpunkt verwendet wird. Beispielsweise geben Sie den Proxy-Endpunkt an, damit Lambda-Funktionen auf Ihre Datenbank zugreifen und gleichzeitig die RDS-Proxy-Funktionalität nutzen können. 

 Jeder Proxy enthält eine Zielgruppe. Diese *Zielgruppe* verkörpert die RDS-DB-Instance, mit dem der Proxy eine Verbindung herstellen kann. Die RDS-DB-Instance, die/der mit einem Proxy verknüpft ist, wird als *Ziel* dieses Proxys bezeichnet. Wenn Sie einen Proxy über die Konsole erstellen, erstellt RDS-Proxy auch die entsprechende Zielgruppe und registriert die zugeordneten Ziele automatisch. 

 Eine *Engine-Familie* ist eine verwandte Gruppe von Datenbank-Engines, die dasselbe DB-Protokoll verwenden. Sie wählen die Engine-Familie für jeden Proxy, den Sie erstellen. 

## Verbindungspooling
<a name="rds-proxy-connection-pooling"></a>

Jeder Proxy führt ein Verbindungspooling für die Writer- und Reader-Instance der zugehörigen RDS-Datenbank aus. Das *Verbindungspooling* ist eine Optimierung, die den Overhead reduziert, der mit dem Öffnen und Beenden von Verbindungen und dem Vorhandensein vieler aktiver Verbindungen gleichzeitig verbunden ist. Dieser Overhead umfasst den Arbeitsspeicher, der für die Verarbeitung jeder neuen Verbindung erforderlich ist. Es ist außerdem CPU-Overhead erforderlich, um jede Verbindung zu schließen und eine neue zu öffnen. Beispiele hierfür sind Transport Layer Security/Secure Sockets Layer (TLS/SSL), Handshaking, Authentifizierung, Verhandlungsmöglichkeiten usw. Das Verbindungspooling vereinfacht Ihre Anwendungslogik. Sie müssen keinen Anwendungscode schreiben, um die Anzahl gleichzeitig geöffneter Verbindungen zu minimieren. 

 Jeder Proxy führt darüber hinaus Multiplexing von Verbindungen aus, auch bekannt als Wiederverwendung von Verbindungen. Beim *Multiplexing* führt RDS-Proxy alle Operationen für eine Transaktion mit einer zugrunde liegenden Datenbankverbindung aus. RDS kann dann eine andere Verbindung für die nächste Transaktion verwenden. Sie können viele gleichzeitige Verbindungen zum Proxy öffnen und der Proxy hält eine geringere Anzahl von Verbindungen zur DB-Instance oder zum Cluster offen. Dadurch wird der Speicher-Overhead für Verbindungen auf dem Datenbankserver weiter minimiert. Diese Technik reduziert auch die Wahrscheinlichkeit des Fehlers "zu viele Verbindungen". 

## RDS-Proxy-Sicherheit
<a name="rds-proxy-security"></a>

 RDS Proxy verwendet die vorhandenen RDS-Sicherheitsmechanismen wie TLS/SSL und AWS Identity and Access Management (IAM). Allgemeine Informationen zu diesen Sicherheitsfunktionen finden Sie unter [Sicherheit in Amazon RDS ](UsingWithRDS.md). Sie sollten sich außerdem unbedingt damit vertraut machen, wie RDS mit Authentifizierung, Autorisierung und anderen Sicherheitsbereichen arbeitet. 

 RDS-Proxy kann als zusätzliche Sicherheitsebene zwischen Clientanwendungen und der zugrunde liegenden Datenbank fungieren. Sie können beispielsweise über TLS 1.3 eine Verbindung zum Proxy herstellen, selbst wenn die zugrunde liegende DB-Instance eine ältere Version von TLS unterstützt. Sie können mithilfe einer IAM-Rolle eine Verbindung zum Proxy herstellen, auch wenn der Proxy mithilfe der Authentifizierungsmethode Datenbankbenutzer und Kennwort eine Verbindung zur Datenbank herstellt. Mit dieser Technik können Sie hohe Authentifizierungsanforderungen für Datenbankanwendungen ohne einen kostspieligen Migrationsaufwand für die DB-Instances selbst erzwingen. 

Mit RDS Proxy können Sie die folgenden Authentifizierungsmethoden verwenden:
+ **Anmeldeinformationen für die Datenbank**
+ **Standard-IAM-Authentifizierung**
+ **End-to-end IAM-Authentifizierung**

### Verwenden von IAM mit RDS-Proxy
<a name="rds-proxy-security.IAM"></a>

RDS Proxy bietet zwei Methoden der IAM-Authentifizierung:
+ **Standard-IAM-Authentifizierung**: Erzwingen Sie die IAM-Authentifizierung für Verbindungen zu Ihrem Proxy, während der Proxy mithilfe der in Secrets Manager gespeicherten Anmeldeinformationen eine Verbindung zur Datenbank herstellt. Dadurch wird die IAM-Authentifizierung für den Datenbankzugriff erzwungen, auch wenn die Datenbanken die native Passwortauthentifizierung verwenden. Der Proxy ruft die Datenbankanmeldedaten von Secrets Manager ab und wickelt die Authentifizierung gegenüber der Datenbank im Namen Ihrer Anwendung ab.
+ **End-to-end IAM-Authentifizierung**: Erzwingt die IAM-Authentifizierung für Verbindungen direkt von Ihren Anwendungen zu Ihrer Datenbank über den Proxy. End-to-end Die IAM-Authentifizierung vereinfacht Ihre Sicherheitskonfiguration und vermeidet die Verwaltung von Datenbankanmeldedaten in Secrets Manager. Diese zusätzliche Sicherheitsebene erzwingt eine IAM-basierte Zugriffskontrolle von der Client-Anwendung zur Datenbank.

Um die Standard-IAM-Authentifizierung zu verwenden, konfigurieren Sie Ihren Proxy so, dass Secrets Manager Manager-Geheimnisse für die Authentifizierung verwendet werden, und aktivieren Sie die IAM-Authentifizierung für Client-Verbindungen. Ihre Anwendungen authentifizieren sich beim Proxy mithilfe von IAM, während sich der Proxy mit den von Secrets Manager abgerufenen Anmeldeinformationen gegenüber der Datenbank authentifiziert.

Um die end-to-end IAM-Authentifizierung zu verwenden, konfigurieren Sie Ihren Proxy so, dass er die IAM-Authentifizierung verwendet, wenn Sie das Standardauthentifizierungsschema bei der Erstellung oder Änderung Ihres Proxys festlegen.

Für die end-to-end IAM-Authentifizierung müssen Sie die dem Proxy zugeordnete IAM-Rolle aktualisieren, um die Berechtigung zu erteilen. `rds-db:connect` Mit der end-to-end IAM-Authentifizierung entfällt die Notwendigkeit, einzelne Datenbankbenutzer über Secrets Manager Secrets beim Proxy zu registrieren.

### Verwendung TLS/SSL mit RDS Proxy
<a name="rds-proxy-security.tls"></a>

 Sie können mithilfe des TLS/SSL Protokolls eine Verbindung zum RDS-Proxy herstellen. 

**Anmerkung**  
 RDS Proxy verwendet Zertifikate von AWS Certificate Manager (ACM). Wenn Sie RDS-Proxy verwenden, müssen Sie keine Amazon-RDS-Zertifikate herunterladen oder Anwendungen aktualisieren, die RDS-Proxy-Verbindungen verwenden.

Um TLS für alle Verbindungen zwischen dem Proxy und der Datenbank zu erzwingen, können Sie beim Erstellen eines Proxys die Einstellung **Transport Layer Security erforderlich** angeben, wenn Sie einen Proxy in der AWS-Managementkonsole erstellen oder ändern. 

RDS Proxy kann auch sicherstellen, dass Ihre Sitzung TLS/SSL zwischen Ihrem Client und dem RDS-Proxy-Endpunkt verwendet wird. Damit RDS-Proxy so verfährt, müssen Sie die clientseitige Anforderung festlegen. Für SSL-Verbindungen mit einer Datenbank unter Verwendung von RDS-Proxy werden keine SSL-Sitzungsvariablen festgelegt. 
+  Geben Sie für RDS für MySQL die clientseitige Anforderung mit dem Parameter `--ssl-mode` an, wenn Sie den Befehl `mysql` ausführen. 
+  Geben Sie für Amazon RDS PostgreSQL `sslmode=require` als Teil der `conninfo`-Zeichenfolge an, wenn Sie den Befehl `psql` ausführen. 

RDS-Proxy unterstützt die TLS-Protokollversionen 1.0, 1.1 und 1.2. Sie können eine Verbindung mit dem Proxy herstellen, indem Sie eine höhere TLS-Version verwenden, als Sie in der zugrunde liegenden Datenbank verwenden. 

Standardmäßig richten Client-Programme eine verschlüsselte Verbindung mit RDS-Proxy ein, wobei weitere Kontrolle über die Option `--ssl-mode` verfügbar ist. Clientseitig unterstützt RDS-Proxy alle SSL-Modi. 

 Für den Client sind die SSL-Modi die folgenden: 

**PREFERRED**  
 SSL ist die erste Wahl, aber nicht erforderlich. 

**DISABLED**  
 SSL ist nicht zulässig. 

**REQUIRED**  
 SSL erzwingen. 

**VERIFY\$1CA**  
 SSL erzwingen und die Zertifizierungsstelle (CA) überprüfen. 

**VERIFY\$1IDENTITY**  
 SSL erzwingen und die CA sowie den CA-Hostname überprüfen. 

 Bei Verwendung eines Clients mit `--ssl-mode` `VERIFY_CA` oder `VERIFY_IDENTITY`, geben Sie die Option `--ssl-ca` an, die auf eine CA im `.pem`-Format verweist. Laden Sie für die zu verwendende `.pem` Datei alle Root-CA PEMs von [Amazon Trust Services](https://www.amazontrust.com/repository/) herunter und platzieren Sie sie in einer einzigen `.pem` Datei.

 RDS-Proxy verwendet Platzhalterzertifikate, die sowohl für eine Domain als auch für deren Unterdomains gelten. Wenn Sie den `mysql`-Client für die Verbindung mit dem SSL-Modus `VERIFY_IDENTITY` verwenden, müssen Sie derzeit den MySQL 8.0-kompatiblen Befehl `mysql` verwenden. 

## Failover
<a name="rds-proxy-failover"></a>

 *Failover* ist eine Funktion mit hoher Verfügbarkeit, die eine Datenbank-Instance durch eine andere ersetzt, wenn die ursprüngliche Instance nicht verfügbar ist. Ein Failover kann aufgrund eines Problems mit einer Datenbank-Instance auftreten. Er kann aber auch Teil normaler Wartungsverfahren sein, z. B. während eines Datenbank-Upgrades. Failover gilt für RDS-DB-Instances in einer Multi-AZ-Konfiguration.

 Die Verbindung über einen Proxy macht Ihre Anwendungen widerstandsfähiger gegenüber einem Datenbank-Failover. Wenn die ursprüngliche DB-Instance nicht verfügbar ist, stellt RDS-Proxy eine Verbindung mit der Standby-Datenbank her, ohne dass die inaktiven Anwendungsverbindungen verworfen werden. Dadurch wird der Failover-Prozess beschleunigt und vereinfacht. Dies ist mit weniger Störungen für Ihre Anwendung verbunden als ein typisches Neustart- oder Datenbankproblem. 

 Ohne RDS-Proxy ist ein Failover mit einem kurzen Ausfall verbunden. Während des Ausfalls können Sie keine Schreibvorgänge für diese Datenbank ausführen. Alle vorhandenen Datenbankverbindungen werden unterbrochen und Ihre Anwendung muss sie erneut öffnen. Die Datenbank wird für neue Verbindungen und Schreiboperationen verfügbar, wenn eine schreibgeschützte DB-Instance anstelle einer nicht verfügbaren Instance hochgestuft wird. 

 Während DB-Failovers akzeptiert RDS-Proxy weiterhin Verbindungen mit derselben IP-Adresse und leitet Verbindungen automatisch an die neue primäre DB-Instance weiter. Clients, die eine Verbindung über RDS-Proxy herstellen, sind nicht anfällig für Folgendes: 
+  DNS (Domain Name System)-Ausbreitungsverzögerungen beim Failover. 
+  Lokale DNS-Zwischenspeicherung. 
+  Verbindungszeitüberschreitungen. 
+  Unsicherheit darüber, welche DB-Instance der aktuelle Writer ist. 
+  Warten auf eine Abfrageantwort eines früheren Writers, die nicht verfügbar wurde, ohne Verbindungen zu schließen. 

 Bei Anwendungen, die über eigene Verbindungspools verfügen, sorgt RDS-Proxy dafür, dass die meisten Verbindungen bei Failovers oder anderen Unterbrechungen aktiv bleiben. Nur Verbindungen, die sich mitten in einer Transaktion oder SQL-Anweisung befinden, werden unterbrochen. RDS-Proxy akzeptiert sofort neue Verbindungen. Wenn der Datenbank-Schreiber nicht verfügbar ist, werden eingehende Anfragen in RDS-Proxy in die Warteschlange gesetzt. 

 Für Anwendungen, die nicht über eigene Verbindungspools verfügen, bietet RDS-Proxy schnellere Verbindungsraten und mehr offene Verbindungen. Es reduziert den teuren Overhead, der mit dem häufigen Herstellen neuer Verbindungen über die Datenbank verbunden ist. Hierfür werden Datenbankverbindungen wiederverwendet, die im RDS-Proxy-Verbindungspool verwaltet werden. Dieser Ansatz ist besonders wichtig für TLS-Verbindungen, die mit erheblichen Setupkosten verbunden sind. 

## Transaktionen
<a name="rds-proxy-transactions"></a>

 Alle Anweisungen innerhalb einer einzelnen Transaktion verwenden immer dieselbe zugrunde liegende Datenbankverbindung. Die Verbindung wird für eine andere Sitzung verfügbar, wenn die Transaktion beendet wird. Die Verwendung der Transaktion als Granularitätseinheit hat folgende Auswirkungen: 
+  Die Wiederverwendung von Verbindungen kann nach jeder einzelnen Anweisung erfolgen, wenn die Einstellung `autocommit` von RDS für MySQL aktiviert ist. 
+  Ist die Einstellung `autocommit` deaktiviert, beginnt im Gegensatz dazu die erste Anweisung, die Sie in einer Sitzung ausgeben, eine neue Transaktion. Angenommen, Sie geben die Sequenz `SELECT`, `INSERT`, `UPDATE` und andere Data Manipulation Language (DML)-Anweisungen ein. In diesem Fall wird die Wiederverwendung von Verbindungen erst vorgenommen, wenn Sie einen `COMMIT`, `ROLLBACK` ausgeben oder die Transaktion anderweitig beenden. 
+  Die Eingabe einer DDL-Anweisung (Data Definition Language) bewirkt, dass die Transaktion beendet wird, nachdem diese Anweisung abgeschlossen wurde. 

 RDS-Proxy erkennt über das Netzwerkprotokoll, das von der Datenbank-Clientanwendung verwendet wird, wenn eine Transaktion beendet wird. Die Transaktionserkennung beruht nicht auf Schlüsselwörtern wie beispielsweise `COMMIT` oder `ROLLBACK`, die im Text der SQL-Anweisung angezeigt werden. 

 In einigen Fällen kann RDS-Proxy eine Datenbankanforderung erkennen, die es unpraktisch macht, Ihre Sitzung auf eine andere Verbindung zu verschieben. In diesen Fällen wird das Multiplexing für diese Verbindung während der verbleibenden Sitzung deaktiviert. Die gleiche Regel gilt, wenn RDS-Proxy nicht sicher sein kann, dass das Multiplexing für die Sitzung praktikabel ist. Diese Operation wird als *Fixierung (Pinning)* bezeichnet. Hinweise zum Erkennen und Minimieren von Fixierungen finden Sie unter [Vermeiden von Pinning beim RDS-Proxy](rds-proxy-pinning.md). 

# Erste Schritte mit RDS-Proxy
<a name="rds-proxy-setup"></a>

Verwenden Sie die Informationen auf den folgenden Seiten, um zugehörige Sicherheitsoptionen einzurichten, zu verwalten [Amazon RDS-Proxy ](rds-proxy.md) und festzulegen. Diese Sicherheitsoptionen steuern, wer auf jeden Proxy zugreifen kann und wie jeder Proxy eine Verbindung mit DB-Instances herstellt.

Wenn Sie mit RDS-Proxy noch nicht vertraut sind, empfehlen wir, den Seiten in der Reihenfolge zu folgen, in der sie angezeigt werden. 

**Topics**
+ [Einrichten der Netzwerkvoraussetzungen für RDS-Proxy](rds-proxy-network-prereqs.md)
+ [Datenbankanmeldedaten für RDS Proxy einrichten](rds-proxy-secrets-arns.md)
+ [Konfigurieren der IAM-Authentifizierung für RDS-Proxy](rds-proxy-iam-setup.md)
+ [Erstellen eines Proxys für Amazon RDS](rds-proxy-creating.md)
+ [Anzeigen eines Proxys](rds-proxy-viewing.md)
+ [Verbinden mit einer Datenbank über RDS-Proxy](rds-proxy-connecting.md)

# Einrichten der Netzwerkvoraussetzungen für RDS-Proxy
<a name="rds-proxy-network-prereqs"></a>

 Die Verwendung von RDS-Proxy erfordert eine gemeinsame Virtual Private Cloud (VPC) zwischen Ihrer RDS-DB-Instance und RDS-Proxy. Diese VPC sollte über mindestens zwei Subnetze verfügen, die sich in verschiedenen Availability Zones befinden. Ihr Konto kann entweder der Eigentümer dieser Subnetze sein oder sie mit anderen Konten teilen. Informationen zur VPC-Sharing finden Sie unter [Arbeiten mit Shared VPCs](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html). 

Für den IPv6 Support ist eine zusätzliche Netzwerkkonfiguration erforderlich:
+ **IPv6 Endpunkt-Netzwerktypen** — Ihre VPC und Subnetze müssen für die Unterstützung konfiguriert sein. IPv6 Dazu gehört die Zuweisung von IPv6 CIDR-Blöcken zu Ihrer VPC und Ihren Subnetzen.
+ **Dual-Stack-Endpunkt-Netzwerktypen** — Ihre VPC und Subnetze müssen beide IPv4 und die Adressierung unterstützen. IPv6 
+ **IPv6 Netzwerktypen für Zielverbindungen** — Ihre Datenbank muss für den Dual-Stack-Modus konfiguriert sein, um IPv6 Verbindungen vom Proxy aus zu unterstützen.

Ihre Client-Anwendungsressourcen wie Amazon EC2, Lambda oder Amazon ECS können sich in derselben VPC wie der Proxy befinden. Sie können sich auch in einer vom Proxy getrennten VPC befinden. Wenn Sie eine Verbindung mit RDS-DB-Instances hergestellt haben, verfügen Sie bereits über die erforderlichen Netzwerkressourcen. 

**Topics**
+ [Abrufen von Informationen zu Ihren Subnetzen](#rds-proxy-network-prereqs.subnet-info)
+ [Planen der Kapazität von IP-Adressen](#rds-proxy-network-prereqs.plan-ip-address)

## Abrufen von Informationen zu Ihren Subnetzen
<a name="rds-proxy-network-prereqs.subnet-info"></a>

Um einen Proxy zu erstellen, müssen Sie die Subnetze und die VPC angeben, in denen der Proxy arbeitet. Das folgende Linux-Beispiel zeigt AWS CLI Befehle, die die Subnetze VPCs und Subnetze untersuchen, die Ihrem gehören. AWS-Konto Insbesondere übergeben Sie das Subnetz IDs als Parameter, wenn Sie einen Proxy mit der CLI erstellen. 

```
aws ec2 describe-vpcs
aws ec2 describe-internet-gateways
aws ec2 describe-subnets --query '*[].[VpcId,SubnetId]' --output text | sort
```

Das folgende Linux-Beispiel zeigt AWS CLI Befehle zur Bestimmung des Subnetzes, das einem bestimmten einer bestimmten RDS-DB-Instance IDs entspricht. Suchen Sie die VPC-ID für die DB-Instance. Untersuchen Sie die VPC, um ihre Subnetze zu finden. Das folgende Linux-Beispiel zeigt wie es geht.

```
$ #From the DB instance, trace through the DBSubnetGroup and Subnets to find the subnet IDs.
$ aws rds describe-db-instances --db-instance-identifier my_instance_id --query '*[].[DBSubnetGroup]|[0]|[0]|[Subnets]|[0]|[*].SubnetIdentifier' --output text
```

```
subnet_id_1
subnet_id_2
subnet_id_3
...
```

```
$ #From the DB instance, find the VPC.
$ aws rds describe-db-instances --db-instance-identifier my_instance_id --query '*[].[DBSubnetGroup]|[0]|[0].VpcId' --output text
```

```
my_vpc_id
```

```
$ aws ec2 describe-subnets --filters Name=vpc-id,Values=my_vpc_id --query '*[].[SubnetId]' --output text
```

```
subnet_id_1
subnet_id_2
subnet_id_3
subnet_id_4
subnet_id_5
subnet_id_6
```

## Planen der Kapazität von IP-Adressen
<a name="rds-proxy-network-prereqs.plan-ip-address"></a>

Ein RDS-Proxy passt seine Kapazität basierend auf der Größe und Anzahl der bei ihm registrierten DB-Instances automatisch nach Bedarf an. Bestimmte Vorgänge erfordern möglicherweise auch zusätzliche Proxy-Kapazität, z. B. die Vergrößerung einer registrierten Datenbank oder interne RDS-Proxy-Wartungsvorgänge. Bei diesen Vorgängen benötigt Ihr Proxy möglicherweise mehr IP-Adressen, um die zusätzliche Kapazität bereitzustellen. Mit diesen zusätzlichen Adressen kann Ihr Proxy skaliert werden, ohne Ihre Workload zu beeinträchtigen. Ein Mangel an freien IP-Adressen in Ihren Subnetzen verhindert, dass ein Proxy hochskaliert wird. Dies kann zu höheren Abfragelatenzen oder Verbindungsfehlern bei Clients führen. RDS benachrichtigt Sie durch das Ereignis `RDS-EVENT-0243`, wenn in Ihren Subnetzen nicht genügend freie IP-Adressen vorhanden sind. Weitere Informationen zu diesem Ereignis finden Sie unter [Arbeiten mit RDS-Proxy-EreignissenArbeiten mit RDS-Proxy-Ereignissen](rds-proxy.events.md).

**Anmerkung**  
RDS Proxy verbraucht nicht mehr als 215 IP-Adressen für jeden Proxy in einer VPC.

Reservieren Sie die empfohlene Mindestanzahl von IP-Adressen in Ihren Subnetzen für Ihren Proxy basierend auf den Klassengrößen der DB-Instance.


|  DB-Instance-Klasse  |  Mindestanzahl freier IP-Adressen  | 
| --- | --- | 
|  db.\$1.xlarge oder kleiner   |  10  | 
|  db.\$1.2xlarge   |  15  | 
|  db.\$1.4xlarge   |  25  | 
|  db.\$1.8xlarge   |  45  | 
|  qdb.\$1.12xlarge   |  60  | 
|  db.\$1.16xlarge   |  75  | 
|  db.\$1.24xlarge   |  110  | 

Bei der empfohlenen Anzahl von IP-Adressen handelt es sich um eine Schätzung für einen Proxy, der nur über einen Standardendpunkt verfügt. Ein Proxy mit zusätzlichen Endpunkten oder Read Replicas benötigt möglicherweise mehr freie IP-Adressen. Wir empfehlen, für jeden weiteren Endpunkt drei weitere IP-Adressen zu reservieren. Es wird empfohlen, für jede Read Replica zusätzliche IP-Adressen zu reservieren, wie in der Tabelle angegeben, basierend auf der Größe der Read Replica.

# Datenbankanmeldedaten für RDS Proxy einrichten
<a name="rds-proxy-secrets-arns"></a>

RDS Proxy in Amazon RDS verwendet AWS Secrets Manager , um Datenbankanmeldedaten sicher zu speichern und zu verwalten. Anstatt Anmeldeinformationen in Ihre Anwendung einzubetten, verknüpfen Sie einen Proxy mit einem Secrets-Manager-Secret, das die erforderlichen Authentifizierungsdetails enthält. Sie erstellen ein separates Secrets Manager-Secret für jedes Datenbankbenutzerkonto, mit dem der Proxy auf der RDS-DB-Instance eine Verbindung herstellt.

Alternativ können Sie den RDS-Proxy so konfigurieren, dass er die end-to-end IAM-Authentifizierung verwendet, sodass keine Datenbankanmeldedaten in Secrets Manager gespeichert werden müssen. RDS Proxy verwendet die IAM-Authentifizierung für beide Verbindungen client-to-proxy. proxy-to-database Dies bietet eine vollständig integrierte IAM-basierte Authentifizierungslösung, für die keine Verwaltung von Geheimnissen oder Passwörtern erforderlich ist. Informationen zum Hinzufügen eines neuen IAM-DB-Benutzers finden Sie unter. [Erstellen eines Datenbankkontos mithilfe der IAM-Authentifizierung](UsingWithRDS.IAMDBAuth.DBAccounts.md)

**Topics**
+ [Erstellen von Secrets zur Verwendung mit RDS-Proxy](#rds-proxy-secrets-create)

## Erstellen von Secrets zur Verwendung mit RDS-Proxy
<a name="rds-proxy-secrets-create"></a>

Bevor Sie einen Proxy erstellen, müssen Sie zunächst mindestens ein Secret erstellen, in dem Ihre Datenbankanmeldeinformationen gespeichert werden.

### Konsole
<a name="rds-proxy-secrets-create-console"></a>

**So erstellen Sie ein Secret**

1. Öffnen Sie die Secrets Manager Manager-Konsole unter [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Wählen Sie **Store a new secret** (Ein neues Secret speichern).

1. Wählen Sie **Anmeldeinformationen für Amazon-RDS-Datenbank** aus.

1. Geben Sie einen Benutzernamen und ein Passwort ein. Die von Ihnen eingegebenen Anmeldeinformationen müssen mit den Anmeldeinformationen eines Datenbankbenutzers übereinstimmen, der in der zugehörigen RDS-Datenbank vorhanden ist. RDS-Proxy verwendet diese Anmeldeinformationen, um im Namen von Anwendungen Verbindungen zur Datenbank zu authentifizieren und herzustellen.

   Wenn eine Unstimmigkeit vorliegt, können Sie das Secret so aktualisieren, dass es mit dem Datenbankkennwort übereinstimmt. Solange Sie das Secret nicht aktualisieren, schlagen Verbindungsversuche über den Proxy fehl, Verbindungen, die andere gültige geheime Schlüssel verwenden, funktionieren aber dennoch.
**Anmerkung**  
Für RDS für SQL Server erfordert RDS-Proxy unabhängig von den Sortierungseinstellungen der DB-Instance ein Secret in Secrets Manager, bei dem Groß- und Kleinschreibung beachtet wird. Wenn Ihre Anwendung Benutzernamen mit unterschiedlicher Groß- und Kleinschreibung wie „Admin“ und „admin“ zulässt, müssen Sie für jeden separate Secrets erstellen. RDS-Proxy unterstützt keine Benutzernamenauthentifizierung ohne Berücksichtigung der Groß-/Kleinschreibung zwischen Client und Proxy.  
Weitere Informationen über die Sortierung in SQL Server finden Sie in der Dokumentation für [Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/relational-databases/collations/collation-and-unicode-support?view=sql-server-ver16).

1. Wählen Sie für **Datenbank** die Amazon-RDS-Datenbank aus, auf die das Secret zugreift.

1. Geben Sie weitere Einstellungen für das Secret ein und wählen Sie dann **Speichern** aus. Umfassende Anleitungen finden Sie unter [Erstellen eines AWS Secrets Manager -Secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) im *Benutzerhandbuch für AWS Secrets Manager *. 

### AWS CLI
<a name="rds-proxy-secrets-create-cli"></a>

Wenn Sie über den einen Proxy erstellen AWS CLI, geben Sie die Amazon-Ressourcennamen (ARNs) der entsprechenden Geheimnisse an. Diesen Vorgang führen Sie für alle DB-Benutzerkonten aus, auf die der Proxy zugreifen kann. In der AWS-Managementkonsole wählen Sie die Geheimnisse anhand ihrer aussagekräftigen Namen aus.
+ Verwenden Sie den Befehl [create-secret](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/create-secret.html), um ein Secrets Manager-Secret für die Verwendung mit RDS-Proxy zu erstellen:

  ```
  aws secretsmanager create-secret \
    --name "secret_name" \
    --description "secret_description" \
    --region region_name \
    --secret-string '{"username":"db_user","password":"db_user_password"}'
  ```
+ Sie können auch einen benutzerdefinierten Schlüssel erstellen, um Ihr Secrets Manager-Secret zu verschlüsseln. Im folgenden Beispiel wird ein Beispielschlüssel erstellt.

  ```
  aws kms create-key --description "test-key" --policy '{
    "Id":"kms-policy",
    "Version": "2012-10-17",		 	 	 
    "Statement":
      [
        {
          "Sid":"Enable IAM User Permissions",
          "Effect":"Allow",
          "Principal":{"AWS":"arn:aws:iam::account_id:root"},
          "Action":"kms:*","Resource":"*"
        },
        {
          "Sid":"Allow access for Key Administrators",
          "Effect":"Allow",
          "Principal":
            {
              "AWS":
                ["$USER_ARN","arn:aws:iam:account_id::role/Admin"]
            },
          "Action":
            [
              "kms:Create*",
              "kms:Describe*",
              "kms:Enable*",
              "kms:List*",
              "kms:Put*",
              "kms:Update*",
              "kms:Revoke*",
              "kms:Disable*",
              "kms:Get*",
              "kms:Delete*",
              "kms:TagResource",
              "kms:UntagResource",
              "kms:ScheduleKeyDeletion",
              "kms:CancelKeyDeletion"
            ],
          "Resource":"*"
        },
        {
          "Sid":"Allow use of the key",
          "Effect":"Allow",
          "Principal":{"AWS":"$ROLE_ARN"},
          "Action":["kms:Decrypt","kms:DescribeKey"],
          "Resource":"*"
        }
      ]
  }'
  ```

 Mit den folgenden Befehlen werden beispielsweise Secrets Manager-Secrets für zwei Datenbankbenutzer erstellt: 

```
aws secretsmanager create-secret \
  --name secret_name_1 --description "db admin user" \
  --secret-string '{"username":"admin","password":"choose_your_own_password"}'

aws secretsmanager create-secret \
  --name secret_name_2 --description "application user" \
  --secret-string '{"username":"app-user","password":"choose_your_own_password"}'
```

Verwenden Sie die folgenden Befehle, um diese mit Ihrem benutzerdefinierten AWS KMS Schlüssel verschlüsselten Geheimnisse zu erstellen:

```
aws secretsmanager create-secret \
  --name secret_name_1 --description "db admin user" \
  --secret-string '{"username":"admin","password":"choose_your_own_password"}' \
  --kms-key-id arn:aws:kms:us-east-2:account_id:key/key_id

aws secretsmanager create-secret \
  --name secret_name_2 --description "application user" \
  --secret-string '{"username":"app-user","password":"choose_your_own_password"}' \
  --kms-key-id arn:aws:kms:us-east-2:account_id:key/key_id
```

Verwenden Sie den Befehl [list-secrets, um die Geheimnisse](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/list-secrets.html) zu sehen, die Ihrem AWS Konto gehören:

```
aws secretsmanager list-secrets
```

Wenn Sie mit der CLI einen Proxy erstellen, übergeben Sie die Amazon-Ressourcennamen (ARNs) eines oder mehrerer Secrets an den `--auth` Parameter. Das folgende Beispiel zeigt, wie Sie einen Bericht nur mit dem Namen und dem ARN jedes Secrets Ihres AWS -Kontos erstellen. In diesem Beispiel wird der `--output table` Parameter verwendet, der in AWS CLI Version 2 verfügbar ist. Wenn Sie AWS CLI Version 1 verwenden, verwenden Sie `--output text` stattdessen. 

```
aws secretsmanager list-secrets --query '*[].[Name,ARN]' --output table
```

Verwenden Sie den [get-secret-value](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-secret-value.html)Befehl, um zu überprüfen, ob der geheime Schlüssel die richtigen Anmeldeinformationen im richtigen Format enthält. Ersetzen Sie `your_secret_name` durch den Kurznamen oder den ARN des Secrets.

```
aws secretsmanager get-secret-value --secret-id your_secret_name
```

Die Ausgabe enthält eine Zeile mit einem JSON-codierten Wert, der dem folgenden ähnelt:

```
...
"SecretString": "{\"username\":\"your_username\",\"password\":\"your_password\"}",
...
```

# Konfigurieren der IAM-Authentifizierung für RDS-Proxy
<a name="rds-proxy-iam-setup"></a>

Um die AWS Identity and Access Management (IAM-) Authentifizierung für RDS Proxy in Amazon RDS einzurichten, erstellen und konfigurieren Sie eine IAM-Richtlinie, die die erforderlichen Berechtigungen gewährt. 

In diesem Thema werden die Schritte zur Konfiguration der IAM-Authentifizierung für den RDS-Proxy beschrieben, einschließlich der Erstellung der erforderlichen IAM-Richtlinie und deren Anfügung an eine IAM-Rolle. 

**Tipp**  
Dieses Verfahren ist nur erforderlich, wenn Sie Ihre eigene IAM-Rolle erstellen möchten. Andernfalls kann RDS die erforderliche Rolle automatisch erstellen, wenn Sie den Proxy einrichten, sodass Sie diese Schritte überspringen können.

## Voraussetzungen
<a name="rds-proxy-iam-setup-prereqs"></a>

Stellen Sie vor der Einrichtung der IAM-Authentifizierung für RDS-Proxy sicher, dass Sie über Folgendes verfügen:
+ **AWS Secrets Manager** – Mindestens ein gespeichertes Secret, das Datenbankanmeldedaten enthält. Anleitungen zum Erstellen von Secrets finden Sie unter [Datenbankanmeldedaten für RDS Proxy einrichten](rds-proxy-secrets-arns.md).

  Dies ist nicht erforderlich, wenn Sie die end-to-end IAM-Authentifizierung verwenden.
+ **IAM-Berechtigungen** – Eine IAM-Rolle oder ein IAM-Benutzer mit Berechtigungen zum Erstellen und Verwalten von IAM-Richtlinien, -Rollen und -Secrets in AWS Secrets Manager.

## Eine IAM-Richtlinie für end-to-end die IAM-Authentifizierung erstellen
<a name="rds-proxy-iam-setup-e2e-steps"></a>

Wenn Sie die end-to-end IAM-Authentifizierung verwenden, stellt RDS Proxy mithilfe der IAM-Authentifizierung eine Verbindung zu Ihrer Datenbank her, anstatt Anmeldeinformationen von Secrets Manager abzurufen. Dazu müssen Sie Ihre IAM-Rolle mit `rds-db:connect` Berechtigungen für die Datenbankkonten konfigurieren, die Sie mit dem Proxy verwenden möchten.

Um Ihren RDS-Proxy mithilfe von IAM gegenüber der Datenbank zu authentifizieren, erstellen Sie eine IAM-Rolle mit einer Richtlinie, die die erforderlichen Datenbankverbindungsberechtigungen gewährt.

### Konsole
<a name="rds-proxy-iam-e2e-console"></a>

**Um eine Rolle für die end-to-end IAM-Authentifizierung mit Ihrem Proxy zu erstellen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Erstellen Sie eine Berechtigungsrichtlinie für die Rolle. Allgemeine Schritte finden Sie unter [IAM-Richtlinien erstellen (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html).

   Fügen Sie die folgende Richtlinie in den JSON-Editor ein und nehmen Sie die folgenden Änderungen vor:
   + Ersetzen Sie die Vorgabe durch Ihre eigene Konto-ID.
   + Ersetzen Sie es `us-east-2` durch den Ort, an dem sich der Proxy befinden muss.
   + Ersetzen Sie die Datenbankressource IDs und die Benutzernamen durch die Namen, die Sie verwenden möchten. Das Format der Ressourcen-ID unterscheidet sich zwischen RDS-Instances undAurora clusters.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "rds-db:connect",
               "Resource": [
                   "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_1",
                   "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_2"
               ]
           }
       ]
   }
   ```

1. Erstellen Sie die Rolle fügen Sie ihr die Berechtigungsrichtlinie an. Allgemeine Schritte finden Sie unter [Eine Rolle erstellen, um Berechtigungen an einen AWS Dienst zu delegieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html). 

   Wählen Sie für **Vertrauenswürdiger Entitätstyp** die Option **AWS -Service** aus. Wählen Sie unter **Anwendungsfall** die Option **RDS** und für den Anwendungsfall **RDS — Rolle zur Datenbank hinzufügen** aus.

1. Wählen Sie für **Berechtigungsrichtlinien** die Richtlinie aus, die Sie erstellt haben.

1. Geben Sie für **Vertrauenswürdige Entitäten auswählen** die folgende Vertrauensrichtlinie für die Rolle ein:

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "",
         "Effect": "Allow",
         "Principal": {
           "Service": "rds.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

### AWS CLI
<a name="rds-proxy-iam-e2e-cli"></a>

Um die Rolle mithilfe von zu erstellen AWS CLI, senden Sie die folgende Anfrage:

```
aws iam create-role \
  --role-name my_e2e_iam_role_name \

  --assume-role-policy-document '{"Version":"2012-10-17",		 	 	 "Statement":[{"Effect":"Allow","Principal":{"Service":["rds.amazonaws.com"]},"Action":"sts:AssumeRole"}]}'
```

Fügen Sie anschließend die Richtlinie an die Rolle an.

```
aws iam put-role-policy \
  --role-name my_e2e_iam_role_name \
  --policy-name e2e_iam_db_connect_policy \
  --policy-document '{

    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "rds-db:connect",
            "Resource": [
                "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_1",
                "arn:aws:rds-db:us-east-2:account_id:dbuser:db_instance_resource_id/db_user_name_2"
            ]
        }
    ]
}'
```

Wenn die IAM-Rolle und die Berechtigungen für die end-to-end IAM-Authentifizierung konfiguriert sind, können Sie jetzt einen Proxy mit der `DefaultAuthScheme` Einstellung auf erstellen. `IAM_AUTH` Dieser Proxy authentifiziert sich mithilfe von IAM direkt bei der Datenbank, ohne dass Secrets Manager Manager-Geheimnisse erforderlich sind. Detaillierte Anweisungen finden Sie unter [Erstellen eines Proxys für Amazon RDS](rds-proxy-creating.md).

Wenn Sie die end-to-end IAM-Authentifizierung verwenden, stellen Sie sicher, dass Ihre Datenbankbenutzer für die IAM-Authentifizierung konfiguriert sind, wie unter beschrieben. [Erstellen eines Datenbankkontos mithilfe der IAM-Authentifizierung](UsingWithRDS.IAMDBAuth.DBAccounts.md)

## Erstellen einer IAM-Richtlinie für den Zugriff auf Secrets Manager
<a name="rds-proxy-iam-setup-steps"></a>

Damit RDS-Proxy Datenbankanmeldedaten von Secrets Manager abrufen kann, erstellen Sie eine IAM-Rolle mit einer Richtlinie, die die notwendigen Berechtigungen gewährt.

## Konsole
<a name="rds-proxy-iam-console"></a>

**So erstellen Sie eine Rolle für den Zugriff auf Ihre Secrets für die Verwendung mit Ihrem Proxy**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Erstellen Sie eine Berechtigungsrichtlinie für die Rolle. Allgemeine Schritte finden Sie unter [IAM-Richtlinien erstellen (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html).

   Fügen Sie die folgende Richtlinie in den JSON-Editor ein und nehmen Sie die folgenden Änderungen vor:
   + Ersetzen Sie die Vorgabe durch Ihre eigene Konto-ID.
   + Ersetzen Sie `us-east-2` durch die Region, in der sich der Proxy befinden wird.
   + Ersetzen Sie die geheimen Namen durch die Namen, die Sie erstellt haben. Weitere Informationen finden Sie unter [Angeben von KMS-Schlüsseln in IAM-Richtlinienanweisungen](https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html).
   + Ersetzen Sie die KMS-Schlüssel-ID durch die, die Sie zur Verschlüsselung der Secrets von Secrets Manager verwendet haben, entweder den Standardschlüssel oder Ihren eigenen Schlüssel.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "secretsmanager:GetSecretValue",
               "Resource": [
                   "arn:aws:secretsmanager:us-east-2:111122223333:secret:secret_name_1",
                   "arn:aws:secretsmanager:us-east-2:111122223333:secret:secret_name_2"
               ]
           },
           {
               "Effect": "Allow",
               "Action": "kms:Decrypt",
               "Resource": "arn:aws:kms:us-east-2:111122223333:key/key_id",
               "Condition": {
                   "StringEquals": {
                       "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

1. Erstellen Sie die Rolle fügen Sie ihr die Berechtigungsrichtlinie an. Allgemeine Schritte finden Sie unter [Eine Rolle erstellen, um Berechtigungen für einen AWS Dienst zu delegieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html). 

   Wählen Sie für **Vertrauenswürdiger Entitätstyp** die Option **AWS -Service** aus. Wählen Sie unter **Anwendungsfall** die Option **RDS** und für den Anwendungsfall **RDS — Rolle zur Datenbank hinzufügen** aus.

1. Wählen Sie für **Berechtigungsrichtlinien** die Richtlinie aus, die Sie erstellt haben.

1. Geben Sie für **Vertrauenswürdige Entitäten auswählen** die folgende Vertrauensrichtlinie für die Rolle ein:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "",
         "Effect": "Allow",
         "Principal": {
           "Service": "rds.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

## AWS CLI
<a name="rds-proxy-iam-cli"></a>

Um die Rolle mithilfe von zu erstellen AWS CLI, senden Sie die folgende Anfrage:

```
aws iam create-role \
  --role-name my_role_name \
  --assume-role-policy-document '{"Version": "2012-10-17",		 	 	 "Statement":[{"Effect":"Allow","Principal":{"Service":["rds.amazonaws.com"]},"Action":"sts:AssumeRole"}]}'
```

Fügen Sie anschließend die Richtlinie an die Rolle an.

```
aws iam put-role-policy \
  --role-name my_role_name \
  --policy-name secret_reader_policy \
  --policy-document '{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "secretsmanager:GetSecretValue",
            "Resource": [
                "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_1",
                "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_2"
            ]
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "kms:Decrypt",
            "Resource": "arn:aws:kms:us-east-2:account_id:key/key_id",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com"
                }
            }
        }
    ]
}'
```

Nachdem Sie die IAM-Rolle und die Berechtigungen konfiguriert haben, können Sie nun einen Proxy erstellen und ihn dieser Rolle zuordnen. Auf diese Weise kann der Proxy Datenbankanmeldedaten sicher aus Ihren Anwendungen abrufen AWS Secrets Manager und die IAM-Authentifizierung für Ihre Anwendungen aktivieren. Detaillierte Anweisungen finden Sie unter [Erstellen eines Proxys für Amazon RDS](rds-proxy-creating.md).

# Erstellen eines Proxys für Amazon RDS
<a name="rds-proxy-creating"></a>

Sie können einen Proxy einer DB-Instance von RDS für MariaDB, RDS für Microsoft SQL Server, RDS für MySQL oder RDS für PostgreSQL zuordnen. 

## Konsole
<a name="rds-proxy-creating.console"></a>

**So erstellen Sie einen Proxy**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon RDS-Konsole unter [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Wählen Sie im Navigationsbereich **Proxies (Proxys)**. 

1. Wählen Sie **Create proxy (Proxy erstellen)**. 

1. Konfigurieren Sie die folgenden Einstellungen für Ihren Proxy.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/rds-proxy-creating.html)

1.  Wählen Sie **Create proxy (Proxy erstellen)**. 

## AWS CLI
<a name="rds-proxy-creating.CLI"></a>

 Um einen Proxy mit dem zu erstellen AWS CLI, rufen Sie den [create-db-proxy](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-proxy.html)Befehl 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.

**Example**  
Für Linux, macOS oder Unix:  

```
aws rds create-db-proxy \
    --db-proxy-name proxy_name \
    --engine-family { MYSQL | POSTGRESQL | SQLSERVER } \
    --role-arn iam_role \
    --vpc-subnet-ids space_separated_list \
    [--default-auth-scheme { NONE | IAM_AUTH }] \
    [--auth ProxyAuthenticationConfig_JSON_string] \
    [--vpc-security-group-ids space_separated_list] \
    [--require-tls | --no-require-tls] \
    [--idle-client-timeout value] \
    [--debug-logging | --no-debug-logging] \
    [--endpoint-network-type { IPV4 | IPV6 | DUAL }] \
    [--target-connection-network-type { IPV4 | IPV6 }] \
    [--tags comma_separated_list]
```
Für Windows:  

```
aws rds create-db-proxy ^
    --db-proxy-name proxy_name ^
    --engine-family { MYSQL | POSTGRESQL | SQLSERVER } ^
    --role-arn iam_role ^
    --vpc-subnet-ids space_separated_list ^
    [--default-auth-scheme { NONE | IAM_AUTH }] ^
    [--auth ProxyAuthenticationConfig_JSON_string] ^
    [--vpc-security-group-ids space_separated_list] ^
    [--require-tls | --no-require-tls] ^
    [--idle-client-timeout value] ^
    [--debug-logging | --no-debug-logging] ^
    [--endpoint-network-type { IPV4 | IPV6 | DUAL }] ^
    [--target-connection-network-type { IPV4 | IPV6 }] ^
    [--tags comma_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](rds-proxy-network-prereqs.md) 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](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-sharing.html#vpc-share-limitations). 

 Um die richtigen Verknüpfungen für den Proxy zu erstellen, verwenden Sie auch den [register-db-proxy-targets](https://docs.aws.amazon.com/cli/latest/reference/rds/register-db-proxy-targets.html)Befehl. 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-name target_group_name]
    [--db-instance-identifiers space_separated_list]  # rds db instances, or
    [--db-cluster-identifiers cluster_id]        # rds db cluster (all instances)
```

## RDS-API
<a name="rds-proxy-creating.API"></a>

 Um einen RDS-Proxy zu erstellen, rufen Sie den Amazon RDS-API-Vorgang [Create](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBProxy.html) aufDBProxy. Sie übergeben einen Parameter mit der [AuthConfig](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AuthConfig.html)Datenstruktur. 

 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](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RegisterDBProxyTargets.html) 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:connect` Berechtigungen verfügt.

# Anzeigen eines Proxys
<a name="rds-proxy-viewing"></a>

 Nachdem Sie einen oder mehrere RDS-Proxys erstellt haben, können Sie ihn bzw. sie in der AWS-Managementkonsole, der AWS CLI oder der RDS-API anzeigen und verwalten. Sie können ihre Konfigurationsdetails überprüfen, die Leistung überwachen und festlegen, welche Proxys nach Bedarf geändert oder gelöscht werden sollen.

Damit Datenbankanwendungen den Datenverkehr über einen Proxy weiterleiten können, müssen Sie den Proxy-Endpunkt in der Verbindungszeichenfolge angeben.

## Konsole
<a name="rds-proxy-viewing.console"></a>

**So zeigen Sie einen Proxy in der Konsole an**

1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-RDS-Konsole unter [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Wählen Sie im Navigationsbereich **Proxies (Proxys)**. 

1. Wählen Sie den Proxy-Namen aus, um seine Details anzuzeigen. 

1. Auf der Detailseite zeigt der Abschnitt **Zielgruppen** an, wie der Proxy einer spezifischen RDS-DB-Instance zugeordnet ist. Sie können zur Standardzielgruppenseite navigieren, um eine detailliertere Ansicht dieser Zuordnung zu erhalten, einschließlich der Konfigurationseinstellungen, die bei der Proxy-Erstellung definiert wurden. Zu diesen Einstellungen gehören maximaler Verbindungsprozentsatz, Zeitüberschreitung für die Verbindung, Engine-Familie und Sitzungs-Pinning-Filter.

## CLI
<a name="rds-proxy-viewing.cli"></a>

 Um Ihren Proxy mit der CLI anzuzeigen, verwenden Sie den Befehl [describe-db-proxies](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxies.html). Standardmäßig werden alle Proxys im Besitz Ihres AWS-Kontos zurückgegeben. Um Details für einen einzelnen Proxy anzuzeigen, geben Sie seinen Namen mit dem Parameter `--db-proxy-name` an. 

```
aws rds describe-db-proxies [--db-proxy-name proxy_name]
```

 Verwenden Sie die folgenden Befehle, um die anderen Informationen anzuzeigen, die mit dem Proxy verknüpft sind. 

```
aws rds describe-db-proxy-target-groups  --db-proxy-name proxy_name

aws rds describe-db-proxy-targets --db-proxy-name proxy_name
```

 Verwenden Sie die folgende Befehlsfolge, um weitere Details zu den Elementen anzuzeigen, die mit dem Proxy verknüpft sind: 

1.  Um eine Liste von Proxys anzufordern, führen Sie [describe-db-proxies](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxies.html) aus. 

1.  Führen Sie [describe-db-proxy-target-groups](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxy-target-groups.html) `--db-proxy-name` aus, um Verbindungsparameter anzuzeigen, wie den maximalen Prozentsatz der Verbindungen, die der Proxy verwenden kann. Verwenden Sie den Namen des Proxys als Parameterwert. 

1.  Führen Sie zum Anzeigen der Details der RDS-DB-Instance, die/der der zurückgegebenen Zielgruppe zugeordnet ist, [describe-db-proxy-targets](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxy-targets.html) aus. 

## RDS-API
<a name="rds-proxy-viewing.api"></a>

 Verwenden Sie den Vorgang [DescribeDBProxies](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBProxies.html), um Ihre Proxys mit der RDS-API anzuzeigen. Er gibt Werte des Datentyps [DBProxy](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBProxy.html) zurück. 

 Um Details zu den Verbindungseinstellungen für den Proxy anzuzeigen, verwenden Sie die Proxy-Bezeichner aus diesem Rückgabewert mit der Operation [DescribeDBProxyTargetGroups](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBProxyTargetGroups.html). Er gibt Werte des Datentyps [DBProxyTargetGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBProxyTargetGroup.html) zurück. 

 Sie können die dem Proxy zugeordnete RDS-Instance oder das Aurora-DB-Cluster mithilfe der Operation [DescribeDBProxyTargets](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBProxyTargets.html) anzeigen. Er gibt Werte des Datentyps [DBProxyTarget](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DBProxyTarget.html) zurück. 

# Verbinden mit einer Datenbank über RDS-Proxy
<a name="rds-proxy-connecting"></a>

Sie stellen eine Verbindung mit einer RDS-DB-Instance über einen Proxy in der Regel auf die gleiche Weise her, wie Sie eine Verbindung mit der Datenbank herstellen. Weitere Informationen finden Sie unter [Überblick über Proxy-Endpunkte](rds-proxy-endpoints.md#rds-proxy-endpoints-overview). 

**Topics**
+ [Mit Datenbankanmeldeinformationen eine Verbindung zu einer Datenbank herstellen](#rds-proxy-connecting-native)
+ [Mithilfe der IAM-Authentifizierung eine Verbindung zu einer Datenbank herstellen](#rds-proxy-connecting-iam)
+ [Überlegungen zum Herstellen einer Verbindung mit Microsoft SQL Server](#rds-proxy-connecting-sqlserver)
+ [Überlegungen zum Herstellen einer Verbindung zu PostgreSQL](#rds-proxy-connecting-postgresql)

## Mit Datenbankanmeldeinformationen eine Verbindung zu einer Datenbank herstellen
<a name="rds-proxy-connecting-native"></a>

 Gehen Sie wie folgt vor, um mithilfe von Datenbankanmeldedaten eine Verbindung zu einem Proxy herzustellen: 

1.  Suchen Sie den Proxy-Endpunkt. Im finden Sie den AWS-Managementkonsole Endpunkt auf der Detailseite für den entsprechenden Proxy. Mit dem AWS CLI können Sie den [describe-db-proxies](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxies.html)Befehl verwenden. Im folgenden Beispiel wird gezeigt, wie dies geschieht. 

   ```
   # Add --output text to get output as a simple tab-separated list.
   $ aws rds describe-db-proxies --query '*[*].{DBProxyName:DBProxyName,Endpoint:Endpoint}'
   [
       [
           {
               "Endpoint": "the-proxy.proxy-demo.us-east-1.rds.amazonaws.com",
               "DBProxyName": "the-proxy"
           },
           {
               "Endpoint": "the-proxy-other-secret.proxy-demo.us-east-1.rds.amazonaws.com",
               "DBProxyName": "the-proxy-other-secret"
           },
           {
               "Endpoint": "the-proxy-rds-secret.proxy-demo.us-east-1.rds.amazonaws.com",
               "DBProxyName": "the-proxy-rds-secret"
           },
           {
               "Endpoint": "the-proxy-t3.proxy-demo.us-east-1.rds.amazonaws.com",
               "DBProxyName": "the-proxy-t3"
           }
       ]
   ]
   ```

1.  Geben Sie den Endpunkt als Hostparameter in der Verbindungszeichenfolge für Ihre Clientanwendung an. Geben Sie beispielsweise den Proxy-Endpunkt als Wert für die Option `mysql -h` oder `psql -h` an. 

1.  Geben Sie denselben Datenbankbenutzernamen und dasselbe Passwort an, die Sie normalerweise verwenden. 

## Mithilfe der IAM-Authentifizierung eine Verbindung zu einer Datenbank herstellen
<a name="rds-proxy-connecting-iam"></a>

 Wenn Sie die IAM-Authentifizierung mit RDS Proxy verwenden, haben Sie zwei Optionen für die Authentifizierung zwischen Ihrem Client und dem Proxy:
+ Richten Sie Ihre Datenbankbenutzer so ein, dass sie sich mit normalen Benutzernamen und Passwörtern authentifizieren. RDS Proxy ruft den Benutzernamen und das Passwort von Secrets Manager ab. Die Verbindung von RDS-Proxy zur zugrunde liegenden Datenbank erfolgt nicht über IAM.
+ Sie können auch die end-to-end IAM-Authentifizierung verwenden, bei der über den Proxy mithilfe von IAM eine Verbindung zu Ihrer Datenbank hergestellt wird, ohne dass Datenbankanmeldeinformationen erforderlich sind.

 Um mittels IAM-Authentifizierung eine Verbindung mit dem RDS-Proxy herzustellen, befolgen Sie das gleiche allgemeine Verfahren wie für die IAM-Authentifizierung mit einer RDS-DB-Instance. Allgemeine Informationen zur Verwendung von IAM finden Sie unter [Sicherheit in Amazon RDS ](UsingWithRDS.md). Wenn Sie die end-to-end IAM-Authentifizierung verwenden, stellen Sie Ihrem DB-Benutzer das IAM-Authentifizierungs-Plugin zur Verfügung. Siehe [Erstellen eines Datenbankkontos mithilfe der IAM-Authentifizierung](UsingWithRDS.IAMDBAuth.DBAccounts.md).

 Zu den Hauptunterschieden bei der IAM-Nutzung für RDS-Proxy gehören die folgenden: 
+ Bei der Standard-IAM-Authentifizierung verfügen Datenbankbenutzer über reguläre Anmeldeinformationen in der Datenbank. Sie richten Secrets Manager-Geheimnisse ein, die diese Benutzernamen und Passwörter enthalten, und autorisieren RDS-Proxy, die Anmeldeinformationen von Secrets Manager abzurufen. Die IAM-Authentifizierung gilt für die Verbindung zwischen Ihrem Clientprogramm und dem Proxy. Der Proxy authentifiziert sich dann bei der Datenbank mit den Anmeldeinformationen aus Benutzername und Passwort, die von Secrets Manager abgerufen wurden.
+ Mit der end-to-end IAM-Authentifizierung müssen Sie Secrets Manager nicht für Datenbankanmeldedaten konfigurieren. Die IAM-Authentifizierung gilt für die Verbindung zwischen dem Client zum Proxy und dem Proxy zur Datenbank.
+ Anstelle des Instance-, Cluster- oder Leser-Endpunkts geben Sie den Proxy-Endpunkt an. Weitere Informationen zum Proxy-Endpunkt finden Sie unter [Herstellen einer Verbindung zu Ihrem DB-Instance- mithilfe der IAM-Authentifizierung](UsingWithRDS.IAMDBAuth.Connecting.md).
+ Sie müssen Transport Layer Security (TLS)/Secure Sockets Layer (SSL) verwenden, wenn Sie mit IAM-Authentifizierung eine Verbindung zu einem Proxy herstellen.

Sie können einem bestimmten Benutzer Zugriff auf den Proxy gewähren, indem Sie die IAM-Richtlinie ändern. Ein Beispiel folgt.

```
"Resource": "arn:aws:rds-db:us-east-2:1234567890:dbuser:prx-ABCDEFGHIJKL01234/db_user"
```

**Tipp**  
Beachten Sie bei der Konfiguration der IAM-Authentifizierung für RDS-Proxyverbindungen die folgenden wichtigen Richtlinien, um Verbindungsprobleme zu vermeiden:  
Gewähren Sie die `rds_iam` Rolle nicht und behalten Sie gleichzeitig die allgemeine Passwortauthentifizierung für denselben Datenbankbenutzer oder dieselbe Rolle bei.
Denken Sie daran, dass Clients zwar mithilfe der IAM-Authentifizierung eine Verbindung zum RDS-Proxy herstellen, RDS-Proxy jedoch immer mithilfe der Kennwortauthentifizierung über Secrets Manager eine Verbindung zur Datenbank herstellt.
Wenn Sie häufig Verbindungsabbrüche und Verbindungswiederverbindungen feststellen, entfernen Sie alle vorhandenen `rds_iam` Berechtigungen für den Benutzer oder die Rolle und verwenden Sie nur die Kennwortauthentifizierung.
Stellen Sie sicher, dass Ihre Passwortrichtlinie die SCRAM-SHA-256-Anforderungen für sichere Zeichen erfüllt.
Die Kombination von IAM- und Kennwortauthentifizierungsmethoden für denselben Datenbankbenutzer kann zu Verbindungsinstabilität führen.

## Überlegungen zum Herstellen einer Verbindung mit Microsoft SQL Server
<a name="rds-proxy-connecting-sqlserver"></a>

Für die Verbindung mit einem Proxy mithilfe der IAM-Authentifizierung verwenden Sie nicht das Passwortfeld. Stattdessen geben Sie die entsprechende Tokeneigenschaft für jeden Datenbanktreibertyp im Tokenfeld an. Verwenden Sie beispielsweise die `accessToken`-Eigenschaft für JDBC oder die `sql_copt_ss_access_token`-Eigenschaft für ODBC. Oder verwenden Sie die `AccessToken` Eigenschaft für den SqlClient .NET-Treiber. Sie können die IAM-Authentifizierung nicht mit Clients verwenden, die keine Tokeneigenschaften unterstützen.

Unter bestimmten Bedingungen kann ein Proxy eine Datenbankverbindung nicht gemeinsam nutzen und fixiert stattdessen die Verbindung von Ihrer Client-Anwendung zum Proxy an eine dedizierte Datenbankverbindung. Weitere Informationen über diese Bedingungen finden Sie unter [Vermeiden von Pinning beim RDS-Proxy](rds-proxy-pinning.md).

## Überlegungen zum Herstellen einer Verbindung zu PostgreSQL
<a name="rds-proxy-connecting-postgresql"></a>

Stellen Sie beim Erstellen eines neuen PostgreSQL-Datenbankbenutzers für die Verbindung mit dem RDS-Proxy sicher, dass Sie die Benutzerberechtigung `CONNECT` für die Datenbank gewähren. Ohne diese kann der Benutzer keine Verbindung herstellen. Weitere Informationen finden Sie unter [Hinzufügen eines neuen Datenbankbenutzers zu einer PostgreSQL-Datenbank bei Verwendung von RDS-Proxy](rds-proxy-new-db-user.md#rds-proxy-new-db-user-pg).

Wenn ein Client beginnt, eine Verbindung mit einer PostgreSQL-Datenbank herzustellen, sendet er eine Startmeldung. Diese Nachricht enthält Paare von Parameternamen und Wertzeichenfolgen. Weitere Informationen finden Sie unter `StartupMessage` in den [PostgreSQL-Nachrichtenformaten](https://www.postgresql.org/docs/current/protocol-message-formats.html) in der PostgreSQL-Dokumentation. 

Wenn Sie eine Verbindung über einen RDS-Proxy herstellen, kann die Startmeldung die folgenden aktuell erkannten Parameter enthalten: 
+  `user` 
+  `database`

 Die Startmeldung kann auch die folgenden zusätzlichen Laufzeitparameter enthalten: 
+ `[application\$1name](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-APPLICATION-NAME) `
+ `[client\$1encoding](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-CLIENT-ENCODING) `
+ `[DateStyle](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-DATESTYLE) `
+ `[TimeZone](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-TIMEZONE) `
+  `[extra\$1float\$1digits](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-EXTRA-FLOAT-DIGITS) `
+  `[ search\$1path ](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-SEARCH-PATH)` 

 Weitere Informationen zum PostgreSQL-Messaging finden Sie im [Frontend/Backend-Protokoll](https://www.postgresql.org/docs/current/protocol.html) in der PostgreSQL-Dokumentation.

 Für PostgreSQL empfehlen wir bei Verwendung von JDBC Folgendes, um Pinning zu vermeiden:
+ Stellen Sie den JDBC-Verbindungsparameter `assumeMinServerVersion` mindestens auf `9.0` ein, um Pinning zu vermeiden. Dadurch wird verhindert, dass der JDBC-Treiber beim Starten der Verbindung einen zusätzlichen Roundtrip durchführt, wenn `SET extra_float_digits = 3` ausgeführt wird. 
+ Setzen Sie den JDBC-Verbindungsparameter `ApplicationName` auf `any/your-application-name`, um Pinning zu vermeiden. Dadurch wird verhindert, dass der JDBC-Treiber beim Starten der Verbindung einen zusätzlichen Roundtrip ausführt, wenn er ausführ `SET application_name = "PostgreSQL JDBC Driver"`. Beachten Sie, dass der JDBC-Parameter `ApplicationName`, der PostgreSQL-`StartupMessage`-Parameter aber `application_name` ist.

Weitere Informationen finden Sie unter [Vermeiden von Pinning beim RDS-Proxy](rds-proxy-pinning.md). Weitere Informationen zum Herstellen einer Verbindung mit JDBC finden Sie unter [Verbinden mit der Datenbank](https://jdbc.postgresql.org/documentation/setup/) in der PostgreSQL-Dokumentation.

# Verwalten eines RDS-Proxy
<a name="rds-proxy-managing"></a>

 Dieser Abschnitt enthält Informationen zum Verwalten des Betriebs und der Konfiguration von RDS-Proxys. Diese Verfahren helfen Ihrer Anwendung, Datenbankverbindungen möglichst effizient zu nutzen und eine maximale Wiederverwendung der Verbindung zu erzielen. Je mehr Sie die Wiederverwendung der Verbindung nutzen können, desto mehr CPU- und Arbeitsspeicher-Overhead können Sie sparen. Dies reduziert wiederum die Latenz für Ihre Anwendung und ermöglicht es der Datenbank, mehr Ressourcen für die Verarbeitung von Anwendungsanforderungen zu verwenden. 

**Topics**
+ [Ändern eines RDS-Proxy](rds-proxy-modifying-proxy.md)
+ [Hinzufügen eines neuen Datenbankbenutzers bei Verwendung von RDS-Proxy](rds-proxy-new-db-user.md)
+ [Umstellung von der Standard-IAM-Authentifizierung zur end-to-end IAM-Authentifizierung für RDS Proxy](rds-proxy-iam-migration.md)
+ [Überlegungen zu RDS-Proxy-Verbindungen](rds-proxy-connections.md)
+ [Vermeiden von Pinning beim RDS-Proxy](rds-proxy-pinning.md)
+ [Löschen eines RDS-Proxy](rds-proxy-deleting.md)

# Ändern eines RDS-Proxy
<a name="rds-proxy-modifying-proxy"></a>

 Sie können bestimmte Einstellungen ändern, die einem Proxy zugeordnet sind, nachdem Sie den Proxy erstellt haben. Dazu ändern Sie den Proxy selbst, die zugehörige Zielgruppe oder beides. Jedem Proxy ist eine Zielgruppe zugeordnet. 

## AWS-Managementkonsole
<a name="rds-proxy-modifying-proxy.console"></a>

**Wichtig**  
Die Werte in den Feldern **Client authentication type** (Client-Authentifizierungstyp) und **IAM authentication** (IAM-Authentifizierung) gelten für alle Secrets-Manager-Secrets, die diesem Proxy zugeordnet sind. Um für jedes Geheimnis unterschiedliche Werte anzugeben, ändern Sie Ihren Proxy, indem Sie stattdessen die AWS CLI oder die API verwenden.

**So ändern Sie die Einstellungen für einen Proxy:**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon RDS-Konsole unter [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  Wählen Sie im Navigationsbereich **Proxies (Proxys)**. 

1.  Wählen Sie in der Liste der Proxys den Proxy aus, dessen Einstellungen Sie ändern möchten, oder gehen Sie zur Detailseite. 

1.  Wählen Sie für **Actions (Aktionen)** die Option **Modify (Ändern)** aus. 

1.  Geben Sie die zu ändernden Eigenschaften ein, oder wählen Sie sie aus. Sie können folgende Formen angeben: 
   +  **Proxy-Identifikator **- Benennen Sie den Proxy um, indem Sie einen neuen Identifikator eingeben. 
   +  **Zeitüberschreitung für Client-Verbindungsleerlauf**— Geben Sie einen Zeitraum für das Timeout für die Clientleerlauf ein. 
   +  **IAM-Rolle** - Ändern Sie die IAM-Rolle, die zum Abrufen der Geheimnisse von Secrets Manager verwendet wird. 
**Anmerkung**  
Sie können keine neue IAM-Rolle erstellen, wenn Sie das **Standardauthentifizierungsschema auf **IAM-Authentifizierung**** festlegen.
   +  **Secrets Manager-Secrets**— Hinzufügen oder entfernen Sie Secrets Manager Geheimnisse. Diese Secrets entsprechen Datenbankbenutzernamen und Passwörtern. 
   +  **Client-Authentifizierungstyp** — Ändern Sie den Authentifizierungstyp für Client-Verbindungen zum Proxy. 
   +  **IAM authentication** (IAM-Authentifizierung) – Verlangen oder unterbinden Sie die IAM-Authentifizierung für Verbindungen mit dem Proxy. 
   +  **Standardauthentifizierungsschema** — Ändern Sie das Standardauthentifizierungsschema, das der Proxy für Client-Verbindungen zum Proxy und Verbindungen vom Proxy zur zugrunde liegenden Datenbank verwendet. 
   +  **Require Transport Layer Security**— Aktivieren oder deaktivieren Sie die Anforderung für Transport Layer Security (TLS). 
   +  **VPC-Sicherheitsgruppe** - Fügen Sie VPC-Sicherheitsgruppen hinzu oder entfernen Sie sie, damit der Proxy sie verwenden kann. 
   +  **Aktivieren der erweiterten Protokollierung**— Aktivieren oder deaktivieren Sie die erweiterte Protokollierung. 

1.  Wählen Sie **Ändern** aus. 

Wenn Sie die Einstellungen, die Sie ändern möchten, in der Liste nicht gefunden haben, verwenden Sie das folgende Verfahren, um die Zielgruppe für den Proxy zu aktualisieren. Die *Zielgruppe*, die einem Proxy zugeordnet ist, steuert die Einstellungen für die physischen Datenbankverbindungen. Jedem Proxy ist eine Zielgruppe mit dem Namen `default` zugeordnet, die automatisch zusammen mit dem Proxy erstellt wird. Sie können die Standardzielgruppe nicht umbenennen.

 Sie können die Zielgruppe nur über die Proxy-Detailseite ändern, nicht über die Liste auf der Seite **Proxies (Proxys)**. 

**So ändern Sie die Einstellungen für eine Proxy-Zielgruppe:**

1.  Gehen Sie auf der Seite **Proxys** zur Detailseite für einen Proxy. 

1.  Wählen Sie für **Target groups (Zielgruppen)** den `default`-Link aus. Derzeit haben alle Proxys eine einzelne Zielgruppe mit dem Namen `default`. 

1.  Wählen Sie auf der Detailseite für die **Standard**-Zielgruppe die Option **Modify (Ändern)**. 

1.  Wählen Sie neue Einstellungen für die Eigenschaften aus, die Sie ändern können: 
   +  **Datenbank** – Wählen Sie eine andere RDS-DB-Instance oder Cluster aus. 
   +  **Maximale Verbindungen des Verbindungspools **- Legen Sie fest, wie viel Prozent der maximal verfügbaren Verbindungen der Proxy nutzen kann. 
   +  **Vortrags-Anheftungsfilter** – Wählen Sie optional einen Vortrags-Anheftungsfilter aus. Dadurch werden die standardmäßigen Sicherheitsmaßnahmen für das Multiplexing von Datenbankverbindungen über Client-Verbindungen hinweg umgangen. Derzeit wird die Einstellung für PostgreSQL nicht unterstützt. Die einzige Wahlmöglichkeit ist `EXCLUDE_VARIABLE_SETS`. 

     Die Aktivierung dieser Einstellung kann dazu führen, dass sich Sitzungsvariablen einer Verbindung auf andere Verbindungen auswirken. Dies kann zu Fehlern oder Problemen mit der Korrektheit führen, wenn Ihre Abfragen von Sitzungsvariablenwerten abhängen, die außerhalb der aktuellen Transaktion festgelegt wurden. Erwägen Sie, diese Option zu verwenden, nachdem Sie sich vergewissert haben, dass Ihre Anwendungen Datenbankverbindungen über mehrere Client-Verbindungen gemeinsam nutzen können.

     Die folgenden Muster können als sicher angesehen werden:
     + `SET`-Anweisungen, bei denen der effektive Wert der Sitzungsvariablen nicht geändert wird, d. h. dass keine Änderung an der Sitzungsvariablen vorgenommen wird.
     + 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](rds-proxy-pinning.md). 
   +  **Connection borrow timeout**— Passen Sie das Timeout-Intervall der Verbindung an. Diese Einstellung gilt, wenn für den Proxy bereits die maximale Anzahl von Verbindungen verwendet wird. Diese Einstellung legt fest, wie lange der Proxy wartet, bis eine Verbindung verfügbar ist, bevor ein Timeout-Fehler zurückgegeben wird. 
   + **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 einzelne `SET`-Anweisung einzuschließen. Zum Beispiel:

     ```
     SET variable1=value1, variable2=value2
     ```

     Verwenden Sie für mehrere Anweisungen Semikola als Trennzeichen.

    Sie können bestimmte Eigenschaften, z. B. die Zielgruppenkennung und die Datenbank-Engine, nicht ändern. 

1.  Wählen Sie **Modify target group (Zielgruppe ändern)**. 

## AWS CLI
<a name="rds-proxy-modifying-proxy.cli"></a>

 Um einen Proxy mit dem zu ändern AWS CLI, verwenden Sie die Befehle [modify-db-proxymodify-db-proxy-target](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-proxy.html)[-group [deregister-db-proxy-targets](https://docs.aws.amazon.com/cli/latest/reference/rds/deregister-db-proxy-targets.html)](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-proxy-target-group.html), und [register-db-proxy-targets](https://docs.aws.amazon.com/cli/latest/reference/rds/register-db-proxy-targets.html). 

 Mit dem Befehl `modify-db-proxy` können Sie Eigenschaften wie die folgenden ändern: 
+  Der Satz von Secrets Manager-Secrets, die vom Proxy verwendet werden. 
+  Ob TLS erforderlich ist. 
+  Das Timeout für Client-Leerlauf. 
+  Ob zusätzliche Informationen aus SQL-Anweisungen zum Debuggen protokolliert werden sollen. 
+  Die IAM-Rolle, die zum Abrufen von Secrets Manager-Secrets verwendet wird. 
+  Die vom Proxy verwendeten Sicherheitsgruppen. 
+ Das dem Proxy zugeordnete Standardauthentifizierungsschema.

 Das folgende Beispiel zeigt, wie ein vorhandener Proxy umbenannt wird. 

```
aws rds modify-db-proxy --db-proxy-name the-proxy --new-db-proxy-name the_new_name
```

Um verbindungsbezogene Einstellungen zu ändern oder die Zielgruppe umzubenennen, verwenden Sie den Befehl `modify-db-proxy-target-group`. Derzeit haben alle Proxys eine einzelne Zielgruppe mit dem Namen `default`. Wenn Sie mit dieser Zielgruppe arbeiten, geben Sie den Namen des Proxys und `default` als Name der Zielgruppe an. Sie können die Standardzielgruppe nicht umbenennen.

 Das folgende Beispiel zeigt, wie Sie zuerst die `MaxIdleConnectionsPercent`-Einstellung für einen Proxy überprüfen und dann mithilfe der Zielgruppe ändern. 

```
aws rds describe-db-proxy-target-groups --db-proxy-name the-proxy

{
    "TargetGroups": [
        {
            "Status": "available",
            "UpdatedDate": "2019-11-30T16:49:30.342Z",
            "ConnectionPoolConfig": {
                "MaxIdleConnectionsPercent": 50,
                "ConnectionBorrowTimeout": 120,
                "MaxConnectionsPercent": 100,
                "SessionPinningFilters": []
            },
            "TargetGroupName": "default",
            "CreatedDate": "2019-11-30T16:49:27.940Z",
            "DBProxyName": "the-proxy",
            "IsDefault": true
        }
    ]
}

aws rds modify-db-proxy-target-group --db-proxy-name the-proxy --target-group-name default --connection-pool-config '
{ "MaxIdleConnectionsPercent": 75 }'

{
    "DBProxyTargetGroup": {
        "Status": "available",
        "UpdatedDate": "2019-12-02T04:09:50.420Z",
        "ConnectionPoolConfig": {
            "MaxIdleConnectionsPercent": 75,
            "ConnectionBorrowTimeout": 120,
            "MaxConnectionsPercent": 100,
            "SessionPinningFilters": []
        },
        "TargetGroupName": "default",
        "CreatedDate": "2019-11-30T16:49:27.940Z",
        "DBProxyName": "the-proxy",
        "IsDefault": true
    }
}
```

 Mit den Befehlen `deregister-db-proxy-targets` und `register-db-proxy-targets` ändern Sie, welchen RDS-DB-Instances der Proxy über die Zielgruppe zugeordnet ist. Derzeit kann jeder Proxy eine Verbindung zu einer RDS-DB-Instance herstellen. Die Zielgruppe verfolgt die Verbindungsdetails für alle RDS-DB-Instances in einer Multi-AZ-Konfiguration.

 Das folgende Beispiel beginnt mit einem Proxy, der einem Aurora MySQL-Cluster mit dem Namen zugeordnet is `cluster-56-2020-02-25-1399`. Das Beispiel zeigt, wie der Proxy so geändert wird, dass er eine Verbindung zu einem anderen Cluster namens herstellen kan `provisioned-cluster`. 

 Wenn Sie mit einer RDS-DB-Instance arbeiten, geben Sie die `--db-instance-identifier`-Option an. 

 Im folgenden Beispiel wird ein Aurora MySQL-Proxy geändert. Ein Aurora PostgreSQL-Proxy hat Port 5432. 

```
aws rds describe-db-proxy-targets --db-proxy-name the-proxy

{
    "Targets": [
        {
            "Endpoint": "instance-9814.demo.us-east-1.rds.amazonaws.com",
            "Type": "RDS_INSTANCE",
            "Port": 3306,
            "RdsResourceId": "instance-9814"
        },
        {
            "Endpoint": "instance-8898.demo.us-east-1.rds.amazonaws.com",
            "Type": "RDS_INSTANCE",
            "Port": 3306,
            "RdsResourceId": "instance-8898"
        },
        {
            "Endpoint": "instance-1018.demo.us-east-1.rds.amazonaws.com",
            "Type": "RDS_INSTANCE",
            "Port": 3306,
            "RdsResourceId": "instance-1018"
        },
        {
            "Type": "TRACKED_CLUSTER",
            "Port": 0,
            "RdsResourceId": "cluster-56-2020-02-25-1399"
        },
        {
            "Endpoint": "instance-4330.demo.us-east-1.rds.amazonaws.com",
            "Type": "RDS_INSTANCE",
            "Port": 3306,
            "RdsResourceId": "instance-4330"
        }
    ]
}

aws rds deregister-db-proxy-targets --db-proxy-name the-proxy --db-cluster-identifier cluster-56-2020-02-25-1399

aws rds describe-db-proxy-targets --db-proxy-name the-proxy

{
    "Targets": []
}

aws rds register-db-proxy-targets --db-proxy-name the-proxy --db-cluster-identifier provisioned-cluster

{
    "DBProxyTargets": [
        {
            "Type": "TRACKED_CLUSTER",
            "Port": 0,
            "RdsResourceId": "provisioned-cluster"
        },
        {
            "Endpoint": "gkldje.demo.us-east-1.rds.amazonaws.com",
            "Type": "RDS_INSTANCE",
            "Port": 3306,
            "RdsResourceId": "gkldje"
        },
        {
            "Endpoint": "provisioned-1.demo.us-east-1.rds.amazonaws.com",
            "Type": "RDS_INSTANCE",
            "Port": 3306,
            "RdsResourceId": "provisioned-1"
        }
    ]
}
```

## RDS-API
<a name="rds-proxy-modifying-proxy.api"></a>

 Um einen Proxy mithilfe der RDS-API zu ändern, verwenden Sie die Operationen [Modify DBProxy](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBProxy.html), [Modify DBProxy TargetGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBProxyTargetGroup.html), [Deregister DBProxy Targets](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeregisterDBProxyTargets.html) und [Register DBProxy Targets](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RegisterDBProxyTargets.html). 

 Mit `ModifyDBProxy` können Sie Eigenschaften wie die folgenden ändern: 
+  Der Satz von Secrets Manager-Secrets, die vom Proxy verwendet werden. 
+  Ob TLS erforderlich ist. 
+  Das Timeout für Client-Leerlauf. 
+  Ob zusätzliche Informationen aus SQL-Anweisungen zum Debuggen protokolliert werden sollen. 
+  Die IAM-Rolle, die zum Abrufen von Secrets Manager-Secrets verwendet wird. 
+  Die vom Proxy verwendeten Sicherheitsgruppen. 

Mit `ModifyDBProxyTargetGroup` können Sie verbindungsbezogene Einstellungen ändern. Derzeit haben alle Proxys eine einzelne Zielgruppe mit dem Namen `default`. Wenn Sie mit dieser Zielgruppe arbeiten, geben Sie den Namen des Proxys und `default` als Name der Zielgruppe an. Sie können die Standardzielgruppe nicht umbenennen.

 Mit `DeregisterDBProxyTargets` und `RegisterDBProxyTargets` ändern Sie, welcher RDS-DB-Instance der Proxy über die Zielgruppe zugeordnet ist. Derzeit kann jeder Proxy eine Verbindung mit einer RDS-DB-Instance herstellen. Die Zielgruppe verfolgt die Verbindungsdetails für die RDS-DB-Instances in einer Multi-AZ-Konfiguration. 

# Hinzufügen eines neuen Datenbankbenutzers bei Verwendung von RDS-Proxy
<a name="rds-proxy-new-db-user"></a>

In einigen Fällen können Sie einen neuen Datenbankbenutzer zu einer RD-DB-Instance oder -Cluster mit Proxy-Zuordnung hinzufügen. Fahren Sie fort, je nachdem, ob Sie die Standardauthentifizierung mit Secrets Manager Manager-Geheimnissen oder die end-to-end IAM-Authentifizierung verwenden.

Wenn Sie die Standard-IAM-Authentifizierung verwenden, folgen Sie diesen Anweisungen:

1. Erstellen Sie ein neues Secrets-Manager-Secret, indem Sie das unter beschriebene Verfahren verwende [Datenbankanmeldedaten für RDS Proxy einrichten](rds-proxy-secrets-arns.md). 

1. Aktualisieren Sie die IAM-Rolle, um RDS-Proxy Zugriff auf das neue Secrets Manager-Geheimnis zu gewähren. Aktualisieren Sie dazu den Ressourcenabschnitt der IAM-Rollenrichtlinie. 

1. Ändern Sie den RDS-Proxy, um das neue Secret von Secrets Manager unter **Secrets Manager Secrets** hinzuzufügen.

1.  Wenn der neue Benutzer an die Stelle eines vorhandenen Benutzers tritt, aktualisieren Sie die Anmeldeinformationen, die im Secrets Manager-Secret des Proxys für den vorhandenen Benutzer gespeichert sind. 

Wenn Sie die end-to-end IAM-Authentifizierung verwenden, müssen Sie den Datenbankbenutzer erstellen und IAM-Berechtigungen konfigurieren. Führen Sie dazu die folgenden Schritte aus:

1. Erstellen Sie einen neuen Datenbankbenutzer in Ihrer Datenbank, der dem IAM-Benutzer- oder Rollennamen entspricht, den Sie für die Authentifizierung verwenden möchten.

1. Stellen Sie sicher, dass der Datenbankbenutzer mit dem IAM-Authentifizierungs-Plugin in der Datenbank konfiguriert ist. Siehe [Erstellen eines Datenbankkontos mithilfe der IAM-Authentifizierung](UsingWithRDS.IAMDBAuth.DBAccounts.md).

1. Aktualisieren Sie die IAM-Richtlinie, um dem IAM-Benutzer oder der IAM-Rolle die `rds-db:connect` Berechtigung zu erteilen, wie unter beschrieben. [Eine IAM-Richtlinie für end-to-end die IAM-Authentifizierung erstellen](rds-proxy-iam-setup.md#rds-proxy-iam-setup-e2e-steps)

1. Stellen Sie sicher, dass Ihr Proxy so konfiguriert ist, dass er die IAM-Authentifizierung als Standardauthentifizierungsschema verwendet.

Mit der end-to-end IAM-Authentifizierung müssen Sie Datenbankanmeldedaten nicht in Secrets Manager Manager-Geheimnissen verwalten, da IAM-Anmeldeinformationen für die Authentifizierung vom Client zum Proxy und vom Proxy zur Datenbank verwendet werden. 

## Hinzufügen eines neuen Datenbankbenutzers zu einer PostgreSQL-Datenbank bei Verwendung von RDS-Proxy
<a name="rds-proxy-new-db-user-pg"></a>

Gehen Sie beim Hinzufügen eines neuen Benutzers zu Ihrer PostgreSQL-Datenbank wie folgt vor, wenn Sie den folgenden Befehl ausgeführt haben:

```
REVOKE CONNECT ON DATABASE postgres FROM PUBLIC;
```

Gewähren Sie dem Benutzer `rdsproxyadmin` die `CONNECT`-Berechtigung, damit der Benutzer Verbindungen in der Zieldatenbank überwachen kann. 

```
GRANT CONNECT ON DATABASE postgres TO rdsproxyadmin;
```

Sie können auch anderen Zieldatenbankbenutzern die Durchführung von Zustandsprüfungen ermöglichen, indem Sie im obigen Befehl `rdsproxyadmin` auf den Datenbankbenutzer ändern.

## Ändern des Passworts für einen Datenbankbenutzer bei Verwendung von RDS-Proxy
<a name="rds-proxy-changing-db-user-password"></a>

In einigen Fällen können Sie das Passwort für einen Datenbankbenutzer in einer RDS-DB-Instance mit Proxy-Zuordnung ändern. Aktualisieren Sie dazu das entsprechende Secrets Manager-Secret mit dem neuen Passwort.

Wenn Sie die end-to-end IAM-Authentifizierung verwenden, müssen Sie keine Passwörter in Secrets Manager Secrets aktualisieren.

# Umstellung von der Standard-IAM-Authentifizierung zur end-to-end IAM-Authentifizierung für RDS Proxy
<a name="rds-proxy-iam-migration"></a>

 Wenn Sie derzeit die Standard-IAM-Authentifizierung für den RDS-Proxy verwenden, bei der sich Clients mit IAM am Proxy authentifizieren, der Proxy jedoch mithilfe von Geheimnissen eine Verbindung zur Datenbank herstellt, können Sie zur IAM-Authentifizierung migrieren, bei der client-to-proxy sowohl proxy-to-database Verbindungen als auch Verbindungen die end-to-end IAM-Authentifizierung verwenden. 

**Um zur IAM-Authentifizierung zu wechseln end-to-end**

1. **Aktualisieren Sie die IAM-Rollenberechtigungen für RDS Proxy**

   Erstellen Sie eine aktualisierte Proxy-Berechtigungsrichtlinie, die sowohl Secrets Manager als auch `rds:db-connect` Berechtigungen umfasst:

   ```
   # Create updated proxy permission policy
   cat > updated-proxy-policy.json ≪ EOF
   ```

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "GetSecretsValue",
         "Action": [
           "secretsmanager:GetSecretValue"
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName-1234f"
         ]
       },
       {
         "Sid": "RdsDBConnect",
         "Action": [
           "rds-db:connect"
         ],
         "Effect": "Allow",
         "Resource": [
           "arn:aws:rds-db:us-east-1:123456789012:dbuser:cluster-ABCDEFGHIJKL01234/jane_doe"
         ]
       }
     ]
   }
   ```

   Aktualisieren Sie den Proxy Ihrer Rollenrichtlinie:

   ```
   aws iam put-role-policy \
               --role-name RDSProxyRole \
               --policy-name UpdatedProxyPermissions \
               --policy-document file://updated-proxy-policy.json
   ```

1. Ändern Sie Ihren RDS-Proxy, um die end-to-end IAM-Authentifizierung zu aktivieren

   ```
   aws rds modify-db-proxy \
     --db-proxy-name my-database-proxy \
     --default-auth-scheme IAM_AUTH \
     --region us-east-1
   ```

   Stellen Sie sicher, dass der RDS-Proxystatus „**Verfügbar**“ `DefaultAuthScheme` lautet, `IAM_AUTH` bevor Sie fortfahren, um sicherzustellen, dass während der Migration keine Ausfallzeiten auftreten.

   ```
   aws rds describe-db-proxies --db-proxy-name my-database-proxy --region us-east-1
   ```

   Erwartete Ausgabe:

   ```
   {
     "DBProxies": [
       {
         "DBProxyName": "my-database-proxy",
         "DBProxyArn": "arn:aws:rds:us-east-1:123456789012:db-proxy:prx-0123456789abcdef",
         "Status": "available",
         ...
         "DefaultAuthScheme": "IAM_AUTH"
       }
     ]
   }
   ```

1. Aktivieren Sie die IAM-Authentifizierung in der Datenbank

   ```
   aws rds modify-db-cluster \
     --db-cluster-identifier my-database-cluster \
     --enable-iam-database-authentication \
     --region us-east-1
   ```

1. Konfigurieren Sie den Datenbankbenutzer für die IAM-Authentifizierung

   Für RDS für PostgreSQL:

   ```
   GRANT rds_iam TO jane_doe;
   ```

   Für RDS für MySQL und RDS für MariaDB:

   ```
   ALTER USER 'jane_doe' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
   ALTER USER 'jane_doe'@'%' REQUIRE SSL;
   ```

1. Der Code Ihrer Client-Anwendung muss sich nicht ändern. Der Verbindungsvorgang bleibt derselbe:

   Für RDS für PostgreSQL:

   ```
   # Generate authentication token
   export PGPASSWORD=$(aws rds generate-db-auth-token \
     --hostname my-database-proxy.proxy-ABCDEFGHIJKL01234.us-east-1.rds.amazonaws.com \
     --port 5432 \
     --username jane_doe \
     --region us-east-1)
   
   # Connect to database through proxy
   psql "host=my-database-proxy.proxy-ABCDEFGHIJKL01234.us-east-1.rds.amazonaws.com port=5432 user=jane_doe dbname=postgres password=$PGPASSWORD sslmode=require sslrootcert=us-east-1-bundle.pem"
   ```

   Für RDS für MySQL und RDS für MariaDB:

   ```
   # Generate authentication token
   export MYSQL_PWD=$(aws rds generate-db-auth-token \
     --hostname my-database-proxy.proxy-ABCDEFGHIJKL01234.us-east-1.rds.amazonaws.com \
     --port 3306 \
     --username jane_doe \
     --region us-east-1)
   
   # Connect to database through proxy
   mysql -h my-database-proxy.proxy-ABCDEFGHIJKL01234.us-east-1.rds.amazonaws.com \
     -P 3306 \
     -u jane_doe \
     --ssl-ca=us-east-1-bundle.pem \
     --enable-cleartext-plugin
   ```

# Überlegungen zu RDS-Proxy-Verbindungen
<a name="rds-proxy-connections"></a>

## Konfigurieren der Verbindungseinstellungen
<a name="rds-proxy-connection-pooling-tuning"></a>

Um das Verbindungs-Pooling von RDS-Proxy anzupassen, können Sie die folgenden Einstellungen ändern:
+ [IdleClientTimeout](#rds-proxy-connection-pooling-tuning.idleclienttimeout)
+ [MaxConnectionsPercent](#rds-proxy-connection-pooling-tuning.maxconnectionspercent)
+ [MaxIdleConnectionsPercent](#rds-proxy-connection-pooling-tuning.maxidleconnectionspercent)
+ [ConnectionBorrowTimeout](#rds-proxy-connection-pooling-tuning.connectionborrowtimeout)

### IdleClientTimeout
<a name="rds-proxy-connection-pooling-tuning.idleclienttimeout"></a>

Sie können angeben, wie lange eine Client-Verbindung inaktiv sein kann, bevor der Proxy sie schließt. Der Standardwert ist 1.800 Sekunden (30 Minuten). 

Eine Client-Verbindung gilt als *inaktiv*, wenn die Anwendung innerhalb der angegebenen Zeit nach Abschluss der vorherigen Anforderung keine neue Anforderung absendet. Die zugrunde liegende Datenbankverbindung bleibt offen und wird an den Verbindungspool zurückgegeben. Somit ist sie für neue Clientverbindungen verfügbar. Verringern Sie das Timeout für inaktive Client-Verbindungen, wenn der Proxy veraltete Verbindungen proaktiv entfernen soll. Wenn Ihr Workload häufige Verbindungen mit dem Proxy herstellt, erhöhen Sie das Timeout für inaktive Client-Verbindungen, um sich die Kosten für das Herstellen von Verbindungen zu sparen.

Diese Einstellung wird durch das Feld **Idle client connection timeout** (Zeitüberschreitung bei Client-Verbindungsinaktivität) in der RDS-Konsole und die Einstellung `IdleClientTimeout` in der AWS CLI und der API dargestellt. Informationen dazu, wie Sie den Wert des Felds **Idle client connection timeout** (Zeitüberschreitung bei Client-Verbindungsinaktivität) in der RDS-Konsole ändern, finden Sie unter [AWS-Managementkonsole](rds-proxy-modifying-proxy.md#rds-proxy-modifying-proxy.console). Informationen dazu, wie Sie den Wert der Einstellung `IdleClientTimeout` ändern, finden Sie unter dem CLI-Befehl [modify-db-proxy](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-proxy.html) oder der API-Operation [ModifyDBProxy](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBProxy.html).

### MaxConnectionsPercent
<a name="rds-proxy-connection-pooling-tuning.maxconnectionspercent"></a>

Sie können die Anzahl der Verbindungen beschränken, die ein RDS-Proxy mit der Zieldatenbank herstellen kann. Sie geben das Limit als Prozentsatz der maximal für Ihre Datenbank verfügbaren Verbindungen an. Diese Einstellung wird durch das Feld **Connection pool maximum connections** (Max. Verbindungen Verbindungspool) in der RDS-Konsole und die Einstellung `MaxConnectionsPercent` in der AWS CLI und der API dargestellt. 

Der Wert `MaxConnectionsPercent` wird als Prozentsatz der Einstellung `max_connections` für die RDS-DB-Instance ausgedrückt, die von der Zielgruppe verwendet wird. Der Proxy erstellt nicht alle diese Verbindungen im Voraus. Bei dieser Einstellung kann sich der Proxy das Recht vorbehalten, diese Verbindungen dann herzustellen, wenn der Workload sie benötigt.

Beispielsweise legt RDS-Proxy für ein registriertes Datenbankziel, für das `max_connections` auf 1000 und `MaxConnectionsPercent` auf 95 festgelegt ist, 950 Verbindungen als Obergrenze für gleichzeitige Verbindungen mit diesem Datenbankziel fest.

Ein häufiger Nebeneffekt, der auftritt, wenn Ihre Workload die maximale Anzahl zulässiger Datenbankverbindungen erreicht, ist ein Anstieg der allgemeinen Abfragelatenz in Verbindung mit einer Erhöhung der Metrik `DatabaseConnectionsBorrowLatency`. Sie können die aktuell verwendeten Datenbankverbindungen und die Gesamtzahl der zulässigen Datenbankverbindungen überwachen, indem Sie die Metriken `DatabaseConnections` und `MaxDatabaseConnectionsAllowed` vergleichen.

Beachten Sie für das Festlegen dieses Parameters die folgenden bewährten Methoden:
+ Sorgen Sie für ausreichend Verbindungsspielraum für Änderungen des Workload-Musters. Es wird empfohlen, den Parameter mindestens 30 % über Ihrer zuletzt überwachten maximalen Nutzung einzustellen. Da RDS-Proxy die Kontingente für Datenbankverbindungen auf mehrere Knoten neu verteilt, können interne Kapazitätsänderungen mindestens 30 % Spielraum für zusätzliche Verbindungen erfordern, um erhöhte Ausleihlatenzen zu vermeiden.
+ RDS-Proxy reserviert eine bestimmte Anzahl von Verbindungen für die aktive Überwachung, um schnelles Failover, Weiterleitung von Datenverkehr und interne Operationen zu unterstützen. Die Metrik `MaxDatabaseConnectionsAllowed` umfasst diese reservierten Verbindungen nicht. Sie stellt die Anzahl der Verbindungen dar, die für den Workload verfügbar sind, und kann niedriger sein als der aus der Einstellung `MaxConnectionsPercent` abgeleitete Wert.

  Empfohlene Mindestwerte für `MaxConnectionsPercent`
  + db.t3.small: 30
  + db.t3.medium oder höher: 20

Informationen dazu, wie Sie den Wert des Felds **Connection pool maximum connections** (Max. Verbindungen Verbindungspool) in der RDS-Konsole ändern, finden Sie unter [AWS-Managementkonsole](rds-proxy-modifying-proxy.md#rds-proxy-modifying-proxy.console). Informationen dazu, wie Sie den Wert der Einstellung `MaxConnectionsPercent` ändern, finden Sie unter dem CLI-Befehl [modify-db-proxy-target-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-proxy-target-group.html) oder der API-Operation [ModifyDBProxyTargetGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBProxyTargetGroup.html).

 Informationen zu Datenbankverbindungslimits finden Sie unter [Maximale Anzahl von Datenbankverbindungen](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.MaxConnections). 

### MaxIdleConnectionsPercent
<a name="rds-proxy-connection-pooling-tuning.maxidleconnectionspercent"></a>

Sie können die Anzahl inaktiver Datenbankverbindungen festlegen, die RDS-Proxy im Verbindungspool behalten kann. RDS-Proxy betrachtet eine Datenbankverbindung im Pool standardmäßig als *inaktiv*, wenn fünf Minuten lang keine Aktivität für die Verbindung aufgetreten ist. 

Der Wert `MaxIdleConnectionsPercent` wird als Prozentsatz der Einstellung `max_connections` für die Zielgruppe der RDS-DB-Instance verwendet. Der Standardwert ist 50 Prozent von `MaxConnectionsPercent` und die Obergrenze ist der Wert `MaxConnectionsPercent`. Wenn `MaxConnectionsPercent` beispielsweise 80 ist, ist der Standardwert von `MaxIdleConnectionsPercent` 40. Wenn der Wert von `MaxConnectionsPercent` nicht angegeben ist, beträgt `MaxIdleConnectionsPercent` für SQL Server 5. Für alle anderen Engines ist der Standardwert 50.

Bei einem hohen Wert lässt der Proxy einen hohen Prozentsatz an ungenutzten Datenbankverbindungen offen. Bei einem niedrigen Wert schließt der Proxy einen hohen Prozentsatz von inaktiven Datenbankverbindungen. Wenn Ihre Workloads unvorhersehbar sind, sollten Sie erwägen, einen hohen Wert für `MaxIdleConnectionsPercent` festzulegen. Dies bedeutet, dass RDS-Proxy Aktivitätsspitzen verarbeiten kann, ohne viele neue Datenbankverbindungen zu öffnen. 

Diese Einstellung wird durch die Einstellung `MaxIdleConnectionsPercent` von `DBProxyTargetGroup` in der AWS CLI und der API dargestellt. Informationen dazu, wie Sie den Wert der Einstellung `MaxIdleConnectionsPercent` ändern, finden Sie unter dem CLI-Befehl [modify-db-proxy-target-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-proxy-target-group.html) oder der API-Operation [ModifyDBProxyTargetGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBProxyTargetGroup.html).

 Informationen zu Datenbankverbindungslimits finden Sie unter [Maximale Anzahl von Datenbankverbindungen](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.MaxConnections). 

### ConnectionBorrowTimeout
<a name="rds-proxy-connection-pooling-tuning.connectionborrowtimeout"></a>

Sie können angeben, wie lange RDS-Proxy warten soll, bis eine Datenbankverbindung im Verbindungspool verfügbar ist, bevor ein Timeout-Fehler zurückgegeben wird. Standardmäßig sind 120 Sekunden festgelegt. Diese Einstellung greift, wenn die maximale Anzahl von Verbindungen erreicht ist und daher keine Verbindungen im Verbindungspool verfügbar sind. Dies gilt auch, wenn keine geeignete Datenbank-Instance zur Bearbeitung der Anfrage verfügbar ist, beispielsweise wenn gerade ein Failover-Vorgang durchgeführt wird. Mit dieser Einstellung können Sie die beste Wartezeit für Ihre Anwendung festlegen, ohne das Abfrage-Timeout im Anwendungscode zu ändern.

Diese Einstellung wird durch das Feld **Connection borrow timeout** (Zeitüberschreitung für die Verbindung) in der RDS-Konsole oder die Einstellung `ConnectionBorrowTimeout` von `DBProxyTargetGroup` in der AWS CLI oder API dargestellt. Informationen dazu, wie Sie den Wert des Felds **Connection borrow timeout** (Zeitüberschreitung für die Verbindung) in der RDS-Konsole ändern, finden Sie unter [AWS-Managementkonsole](rds-proxy-modifying-proxy.md#rds-proxy-modifying-proxy.console). Informationen dazu, wie Sie den Wert der Einstellung `ConnectionBorrowTimeout` ändern, finden Sie unter dem CLI-Befehl [modify-db-proxy-target-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-proxy-target-group.html) oder der API-Operation [ModifyDBProxyTargetGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBProxyTargetGroup.html).

## Client- und Datenbankverbindungen
<a name="rds-proxy-connection-life"></a>

Verbindungen von Ihrer Anwendung zum RDS-Proxy werden als Client-Verbindungen bezeichnet. Verbindungen von einem Proxy zur Datenbank sind Datenbankverbindungen. Bei Verwendung von RDS-Proxy werden Client-Verbindungen am Proxy beendet, während Datenbankverbindungen innerhalb des RDS-Proxys verwaltet werden.

Anwendungsseitiges Verbindungspooling kann den Vorteil bieten, dass der wiederkehrende Verbindungsaufbau zwischen Ihrer Anwendung und dem RDS-Proxy reduziert wird.

Berücksichtigen Sie die folgenden Konfigurationsaspekte, bevor Sie einen anwendungsseitigen Verbindungspool implementieren:
+ Maximale Client-Verbindungsdauer: RDS-Proxy erzwingt eine maximale Client-Verbindungsdauer von 24 Stunden. Dieser Wert kann nicht konfiguriert werden. Konfigurieren Sie Ihren Pool mit einer maximalen Verbindungsdauer von weniger als 24 Stunden, um unerwartete Verbindungsabbrüche beim Client zu vermeiden. 
+ Timeout bei Inaktivität der Client-Verbindung: RDS-Proxy erzwingt eine maximale Leerlaufzeit für Client-Verbindungen. Konfigurieren Sie Ihren Pool mit einem Timeout für inaktive Verbindungen, der niedriger ist als die Einstellung für das Leerlaufzeitlimit für Client-Verbindungen für den RDS-Proxy, um unerwartete Verbindungsabbrüche zu vermeiden.

Die maximale Anzahl von Client-Verbindungen, die in Ihrem anwendungsseitigen Verbindungs-Pool konfiguriert ist, muss nicht auf die Einstellung **max\$1connections** für RDS-Proxy beschränkt sein.

Das Pooling von Client-Verbindungen führt zu einer längeren Client-Verbindungsdauer. Wenn es bei Ihren Verbindungen zum Pinning kommt, kann das Pooling von Client-Verbindungen die Effizienz des Multiplexings verringern. Client-Verbindungen, die im anwendungsseitigen Verbindungs-Pool gepinnt, aber inaktiv sind, behalten weiterhin eine Datenbankverbindung und verhindern, dass die Datenbankverbindung von anderen Client-Verbindungen wiederverwendet wird. Überprüfen Sie Ihre Proxy-Protokolle, um zu prüfen, ob bei Ihren Verbindungen ein Pinning auftritt.

**Anmerkung**  
RDS-Proxy schließt Datenbankverbindungen nach 24 Stunden, wenn sie nicht mehr verwendet werden. Der Proxy führt diese Aktion unabhängig vom Wert der Einstellung für maximale Leerlaufverbindungen aus.

# Vermeiden von Pinning beim RDS-Proxy
<a name="rds-proxy-pinning"></a>

 Multiplexing ist effizienter, wenn Datenbankanforderungen nicht auf Statusinformationen aus früheren Anforderungen angewiesen sind. In diesem Fall kann RDS-Proxy eine Verbindung zum Abschluss jeder Transaktion wiederverwenden. Beispiele für solche Zustandsinformationen sind die meisten Variablen und Konfigurationsparameter, die Sie durch `SET`-oder `SELECT`-Anweisungen ändern können. SQL-Transaktionen auf einer Clientverbindung können standardmäßig zwischen zugrunde liegenden Datenbankverbindungen Multiplexing durchführen. 

 Ihre Verbindungen zum Proxy können einen Status eingeben, der als *Pinning (Fixieren)* bezeichnet wird. Wenn eine Verbindung angeheftet wird, verwendet jede spätere Transaktion dieselbe zugrunde liegende Datenbankverbindung, bis die Sitzung beendet ist. Andere Clientverbindungen können diese Datenbankverbindung auch erst dann wieder verwenden, wenn die Sitzung beendet ist. Die Sitzung wird beendet, wenn die Clientverbindung unterbrochen wird. 

 RDS-Proxy heftet automatisch eine Clientverbindung an eine bestimmte DB-Verbindung an, wenn eine Sitzungsstatusänderung erkannt wird, die für andere Sitzungen nicht geeignet ist. Das Fixieren verringert die Effektivität der Wiederverwendung der Verbindung. Wenn alle oder fast alle Verbindungen fixiert sind, können Sie Ihren Anwendungscode oder Ihre Workload ändern, um dafür zu sorgen, dass Fixierungen weniger erforderlich sind. 

Ihre Anwendung ändert beispielsweise eine Sitzungsvariable oder einen Konfigurationsparameter. In diesem Fall können sich spätere Anweisungen darauf verlassen, dass die neue Variable oder der neue Parameter wirksam ist. Wenn also RDS-Proxy Anforderungen verarbeitet, um Sitzungsvariablen oder Konfigurationseinstellungen zu ändern, wird diese Sitzung an die DB-Verbindung fixiert. Auf diese Weise bleibt der Sitzungsstatus für alle späteren Transaktionen in derselben Sitzung gültig. 

 Bei Datenbank-Engines gilt diese Regel nicht für alle Parameter, die Sie festlegen können. RDS-Proxy verfolgt bestimmte Anweisungen und Variablen. RDS-Proxy nimmt somit kein Pinning einer Sitzung vor, wenn Sie diese ändern. In diesem Fall verwendet RDS-Proxy nur die Verbindung für andere Sitzungen erneut, die dieselben Werte für diese Einstellungen haben. Einzelheiten darüber, welche Daten RDS-Proxy für eine Datenbank-Engine verfolgt, finden Sie im Folgenden: 
+ [Welche Daten RDS-Proxy für Datenbanken von RDS für SQL Server verfolgt](#rds-proxy-pinning.sql-server-tracked-vars)
+ [RDS-Proxy verfolgt die folgenden Datenbanken von RDS für MariaDB und RDS für MySQL:](#rds-proxy-pinning.mysql-tracked-vars)

## Welche Daten RDS-Proxy für Datenbanken von RDS für SQL Server verfolgt
<a name="rds-proxy-pinning.sql-server-tracked-vars"></a>

RDS-Proxy verfolgt die folgenden SQL-Server-Anweisungen:
+ `USE`
+ `SET ANSI_NULLS`
+ `SET ANSI_PADDING`
+ `SET ANSI_WARNINGS`
+ `SET ARITHABORT`
+ `SET CONCAT_NULL_YIELDS_NULL`
+ `SET CURSOR_CLOSE_ON_COMMIT`
+ `SET DATEFIRST`
+ `SET DATEFORMAT`
+ `SET LANGUAGE`
+ `SET LOCK_TIMEOUT`
+ `SET NUMERIC_ROUNDABORT`
+ `SET QUOTED_IDENTIFIER`
+ `SET TEXTSIZE`
+ `SET TRANSACTION ISOLATION LEVEL`

## RDS-Proxy verfolgt die folgenden Datenbanken von RDS für MariaDB und RDS für MySQL:
<a name="rds-proxy-pinning.mysql-tracked-vars"></a>

RDS-Proxy verfolgt die folgenden MariaDB- und MySQL-Anweisungen:
+ DROP DATABASE
+ DROP SCHEMA
+ USE

RDS-Proxy verfolgt die folgenden MySQL- und MariaDB-Variablen:
+ `AUTOCOMMIT`
+ `AUTO_INCREMENT_INCREMENT`
+ `CHARACTER SET (or CHAR SET)`
+ `CHARACTER_SET_CLIENT`
+ `CHARACTER_SET_DATABASE`
+ `CHARACTER_SET_FILESYSTEM`
+ `CHARACTER_SET_CONNECTION`
+ `CHARACTER_SET_RESULTS`
+ `CHARACTER_SET_SERVER`
+ `COLLATION_CONNECTION`
+ `COLLATION_DATABASE`
+ `COLLATION_SERVER`
+ `INTERACTIVE_TIMEOUT`
+ `NAMES`
+ `NET_WRITE_TIMEOUT`
+ `QUERY_CACHE_TYPE`
+ `SESSION_TRACK_SCHEMA`
+ `SQL_MODE`
+ `TIME_ZONE`
+ `TRANSACTION_ISOLATION (or TX_ISOLATION)`
+ `TRANSACTION_READ_ONLY (or TX_READ_ONLY)`
+ `WAIT_TIMEOUT`

**Anmerkung**  
RDS-Proxy verfolgt Änderungen an den Variablen `TRANSACTION_ISOLATION` und `TRANSACTION_READ_ONLY`, wenn Sie sie im Sitzungsbereich festlegen. Wenn Sie sie jedoch für den nächsten Transaktionsbereich festlegen, heftet der RDS-Proxy Verbindungen an. Dieses Verhalten gilt unabhängig davon, ob Sie eine `SET`- oder eine `SET TRANSACTION`-Anweisung verwenden, um diese Werte zu konfigurieren.

## Minimieren des Fixierens
<a name="rds-proxy-pinning.minimizing"></a>

 Die Leistungsoptimierung für RDS-Proxy beinhaltet den Versuch, die Wiederverwendung von Verbindungen auf Transaktionsebene (Multiplexing) zu maximieren, indem das Fixieren minimiert wird. 

Sie können das Fixieren wie folgt minimieren: 
+  Vermeiden Sie unnötige Datenbankanforderungen, die Anheften (Pinning) verursachen könnten. 
+  Legen Sie Variablen und Konfigurationseinstellungen konsistent über alle Verbindungen hinweg fest. Auf diese Weise verwenden spätere Sitzungen häufiger Verbindungen, die über diese speziellen Einstellungen verfügen. 

   Wenn für PostgreSQL jedoch eine Variable festgelegt wird, wird die Sitzung durch Pinning fixiert. 
+  Wenden Sie bei einer MySQL-Engine-Familiendatenbank einen Sitzungs-Pinning-Filter auf den Proxy an. Sie können bestimmte Arten von Operationen vom Fixieren der Sitzung ausnehmen, wenn Sie wissen, dass dies den korrekten Betrieb Ihrer Anwendung nicht beeinträchtigt. 
+  Sehen Sie sich anhand der CloudWatch Amazon-Metrik `DatabaseConnectionsCurrentlySessionPinned` an, wie häufig das Anheften erfolgt. Hinweise zu diesen und anderen CloudWatch-Metriken finden Sie unter [Überwachen von RDS-Proxy-Metriken mit Amazon CloudWatchÜberwachen von RDS-Proxy mit CloudWatch](rds-proxy.monitoring.md). 
+  Wenn Sie `SET`-Anweisungen verwenden, um eine identische Initialisierung für jede Clientverbindung durchzuführen, können Sie dies tun, während Sie das Multiplexing auf Transaktionsebene beibehalten. In diesem Fall verschieben Sie die Anweisungen, die den ursprünglichen Sitzungsstatus einrichten, in die Initialisierungsabfrage, die von einem Proxy verwendet wird. Diese Eigenschaft ist eine Zeichenfolge, die eine oder mehrere SQL-Anweisungen enthält, die durch Semikola getrennt sind. 

   Beispielsweise können Sie eine Initialisierungsabfrage für einen Proxy definieren, der bestimmte Konfigurationsparameter festlegt. RDS-Proxy wendet dann diese Einstellungen an, wenn eine neue Verbindung für diesen Proxy eingerichtet wird. Sie können die entsprechenden `SET`-Anweisungen aus Ihrem Anwendungscode entfernen, damit sie das Multiplexing auf Transaktionsebene nicht beeinträchtigen. 

   Metriken zur Häufigkeit des Pinnings für einen Proxy finden Sie unter [Überwachen von RDS-Proxy-Metriken mit Amazon CloudWatchÜberwachen von RDS-Proxy mit CloudWatch](rds-proxy.monitoring.md). 

## Bedingungen, die für alle Engine-Familien zum Pinning führen
<a name="rds-proxy-pinning.all"></a>

 Der Proxy fixiert die Sitzung an der aktuellen Verbindung in den folgenden Situationen an, in denen Multiplexing unerwartetes Verhalten verursachen kann: 
+ Jede Anweisung mit einer Textgröße über 16 KB bewirkt, dass der Proxy die Sitzung fixiert.

## Bedingungen, die das Fixieren für RDS für Microsoft SQL Server verursachen
<a name="rds-proxy-pinning.sqlserver"></a>

 Bei RDS für SQL Server verursachen die folgenden Interaktionen eine Fixierung: 
+ Verwendung mehrerer aktiver Ergebnissätze (MARS). Weitere Informationen zu MARS finden Sie in der [SQL-Server](https://docs.microsoft.com/en-us/sql/relational-databases/native-client/features/using-multiple-active-result-sets-mars?view=sql-server-ver16)-Dokumentation.
+ Verwendung der Kommunikation mit verteiltem Transaktionskoordinator (DTC).
+ Erstellen von temporären Tabellen, Transaktionen, Cursor oder vorbereiteten Anweisungen.
+ Verwenden der folgenden `SET`-Anweisungen:
  + `SET ANSI_DEFAULTS`
  + `SET ANSI_NULL_DFLT`
  + `SET ARITHIGNORE`
  + `SET DEADLOCK_PRIORITY`
  + `SET FIPS_FLAGGER`
  + `SET FMTONLY`
  + `SET FORCEPLAN`
  + `SET IDENTITY_INSERT`
  + `SET NOCOUNT`
  + `SET NOEXEC`
  + `SET OFFSETS`
  + `SET PARSEONLY`
  + `SET QUERY_GOVERNOR_COST_LIMIT`
  + `SET REMOTE_PROC_TRANSACTIONS`
  + `SET ROWCOUNT`
  + `SET SHOWPLAN_ALL`, `SHOWPLAN_TEXT` und `SHOWPLAN_XML`
  + `SET STATISTICS`
  + `SET XACT_ABORT`

## Bedingungen, die das Fixieren für RDS für MariaDB und RDS für MySQL verursachen
<a name="rds-proxy-pinning.mysql"></a>

 Bei MariaDB und MySQL verursachen die folgenden Interaktionen ein Pinning: 
+ Die expliziten MySQL-Anweisungen `LOCK TABLE`, `LOCK TABLES` oder `FLUSH TABLES WITH READ LOCK` bewirken, dass der Proxy ein Pinning der Sitzung vornimmt. 
+ Durch Erstellen benannter Sperren mit `GET_LOCK` wird bewirkt, dass der Proxy ein Pinning der Sitzung vornimmt. 
+ Wenn Sie eine Benutzervariable oder eine Systemvariable festlegen (mit einigen Ausnahmen), wird die Sitzung an den Proxy angeheftet. Wenn dadurch die Wiederverwendung von Verbindungen erheblich eingeschränkt wird, können Sie `SET`-Vorgänge so konfigurieren, dass das Pinning vermieden wird. Passen Sie dazu die Eigenschaft für Sitzungs-Pinning-Filter an. Weitere Informationen erhalten Sie unter [Erstellen eines Proxys für Amazon RDS](rds-proxy-creating.md) und [Ändern eines RDS-Proxy](rds-proxy-modifying-proxy.md).
+ Beim Erstellen einer temporären Tabelle fixiert der Proxy die Sitzung. Auf diese Weise wird der Inhalt der temporären Tabelle während der gesamten Sitzung beibehalten, unabhängig von den Transaktionsgrenzen. 
+ Der Aufruf der Funktionen `ROW_COUNT` und `FOUND_ROWS` verursacht manchmal Pinning. 
+ Vorbereitete Anweisungen bewirken, dass der Proxy die Sitzung fixiert. Diese Regel bestimmt, ob die vorbereitete Anweisung SQL-Text oder das Binärprotokoll verwendet. 
+ RDS-Proxy pingt keine Verbindungen an, wenn Sie SET LOCAL verwenden.
+ Das Aufrufen von gespeicherten Prozeduren und gespeicherten Funktionen verursacht kein Pinning. RDS-Proxy erkennt keine Änderungen des Sitzungsstatus, die aus solchen Aufrufen resultieren. Stellen Sie sicher, dass Ihre Anwendung den Sitzungsstatus in gespeicherten Routinen nicht ändert, wenn Sie darauf angewiesen sind, dass dieser Sitzungsstatus transaktionsübergreifend beibehalten wird. Beispielsweise ist RDS-Proxy derzeit nicht mit einer gespeicherten Prozedur kompatibel, die eine temporäre Tabelle erstellt, die transaktionsübergreifend bestehen bleiben soll. 
+ Abfragen mit ausführbaren Kommentaren für MySQL (Syntax /\$1\$1 ... \$1/) oder MariaDB (Syntax /\$1M\$1 ... \$1/) verursachen Pinning. RDS Proxy kann in diesen Kommentaren eingebettetes SQL nicht analysieren, um Änderungen des Sitzungsstatus nachzuverfolgen.

 Wenn Sie über eingehende Kenntnisse über das Verhalten Ihrer Anwendung verfügen, können Sie das Pinning-Verhalten für bestimmte Anwendungsanweisungen überspringen. Dazu wählen Sie beim Erstellen des Proxys die Option **Sitzungs-Pinning-Filter**. Derzeit können Sie das Sitzungs-Pinning für das Festlegen von Sitzungsvariablen und Konfigurationseinstellungen deaktivieren. 

## Bedingungen, die das Fixieren für RDS für PostgreSQL verursachen
<a name="rds-proxy-pinning.postgres"></a>

 Für PostgreSQL verursachen die folgenden Interaktionen eine Fixierung: 
+  Verwenden von `SET`-Befehlen
+  Verwenden der Befehle `PREPARE`, `DISCARD`, `DEALLOCATE` oder `EXECUTE` zur Verwaltung von vorbereiteten Anweisungen
+  Erstellen von temporären Sequenzen, Tabellen oder Ansichten
+  Deklarieren von Cursors
+  Verwerfen des Sitzungsstatus
+  Listening für einen Benachrichtigungskanal
+  Laden eines Bibliotheksmoduls wie `auto_explain`
+  Manipulieren von Sequenzen mit Funktionen wie `nextval` und `setval`
+  Interagieren mit Sperren mit Funktionen wie `pg_advisory_lock` und `pg_try_advisory_lock` 
**Anmerkung**  
RDS-Proxy führt kein Pinning für Advisor-Sperren auf Transaktionsebene durch. Dies gilt insbesondere für `pg_advisory_xact_lock`, `pg_advisory_xact_lock_shared`, `pg_try_advisory_xact_lock` und `pg_try_advisory_xact_lock_shared`.
+ Festlegen eines Parameters oder Zurücksetzen eines Parameters auf den Standardwert Insbesondere die Verwendung der Befehle `SET` und `set_config` zum Zuweisen von Standardwerten zu Sitzungsvariablen.
+ Das Aufrufen von gespeicherten Prozeduren und gespeicherten Funktionen verursacht kein Pinning. RDS-Proxy erkennt keine Änderungen des Sitzungsstatus, die aus solchen Aufrufen resultieren. Stellen Sie sicher, dass Ihre Anwendung den Sitzungsstatus in gespeicherten Routinen nicht ändert, wenn Sie darauf angewiesen sind, dass dieser Sitzungsstatus transaktionsübergreifend beibehalten wird. Beispielsweise ist RDS-Proxy derzeit nicht mit einer gespeicherten Prozedur kompatibel, die eine temporäre Tabelle erstellt, die transaktionsübergreifend bestehen bleiben soll. 
+ Verwerfen des Sitzungsstatus Wenn Sie Verbindungspooling-Bibliotheken verwenden, deren `DISCARD ALL`-Abfrage als Reset-Abfrage konfiguriert ist, fixiert RDS-Proxy Ihre Client-Verbindung bei der Freigabe. Dies verringert die Effizienz des Multiplexings des Proxys und kann zu unerwarteten Ergebnissen führen, da der Befehl `DISCARD ALL` die Sitzungsstatusverwaltung beeinträchtigen kann.

# Löschen eines RDS-Proxy
<a name="rds-proxy-deleting"></a>

 Sie können einen Proxy löschen, wenn Sie ihn nicht mehr benötigen. Oder Sie löschen einen Proxy, wenn Sie die/den mit ihm verknüpfte DB-Instance oder -Cluster außer Betrieb nehmen. 

## AWS-Managementkonsole
<a name="rds-proxy-deleting.console"></a>

**So löschen Sie einen Proxy:**

1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-RDS-Konsole unter [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  Wählen Sie im Navigationsbereich **Proxies (Proxys)**. 

1.  Wählen Sie den zu löschenden Proxy aus der Liste aus. 

1.  Wählen Sie **Delete Proxy (Proxy löschen)**. 

## AWS CLI
<a name="rds-proxy-deleting.CLI"></a>

 Um einen DB-Proxy zu löschen, verwenden Sie den AWS CLI-Befehl [delete-db-proxy](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-proxy.html). Um zugehörige Zuordnungen zu entfernen, verwenden Sie auch den Befehl [deregister-db-proxy-targets](https://docs.aws.amazon.com/cli/latest/reference/rds/deregister-db-proxy-targets.html) . 

```
aws rds delete-db-proxy --name proxy_name
```

```
aws rds deregister-db-proxy-targets
    --db-proxy-name proxy_name
    [--target-group-name target_group_name]
    [--target-ids comma_separated_list]       # or
    [--db-instance-identifiers instance_id]       # or
    [--db-cluster-identifiers cluster_id]
```

## RDS-API
<a name="rds-proxy-deleting.API"></a>

 Um einen DB-Proxy zu löschen, rufen Sie die Amazon-RDS-API-Funktion [DeleteDBProxy](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBProxy.html) auf. Um verwandte Elemente und Zuordnungen zu löschen, rufen Sie auch die Funktionen [DeleteDBProxyTargetGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBProxyTargetGroup.html) und [DeregisterDBProxyTargets](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeregisterDBProxyTargets.html) auf. 

# Arbeiten mit Amazon-RDS-Proxy-Endpunkten
<a name="rds-proxy-endpoints"></a>

RDS-Proxy-Endpunkte bieten flexible und effiziente Möglichkeiten zur Verwaltung von Datenbankverbindungen, wodurch Skalierbarkeit, Verfügbarkeit und Sicherheit verbessert werden. Mit Proxy-Endpunkten können Sie:
+ **Überwachung und Fehlerbehebung vereinfachen** – Verwenden Sie mehrere Endpunkte, um Verbindungen von verschiedenen Anwendungen unabhängig voneinander nachzuverfolgen und zu verwalten.

**Topics**
+ [Überblick über Proxy-Endpunkte](#rds-proxy-endpoints-overview)
+ [Limits für Proxy-Endpunkte](#rds-proxy-endpoints-limits)
+ [Proxy-Endpunkte für Multi-AZ-DB-Cluster](#rds-proxy-endpoints-overview-maz)
+ [Zugriff auf RDS-Datenbanken über VPCs](#rds-proxy-cross-vpc)
+ [Erstellen eines Proxy-Endpunktes](rds-proxy-endpoints.CreatingEndpoint.md)
+ [Anzeigen von Proxy-Endpunkten](rds-proxy-endpoints.DescribingEndpoint.md)
+ [Ändern eines Proxy-Endpunkts](rds-proxy-endpoints.ModifyingEndpoint.md)
+ [Löschen eines Proxy-Endpunkts](rds-proxy-endpoints.DeletingEndpoint.md)

## Überblick über Proxy-Endpunkte
<a name="rds-proxy-endpoints-overview"></a>

Arbeiten mit RDS-Proxy-Endpunkten umfassen die gleichen Arten von Verfahren wie bei RDS-Instance-Endpunkten. Wenn Sie mit RDS-Endpunkten nicht vertraut sind, finden Sie weitere Informationen unter [Herstellen einer Verbindung mit einer DB-Instance, auf der die MySQL-Datenbank-Engine läuft](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToInstance.html) und [Herstellen einer Verbindung mit einer DB-Instance mit der PostgreSQL-Datenbank-Engine](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToPostgreSQLInstance.html). 

Wenn Sie einen Proxy-Endpunkt erstellen, den Sie ihn einer anderen Virtual Private Cloud (VPC) als der des Proxys zuordnen. Auf diese Weise können Sie über eine andere VPC eine Verbindung zum Proxy herstellen, beispielsweise über eine VPC, die von einer anderen Anwendung innerhalb Ihres Unternehmens verwendet wird. 

Informationen zu Limits im Zusammenhang mit Proxy-Endpunkten finden Sie unter [Limits für Proxy-Endpunkte](#rds-proxy-endpoints-limits). 

In den RDS-Proxy-Protokollen wird jedem Eintrag der Name des zugehörigen Proxy-Endpunkts vorangestellt. Dies kann entweder der Name sein, den Sie für einen benutzerdefinierten Endpunkt angegeben haben, oder der spezielle Name `default` für den read/write Standardendpunkt des Proxys.

Jeder Proxy-Endpunkt hat seinen eigenen Satz von CloudWatch Metriken. Überwachen Sie Metriken für alle Proxy-Endpunkte, einen bestimmten Endpunkt oder alle read/write oder nur lesbare Endpunkte eines Proxys. Weitere Informationen finden Sie unter [Überwachen von RDS-Proxy-Metriken mit Amazon CloudWatchÜberwachen von RDS-Proxy mit CloudWatch](rds-proxy.monitoring.md). 

Ein Proxy-Endpunkt verwendet denselben Authentifizierungsmechanismus wie der zugehörige Proxy. Für RDS-Proxy richtet automatisch Berechtigungen und Autorisierungen für den benutzerdefinierten Endpunkt ein, die mit den Eigenschaften des zugehörigen Proxys übereinstimmen. 

## Limits für Proxy-Endpunkte
<a name="rds-proxy-endpoints-limits"></a>

Für RDS-Proxy-Endpunkte gelten die folgenden Beschränkungen:
+  Der RDS-Proxy-Standardendpunkt kann nicht geändert werden. 
+  Die maximale Anzahl von benutzerdefinierten Endpunkten für einen Proxy beträgt 20. Daher kann ein Proxy bis zu 21 Endpunkte haben: den Standard-Endpunkt plus 20, die Sie erstellen. 
+  Wenn Sie zusätzliche Endpunkte mit einem Proxy verknüpfen, bestimmt RDS-Proxy automatisch, welche DB-Instances in Ihrem Cluster für jeden Endpunkt verwendet werden. 
+  Für IPv6 oder Dual-Stack-Endpunkt-Netzwerktypen müssen Ihre VPC und Subnetze so konfiguriert sein, dass sie den ausgewählten Netzwerktyp unterstützen. 

Wenn Sie einen Proxy erstellen, erstellt RDS automatisch einen VPC-Endpunkt für die sichere Kommunikation zwischen Anwendungen und der Datenbank. Der VPC-Endpunkt ist sichtbar und kann über die Amazon-VPC-Konsole aufgerufen werden.

Durch das Hinzufügen eines neuen Proxy-Endpunkts wird ein AWS PrivateLink Schnittstellenendpunkt bereitgestellt. Wenn Sie Ihrem Proxy einen oder mehrere Endpunkte hinzufügen, fallen zusätzliche Gebühren an. Weitere Informationen finden Sie unter [Preise von RDS-Proxy](https://aws.amazon.com/rds/proxy/pricing/).

## Proxy-Endpunkte für Multi-AZ-DB-Cluster
<a name="rds-proxy-endpoints-overview-maz"></a>

Standardmäßig verfügt der Endpunkt, zu dem Sie eine Verbindung herstellen, wenn Sie RDS Proxy mit einem Multi-AZ-DB-Cluster verwenden, über read/write Funktionen. Infolgedessen sendet dieser Endpunkt alle Anforderungen an die Writer-Instance des Clusters. Alle diese Verbindungen werden auf den `max_connections`-Wert für die Writer-Instance angerechnet. Wenn Ihr Proxy einem Multi-AZ-DB-Cluster zugeordnet ist, können Sie zusätzliche read/write oder schreibgeschützte Endpunkte für diesen Proxy erstellen.

Sie können einen schreibgeschützten Endpunkt mit Ihrem Proxy für schreibgeschützte Abfragen verwenden. Sie verwenden diesen, wie Sie den Reader-Endpunkt für einen Multi-AZ-DB-Cluster nutzen. Auf diese Weise können Sie die Leseskalierbarkeit eines Multi-AZ-DB-Clusters mit einer oder mehreren Reader-DB-Instances nutzen. Sie können mehr gleichzeitige Abfragen ausführen und mehr gleichzeitige Verbindungen herstellen, indem Sie einen schreibgeschützten Endpunkt verwenden und Ihrem Multi-AZ-DB-Cluster nach Bedarf mehr Reader-DB-Instances hinzufügen. Diese Reader-Endpunkte tragen dazu bei, die Leseskalierbarkeit Ihrer abfrageintensiven Anwendungen zu verbessern. Reader-Endpunkte helfen auch, die Verfügbarkeit Ihrer Verbindungen zu verbessern, wenn eine Reader-DB-Instance in Ihrem Cluster nicht verfügbar ist. 

### Reader-Endpunkte für Multi-AZ-DB-Cluster
<a name="rds-proxy-endpoints-reader-stub"></a>

 Mit RDS-Proxy können Sie Reader-Endpunkte erstellen und verwenden. Diese Endpunkte funktionieren jedoch nur für Proxys, die mit Multi-AZ-DB-Clustern verbunden sind. Wenn Sie die RDS-CLI oder API verwenden, sehen Sie möglicherweise das `TargetRole`-Attribut mit einem Wert von `READ_ONLY`. Sie können solche Proxys nutzen, indem Sie das Ziel eines Proxys von einer RDS-DB-Instance in einen Multi-AZ-DB-Cluster ändern.

 Sie können schreibgeschützte Endpunkte mit der Bezeichnung *Reader-Endpunkte* erstellen und eine Verbindung herstellen, wenn Sie RDS-Proxy mit Multi-AZ-DB-Clustern verwenden.

#### Wie Reader-Endpunkte die Verfügbarkeit von Anwendungen unterstützen
<a name="rds-proxy-endpoints-reader-hapa"></a>

 In einigen Fällen ist möglicherweise eine Reader-Instance in Ihrem Cluster nicht verfügbar. In diesen Fällen können Verbindungen, die einen Reader-Endpunkt eines DB-Proxys verwenden, schneller wiederhergestellt werden als solche, die den Reader-Endpunkt des Multi-AZ-DB-Clusters verwenden. RDS-Proxy leitet Verbindungen nur an die verfügbare Reader-Instance in dem Cluster weiter. Es gibt keine Verzögerung aufgrund von DNS-Caching, wenn eine Instance nicht verfügbar ist. 

 Wenn die Verbindung Multiplexing durchführt, leitet RDS-Proxy nachfolgende Abfragen ohne Unterbrechung Ihrer Anwendung an eine andere Reader-Instance weiter. Wenn eine Reader-Instance den Status „Nicht verfügbar“ aufweist, werden alle Client-Verbindungen mit diesem Instance-Endpunkt geschlossen. 

 Wenn die Verbindung fixiert ist, gibt die nächste Abfrage der Verbindung einen Fehler zurück. Ihre Anwendung kann sich jedoch sofort wieder mit demselben Proxy-Endpunkt verbinden. RDS-Proxy leitet die Verbindung zu einer anderen Reader-DB-Instance weiter, die sich im Status `available` befindet. Wenn Sie die Verbindung manuell wiederherstellen, überprüft RDS-Proxy nicht die Replikationsverzögerung zwischen der alten und neuen Reader-Instance. 

 Wenn Ihr Multi-AZ-DB-Cluster keine verfügbaren Reader-Instances hat, versucht RDS-Proxy, eine Verbindung mit einem Reader-Endpunkt herzustellen, sobald dieser verfügbar ist. Wenn innerhalb des Zeitraums der Zeitüberschreitung für die Verbindung keine Reader-Instance verfügbar wird, schlägt der Verbindungsversuch fehl. Wenn eine Reader-Instance verfügbar wird, ist der Verbindungsversuch erfolgreich. 

#### Wie Reader-Endpunkte bei der Skalierbarkeit von Abfragen unterstützen
<a name="rds-proxy-endpoints-reader-scalability"></a>

 Reader-Endpunkte für einen Proxy helfen auf folgende Weisen bei der Skalierbarkeit von Abfragen für Multi-AZ-DB-Cluster: 
+  Wo praktisch, verwendet RDS-Proxy dieselbe Reader-DB-Instance für alle Abfragen unter Verwendung einer bestimmten Reader-Endpunktverbindung. Auf diese Weise kann eine Reihe von verwandten Abfragen in denselben Tabellen das Caching, die Planoptimierung usw. für eine bestimmte DB-Instance nutzen. 
+  Wenn eine Reader-DB-Instance nicht verfügbar ist, hängt die Auswirkung auf Ihre Anwendung davon ab, ob die Sitzung Multiplexing durchführt oder fixiert ist. Wenn die Sitzung Multiplexing durchführt, leitet RDS-Proxy leitet alle nachfolgenden Abfragen an eine andere Reader-DB-Instance weiter, ohne dass Sie etwas unternehmen müssen. Wenn die Sitzung fixiert ist, bekommt Ihre Anwendung einen Fehler und muss sich erneut verbinden. Sie können sich sofort wieder mit dem Reader-Endpunkt verbinden und RDS-Proxy leitet die Verbindung zu einer verfügbaren Reader-DB-Instance. Weitere Informationen zum Multiplexing und Pinning für Proxy-Sitzungen finden Sie unter [Überblick über RDS-Proxy-Konzepte](rds-proxy.howitworks.md#rds-proxy-overview). 

## Zugriff auf RDS-Datenbanken über VPCs
<a name="rds-proxy-cross-vpc"></a>

 Standardmäßig befinden sich die Komponenten Ihres -RDS-Technologie-Stacks alle in derselben Amazon-VPC. Nehmen wir zum Beispiel an, dass eine Anwendung in einer Amazon-EC2-Instance eine Verbindung mit einer Amazon-RDS-DB-Instance herstellt. In diesem Fall müssen sich der Anwendungsserver und die Datenbank beide innerhalb derselben VPC befinden. 

 Mit RDS-Proxy können Sie den Zugriff auf eine Amazon-RDS-DB-Instance in einer VPC aus Ressourcen wie EC2-Instances in einer anderen VPC festlegen. Zum Beispiel könnte Ihre Organisation mehrere Anwendungen haben, die auf dieselben Datenbankressourcen zugreifen. Jede Anwendung könnte sich in einer eigenen VPC befinden. 

 Um den VPC-übergreifenden Zugriff zu aktivieren, erstellen Sie einen neuen Endpunkt für den Proxy. Der Proxy selbst befindet sich in derselben VPC wie die Amazon-RDS-DB-Instance. Der VPC-übergreifenden Endpunkt befindet sich jedoch in der anderen VPC bei den anderen Ressourcen wie den EC2-Instances. Der VPC-übergreifende Endpunkt ist mit Subnetzen und Sicherheitsgruppen aus derselben VPC wie der EC2 und anderen Ressourcen verknüpft. Mit diesen Zuordnungen können Sie von den Anwendungen aus eine Verbindung zum Endpunkt herstellen, die aufgrund der VPC-Einschränkungen sonst nicht auf die Datenbank zugreifen können. 

 In den folgenden Schritten wird erläutert, wie Sie einen VPC-übergreifenden Endpunkt erstellen und darauf über RDS-Proxy zugreifen: 

1.  Erstellen Sie zwei VPCs oder wählen Sie zwei aus VPCs , die Sie bereits für die Arbeit mit RDS verwenden. Jede VPC sollte über eigene zugehörige Netzwerkressourcen wie ein Internet-Gateway, Routing-Tabellen, Subnetze und Sicherheitsgruppen verfügen. Wenn Sie nur eine VPC haben, können Sie [Erste Schritte mit Amazon RDS](CHAP_GettingStarted.md) für die Schritte zum Einrichten einer anderen VPC zur erfolgreichen Verwendung von RDS konsultieren. Sie können Ihre vorhandene VPC auch in der Konsole Amazon EC2 untersuchen, um zu sehen, welche Arten von Ressourcen miteinander zu verbinden sind. 

1.  Erstellen Sie einen DB-Proxy, der mit der Amazon-RDS-DB-Instance verknüpft ist, mit dem/der Sie eine Verbindung herstellen möchten. Folgen Sie dem Verfahren unter [Erstellen eines Proxys für Amazon RDS](rds-proxy-creating.md). 

1.  Auf der Seite **Einzelheiten** für Ihren Proxy in der RDS-Konsole unter dem Abschnitt **Proxy-Endpunkte** wählen Sie **Endpunkt erstellen**. Folgen Sie dem Verfahren unter [Erstellen eines Proxy-Endpunktes](rds-proxy-endpoints.CreatingEndpoint.md). 

1.  Wählen Sie aus, ob der VPC-übergreifende Endpunkt read/write oder schreibgeschützt werden soll. 

1.  Anstatt den Standard der gleichen VPC wie für die Amazon-RDS-DB-Instance zu akzeptieren, wählen Sie eine andere VPC. Diese VPC muss sich in derselben AWS Region befinden wie die VPC, in der sich der Proxy befindet. 

1.  Anstatt nun die Standardeinstellungen für Subnetze und Sicherheitsgruppen von derselben VPC wie für die Amazon-RDS-Instance zu akzeptieren, treffen Sie eine neue Auswahl. Wählen Sie diese basierend auf den Subnetzen und Sicherheitsgruppen aus der von Ihnen ausgewählten VPC. 

1. Sie müssen keine der Einstellungen für die Secrets Manager-Secrets ändern. Dieselben Anmeldeinformationen funktionieren für alle Endpunkte für Ihren Proxy, unabhängig davon, in welcher VPC sich jeder Endpunkt befindet. In ähnlicher Weise funktionieren Ihre IAM-Konfiguration und Ihre Berechtigungen bei Verwendung der IAM-Authentifizierung auf allen Proxy-Endpunkten einheitlich, auch wenn sich die Endpunkte an unterschiedlichen Standorten befinden. VPCs Pro Endpunkt ist keine zusätzliche IAM-Konfiguration erforderlich.

1.  Warten Sie, bis der neue Endpunkt den Status **verfügbar** erreicht. 

1.  Notieren Sie sich den vollständigen Endpunktnamen. Dies ist der Wert, der auf `Region_name.rds.amazonaws.com` endet, den Sie als Teil der Verbindungszeichenfolge für Ihre Datenbankanwendung angeben. 

1.  Greifen Sie auf den neuen Endpunkt von einer Ressource in derselben VPC wie der Endpunkt zu. Eine einfache Möglichkeit, diesen Prozess zu testen, besteht darin, eine neue EC2-Instance in dieser VPC zu erstellen. Melden Sie sich dann bei der EC2-Instance an und führen Sie die Befehle `mysql` oder `psql` aus, um eine Verbindung mit dem Endpunktwert in Ihrer Verbindungszeichenfolge herzustellen. 

# Erstellen eines Proxy-Endpunktes
<a name="rds-proxy-endpoints.CreatingEndpoint"></a>

Befolgen Sie diese Anleitungen zum Erstellen eines Proxy-Endpunkts:

## Konsole
<a name="rds-proxy-endpoints.CreatingEndpoint.CON"></a>

**So erstellen Sie einen Proxy-Endpunkt**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon RDS-Konsole unter [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  Wählen Sie im Navigationsbereich **Proxies (Proxys)**. 

1.  Klicken Sie auf den Namen des Proxys, für den Sie einen neuen Endpunkt erstellen möchten. 

    Die Detailseite für diesen Proxy wird angezeigt. 

1.  Im Abschnitt **Proxy-Endpunkte** wählen Sie **Proxy-Endpunkt erstellen**. 

    Das Fenster **Proxy-Endpunkt erstellen** wird angezeigt. 

1.  Für **Name des Proxy-Endpunkts** geben Sie einen beschreibenden Namen Ihrer Wahl ein. 

1.  Wählen Sie für die **Target-Rolle** aus, ob der Endpunkt schreibgeschützt read/write oder schreibgeschützt werden soll. 

    Verbindungen, die read/write Endpunkte verwenden, können alle Arten von Vorgängen ausführen, z. B. DDL-Anweisungen (Data Definition Language), DML-Anweisungen (Data Manipulation Language) und Abfragen. Diese Endpunkte stellen immer eine Verbindung mit der primären Instance des RDS-DB-Clusters her. Sie können read/write Endpunkte für allgemeine Datenbankoperationen verwenden, wenn Sie in Ihrer Anwendung nur einen einzigen Endpunkt verwenden. Sie können read/write Endpunkte auch für Verwaltungsvorgänge, OLTP-Anwendungen (Online Transaction Processing) und extract-transform-load (ETL) -Jobs verwenden. 

    Verbindungen, die einen schreibgeschützten Endpunkt verwenden, können nur Abfragen durchführen. RDS-Proxy kann für jede Verbindung mit dem Endpunkt eine der Reader-Instances verwenden. Auf diese Weise kann eine abfrageintensive Anwendung die Clustering-Fähigkeit eines Multi-AZ-DB-Clusters nutzen. Diese schreibgeschützten Verbindungen verursachen keinen Overhead für die primäre Instance des Clusters. Auf diese Weise verlangsamen Ihre Berichts- und Analyseabfragen die Schreibvorgänge Ihrer OLTP-Anwendungen nicht. 

1.  Wählen Sie für **Virtual Private Cloud (VPC)** die Standardeinstellung für den Zugriff auf den Endpunkt von denselben EC2 Instanzen oder anderen Ressourcen aus, die normalerweise für den Zugriff auf den Proxy oder die zugehörige Datenbank verwendet werden. Wenn Sie den VPC-übergreifenden Zugriff für diesen Proxy einrichten möchten, wählen Sie eine andere VPC als die Standard-VPC aus. Weitere Informationen zum VPC-übergreifenden Zugriff finden Sie unter [Zugriff auf RDS-Datenbanken über VPCs](rds-proxy-endpoints.md#rds-proxy-cross-vpc). 

1.  Wählen Sie für den **Netzwerktyp des Endpunkts** die IP-Version für den Proxy-Endpunkt aus. Die folgenden Optionen sind verfügbar:
   + **IPv4**— Der Proxy-Endpunkt verwendet nur IPv4 Adressen (Standard).
   + **IPv6**— Der Proxy-Endpunkt verwendet nur IPv6 Adressen.
   + **Dual-Stack** — Der Proxy-Endpunkt unterstützt IPv4 sowohl IPv6 Adressen als auch.

   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.

1.  Für **Subnetze** füllt RDS-Proxy standardmäßig dieselben Subnetze wie der zugehörige Proxy aus. Wenn Sie den Zugriff auf den Endpunkt einschränken möchten, damit nur ein Teil des Adressbereichs der VPC eine Verbindung herstellen kann, entfernen Sie ein oder mehrere Subnetze. 

1.  Für die **VPC-Sicherheitsgruppe** können Sie eine vorhandene Sicherheitsgruppe auswählen oder eine neue erstellen. Standardmäßig füllt RDS-Proxy dieselbe Sicherheitsgruppe oder Gruppen wie der zugehörige Proxy aus. Wenn die eingehenden und ausgehenden Regeln für den Proxy für diesen Endpunkt geeignet sind, behalten Sie die Standardauswahl bei. 

    Wenn Sie eine neue Sicherheitsgruppe erstellen möchten, geben Sie auf dieser Seite einen Namen für die Sicherheitsgruppe an. Bearbeiten Sie dann später die Sicherheitsgruppeneinstellungen von der EC2 Konsole aus. 

1.  Wählen Sie **Proxy-Endpunkt erstellen**. 

## AWS CLI
<a name="rds-proxy-endpoints.CreatingEndpoint.CLI"></a>

 Verwenden Sie den AWS CLI [create-db-proxy-endpoint](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-proxy-endpoint.html)Befehl, um einen Proxy-Endpunkt zu erstellen. 

 Nutzen Sie die folgenden erforderlichen Parameter: 
+  `--db-proxy-name value` 
+  `--db-proxy-endpoint-name value` 
+  `--vpc-subnet-ids list_of_ids`. Trennen Sie das Subnetz IDs durch Leerzeichen. Sie geben die ID der VPC selbst nicht an. 

 Sie können auch die folgenden optionalen Parameter angeben: 
+  `--target-role { READ_WRITE | READ_ONLY }`. Dieser Parameter lautet standardmäßig `READ_WRITE`. Wenn der Proxy einem Multi-AZ-DB-Cluster zugeordnet ist, der nur eine Writer-DB-Instance enthält, können Sie `READ_ONLY` nicht angeben. Weitere Informationen zur beabsichtigten Verwendung von schreibgeschützten Endpunkten mit Multi-AZ-DB-Clustern finden Sie unter [Reader-Endpunkte für Multi-AZ-DB-Cluster](rds-proxy-endpoints.md#rds-proxy-endpoints-reader-stub). 
+  `--vpc-security-group-ids value`. Trennen Sie die Sicherheitsgruppe IDs durch Leerzeichen. Wenn Sie diesen Parameter weglassen, verwendet RDS-Proxy die Standardsicherheitsgruppe für die VPC. RDS Proxy bestimmt die VPC auf der Grundlage des Subnetzes IDs , das Sie für den `--vpc-subnet-ids` Parameter angeben. 
+  `--endpoint-network-type { IPV4 | IPV6 | DUAL }`. Dieser Parameter gibt die IP-Version für den Proxy-Endpunkt an. Der Standardwert ist `IPV4`. Um `IPV6` oder `DUAL` zu verwenden, müssen Ihre VPC und Subnetze so konfiguriert sein, dass sie den ausgewählten Netzwerktyp unterstützen. 

**Example**  
 Im folgenden Beispiel wird ein Proxy-Endpunkt mit dem Namen erstell `my-endpoint`.   
Für Linux, macOS oder Unix:  

```
aws rds create-db-proxy-endpoint \
  --db-proxy-name my-proxy \
  --db-proxy-endpoint-name my-endpoint \
  --vpc-subnet-ids subnet_id subnet_id subnet_id ... \
  --target-role READ_ONLY \
  --vpc-security-group-ids security_group_id \
  --endpoint-network-type DUAL
```
Für Windows:  

```
aws rds create-db-proxy-endpoint ^
  --db-proxy-name my-proxy ^
  --db-proxy-endpoint-name my-endpoint ^
  --vpc-subnet-ids subnet_id_1 subnet_id_2 subnet_id_3 ... ^
  --target-role READ_ONLY ^
  --vpc-security-group-ids security_group_id ^
  --endpoint-network-type DUAL
```

## RDS-API
<a name="rds-proxy-endpoints.CreatingEndpoint.API"></a>

 Verwenden Sie die Aktion „Endpunkt erstellen“ der RDS-API, um einen [DBProxyProxy-Endpunkt zu erstellen](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBProxyEndpoint.html). 

# Anzeigen von Proxy-Endpunkten
<a name="rds-proxy-endpoints.DescribingEndpoint"></a>

Gehen Sie wie folgt vor, um vorhandene Proxy-Endpunkte anzuzeigen:

## Konsole
<a name="rds-proxy-endpoints.DescribingEndpoint.CON"></a>

**Anzeigen der Details für einen Proxy-Endpunkt**

1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-RDS-Konsole unter [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  Wählen Sie im Navigationsbereich **Proxies (Proxys)**. 

1.  Wählen Sie in der Liste den Proxy aus, dessen Endpunkt Sie anzeigen möchten. Klicken Sie auf den Proxy-Namen, um die Detailseite anzuzeigen. 

1.  Wählen Sie im Abschnitt **Proxy-Endpunkte** den Endpunkt aus, den Sie anzeigen möchten. Klicken Sie auf seinen Namen, um die Detailseite aufzurufen. 

1.  Untersuchen Sie die Parameter, für deren Werten Sie sich interessieren. Sie können Eigenschaften wie die Folgenden überprüfen: 
   +  Ob der Endpunkt lese-/schreibgeschützt oder schreibgeschützt ist.
   +  Die Endpunkt-Adresse, die Sie in einer Datenbank-Verbindungszeichenfolge verwenden.
   +  Die VPC-Subnetze und -Sicherheitsgruppen, die einem Endpunkt zugeordnet sind.

## AWS CLI
<a name="rds-proxy-endpoints.DescribingEndpoint.CLI"></a>

 Um einen oder mehrere Proxy-Endpunkte anzuzeigen, verwenden Sie den AWS CLI-Befehl [describe-db-proxy-endpoints](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxy-endpoints.html).

 Sie können die folgenden optionalen Parameter angeben: 
+  `--db-proxy-endpoint-name` 
+  `--db-proxy-name` 

 Das folgende Beispiel beschreibt den `my-endpoint`-Proxy-Endpunkt. 

**Example**  
Für Linux, macOS oder Unix:  

```
aws rds describe-db-proxy-endpoints \
  --db-proxy-endpoint-name my-endpoint
```
Für Windows:  

```
aws rds describe-db-proxy-endpoints ^
  --db-proxy-endpoint-name my-endpoint
```

## RDS-API
<a name="rds-proxy-endpoints.DescribingEndpoint.API"></a>

 Um einen oder mehrere Proxy-Endpunkte zu beschreiben, verwenden Sie die Aktion RDS-API [DescribeDBProxyEndpoints](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBProxyEndpoints.html). 

# Ändern eines Proxy-Endpunkts
<a name="rds-proxy-endpoints.ModifyingEndpoint"></a>

Gehen Sie wie folgt vor, um die Proxy-Endpunkte zu ändern:

## Konsole
<a name="rds-proxy-endpoints.ModifyingEndpoint.CON"></a>

**So ändern Sie einen oder mehrere Proxy-Endpunkte**

1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-RDS-Konsole unter [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  Wählen Sie im Navigationsbereich **Proxies (Proxys)**. 

1. Wählen Sie in der Liste den Proxy aus, dessen Endpunkt Sie ändern möchten. Klicken Sie auf den Proxy-Namen, um die Detailseite anzuzeigen.

1.  Wählen Sie m Abschnitt **Proxy-Endpunkte** den Endpunkt aus, den Sie ändern möchten. Sie können ihn in der Liste auswählen oder auf seinen Namen klicken, um die Detailseite anzuzeigen. 

1.  Auf der Seite mit den Proxy-Details unter dem Abschnitt **Proxy-Endpunkte** wählen Sie **Bearbeiten**. Oder wählen Sie auf der Detailseite des Proxy-Endpunkts unter **Aktionen** die Option **Bearbeiten** aus.

1.  Ändern Sie wie gewünscht die Werte der Parameter.

1.  Wählen Sie **Änderungen speichern ** aus. 

## AWS CLI
<a name="rds-proxy-endpoints.ModifyingEndpoint.CLI"></a>

 Um einen DB-Proxy-Endpunkt zu ändern, verwenden Sie den AWS CLI-Befehl [modify-db-proxy-endpoint](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-proxy-endpoint.html) mit den folgenden erforderlichen Parametern: 
+  `--db-proxy-endpoint-name` 

 Geben Sie Änderungen in den Endpunkteigenschaften an, indem Sie einen oder mehrere der folgenden Parameter verwenden: 
+  `--new-db-proxy-endpoint-name` 
+  `--vpc-security-group-ids`. Trennen Sie die Sicherheitsgruppen-IDs durch Leerzeichen 

 Das folgende Beispiel benennt den `my-endpoint`-Proxy-Endpunkt in `new-endpoint-name`. 

**Example**  
Für Linux, macOS oder Unix:  

```
aws rds modify-db-proxy-endpoint \
  --db-proxy-endpoint-name my-endpoint \
  --new-db-proxy-endpoint-name new-endpoint-name
```
Für Windows:  

```
aws rds modify-db-proxy-endpoint ^
  --db-proxy-endpoint-name my-endpoint ^
  --new-db-proxy-endpoint-name new-endpoint-name
```

## RDS-API
<a name="rds-proxy-endpoints.ModifyingEndpoint.API"></a>

 Um einen Proxy-Endpunkt zu ändern, verwenden Sie die Aktion RDS-API [ModifyDBProxyEndpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBProxyEndpoint.html). 

# Löschen eines Proxy-Endpunkts
<a name="rds-proxy-endpoints.DeletingEndpoint"></a>

 Gehen Sie folgendermaßen vor, um einen Endpunkt für Ihren Proxy zu löschen: 

**Anmerkung**  
 Sie können den Standardendpunkt des Proxy nicht löschen, den RDS-Proxy automatisch für jeden Proxy erstellt.   
 Wenn Sie einen Proxy löschen, löscht RDS-Proxy automatisch alle zugehörigen Endpunkte. 

## Konsole
<a name="rds-proxy-endpoints.DeleteEndpoint.console"></a>

**So löschen Sie einen Proxy-Endpunkt mit AWS-Managementkonsole**

1.  Wählen Sie im Navigationsbereich **Proxies (Proxys)**. 

1.  Wählen Sie in der Liste den Proxy aus, dessen Endpunkt Sie löschen möchten. Klicken Sie auf den Proxy-Namen, um die Detailseite anzuzeigen. 

1.  Im Abschnitt **Proxy-Endpunkte** den Endpunkt aus, den Sie löschen möchten. Sie können einen oder mehrere Endpunkte in der Liste auswählen oder auf den Namen eines einzelnen Endpunkts klicken, um die Detailseite anzuzeigen. 

1.  Auf der Seite mit den Proxy-Details unter dem Abschnitt **Proxy-Endpunkte**, wählen Sie **Löschen**. Oder wählen Sie auf der Detailseite des Proxy-Endpunkts unter **Aktionen** die Option **Löschen** aus. 

## AWS CLI
<a name="rds-proxy-endpoints.DeleteEndpoint.cli"></a>

 Um einen Proxy-Endpunkt zu löschen, führen Sie den Befehl [delete-db-proxy-endpoint](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-proxy-endpoint.html) mit den folgenden erforderlichen Parametern: 
+  `--db-proxy-endpoint-name` 

 Der folgende Befehl löscht den Proxy-Endpunkt mit dem Namen `my-endpoint`. 

Für Linux, macOS oder Unix:

```
aws rds delete-db-proxy-endpoint \
  --db-proxy-endpoint-name my-endpoint
```

Für Windows:

```
aws rds delete-db-proxy-endpoint ^
  --db-proxy-endpoint-name my-endpoint
```

## RDS-API
<a name="rds-proxy-endpoints.DeleteEndpoint.api"></a>

 Um einen Proxy-Endpunkt mit der RDS-API zu löschen, führen Sie die Aktion [DeleteDBProxyEndpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBProxyEndpoint.html) aus. Geben Sie den Namen des Proxy-Endpunkts für den `DBProxyEndpointName`-Parameter an. 

# Überwachen von RDS-Proxy-Metriken mit Amazon CloudWatch
<a name="rds-proxy.monitoring"></a>

 Sie können den RDS-Proxy mithilfe von Amazon CloudWatch überwachen. CloudWatch sammelt und verarbeitet Rohdaten von den Proxys zu lesbaren Metriken nahezu in Echtzeit. Um diese Metriken in der CloudWatch-Konsole zu finden, wählen Sie **Metrics (Metriken)**, dann **RDS**, und dann **Per-Proxy Metrics (Proxy-Metriken)**. Weitere Informationen finden Sie unter [Verwenden von Amazon CloudWatch-Metriken](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) im Amazon CloudWatch-Benutzerhandbuch. 

**Anmerkung**  
 RDS veröffentlicht diese Metriken für jede zugrunde liegende Amazon EC2-Instance, die dem Proxy zugeordnet ist. Ein einzelner Proxy kann von mehr als einer EC2-Instance bedient werden. Verwenden Sie CloudWatch-Statistiken, um die Werte für einen Proxy über alle zugeordneten Instances hinweg zu aggregieren.   
 Einige dieser Metriken sind möglicherweise erst nach der ersten erfolgreichen Verbindung durch einen Proxy sichtbar. 

 In den RDS-Proxy-Protokollen wird jedem Eintrag der Name des zugehörigen Proxy-Endpunkts vorangestellt. Dieser Name kann der Name sein, den Sie für einen benutzerdefinierten Endpunkt angegeben haben, oder der spezielle Name `default` für den Standardendpunkt eines Proxys, der Lese-/Schreibanforderungen durchführt. 

 Alle RDS-Proxy-Metriken befinden sich in der Gruppe `proxy`. 

 Jeder Proxy-Endpunkt hat seinen eigenen CloudWatch-Metriken. Sie können die Nutzung jedes Proxy-Endpunkts unabhängig überwachen. Weitere Informationen zu den Proxy-Endpunkten finden Sie unter [Arbeiten mit Amazon-RDS-Proxy-Endpunkten](rds-proxy-endpoints.md). 

 Sie können die Werte für jede Metrik mit einem der folgenden Dimensionssätze aggregieren. Zum Beispiel können Sie, indem Sie den `ProxyName`-Dimensionssatz verwenden, den gesamten Datenverkehr für einen bestimmten Proxy analysieren. Durch die Verwendung der anderen Dimensionssätze können Sie die Metriken auf verschiedene Arten aufteilen. Sie können die Metriken basierend auf den verschiedenen Endpunkten oder Zieldatenbanken jedes Proxys oder dem Lese-/Schreib- und schreibgeschützten Datenverkehr zu jeder Datenbank aufteilen. 
+  -Dimensionssatz 1: `ProxyName` 
+  -Dimensionssatz 2: `ProxyName`, `EndpointName` 
+  -Dimensionssatz 3: `ProxyName`, `TargetGroup`, `Target` 
+  -Dimensionssatz 4: `ProxyName`, `TargetGroup`, `TargetRole` 


|  Metrik  |  Beschreibung  |  Gültiger Zeitraum  |  CloudWatch-Dimensionssatz  | 
| --- | --- | --- | --- | 
|  `AvailabilityPercentage`   |   Der Prozentsatz der Zeit, für die die Zielgruppe in der durch die Dimension angegebenen Rolle verfügbar war. Diese Metrik wird jede Minute gemeldet. Die nützlichste Statistik für diese Metrik ist `Sum`.   |  1 Minute  |  [Dimension set 4](#proxy-dimension-set-4)  | 
| ClientConnections  |   Die aktuelle Anzahl von Clientverbindungen. Diese Metrik wird jede Minute gemeldet. Die nützlichste Statistik für diese Metrik ist `Sum`.   |   1 Minute   |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 2](#proxy-dimension-set-2)  | 
| ClientConnectionsClosed  |   Die Anzahl der geschlossenen Clientverbindungen. Die nützlichste Statistik für diese Metrik ist `Sum`.   |   1 Minute und höher   |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 2](#proxy-dimension-set-2)  | 
| ClientConnectionsInSetup |  Die aktuelle Anzahl der Clientverbindungen, die geöffnet sind, deren Einrichtung jedoch nicht abgeschlossen wurde. Diese Metrik wird jede Minute gemeldet. Die nützlichste Statistik für diese Metrik ist Summe.  |  1 Minute  |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 2](#proxy-dimension-set-2)  | 
|  `ClientConnectionsNoTLS`   |  Die aktuelle Anzahl von Clientverbindungen ohne TLS (Transport Layer Security). Diese Metrik wird jede Minute gemeldet. Die nützlichste Statistik für diese Metrik ist Sum.  |  1 Minute |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 2](#proxy-dimension-set-2)  | 
|  `ClientConnectionsReceived`   |   Die Anzahl der empfangenen Clientverbindungsanforderungen. Die nützlichste Statistik für diese Metrik ist `Sum`.   |   1 Minute und höher   |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 2](#proxy-dimension-set-2)  | 
| ClientConnectionsSetupFailedAuth  |   Die Anzahl der Clientverbindungsversuche, die aufgrund einer fehlerhaften Authentifizierungs- oder TLS-Konfiguration fehlgeschlagen sind. Die nützlichste Statistik für diese Metrik ist `Sum`.   |   1 Minute und höher   |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 2](#proxy-dimension-set-2)  | 
| ClientConnectionsSetupSucceeded  |   Die Anzahl der Clientverbindungen, die erfolgreich mit einem Authentifizierungsmechanismus mit oder ohne TLS hergestellt wurden. Die nützlichste Statistik für diese Metrik ist `Sum`.   |   1 Minute und höher   |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 2](#proxy-dimension-set-2)  | 
| ClientConnectionsTLS  |  Die aktuelle Anzahl von Clientverbindungen mit TLS. Diese Metrik wird jede Minute gemeldet. Die nützlichste Statistik für diese Metrik ist Sum.  | 1 Minute |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 2](#proxy-dimension-set-2)  | 
| DatabaseConnectionRequests  |   Die Anzahl der Anforderungen zum Erstellen einer Datenbankverbindung. Die nützlichste Statistik für diese Metrik ist `Sum`.   |   1 Minute und höher   |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 3](#proxy-dimension-set-3), [Dimension set 4](#proxy-dimension-set-4)  | 
|  `DatabaseConnectionRequestsWithTLS`   |  Die Anzahl der Anforderungen zum Erstellen einer Datenbankverbindung mit TLS. Die nützlichste Statistik für diese Metrik ist Sum.  |  1 Minute und höher  |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 3](#proxy-dimension-set-3), [Dimension set 4](#proxy-dimension-set-4)  | 
| DatabaseConnections  |   Die aktuelle Anzahl von Datenbankverbindungen. Diese Metrik wird jede Minute gemeldet. Die nützlichste Statistik für diese Metrik ist `Sum`.   |   1 Minute   |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 3](#proxy-dimension-set-3), [Dimension set 4](#proxy-dimension-set-4)  | 
|  `DatabaseConnectionsBorrowLatency`   |  Die Zeit in Mikrosekunden, die der überwachte Proxy benötigt, um eine Datenbankverbindung zu erhalten. Die nützlichste Statistik für diese Metrik ist Sum.  |  1 Minute und höher  |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 2](#proxy-dimension-set-2)  | 
| DatabaseConnectionsCurrentlyBorrowed  |   Die aktuelle Anzahl von Datenbankverbindungen im Ausleihstatus. Diese Metrik wird jede Minute gemeldet. Die nützlichste Statistik für diese Metrik ist `Sum`.   |   1 Minute   |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 3](#proxy-dimension-set-3), [Dimension set 4](#proxy-dimension-set-4)  | 
| DatabaseConnectionsCurrentlyInTransaction  |   Die aktuelle Anzahl der Datenbankverbindungen in einer Transaktion. Diese Metrik wird jede Minute gemeldet. Die nützlichste Statistik für diese Metrik ist `Sum`.   |   1 Minute   |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 3](#proxy-dimension-set-3), [Dimension set 4](#proxy-dimension-set-4)  | 
| DatabaseConnectionsCurrentlySessionPinned  |   Die aktuelle Anzahl von Datenbankverbindungen, die derzeit aufgrund von Operationen in Clientanforderungen, die den Sitzungsstatus ändern, angeheftet, bzw. fixiert, werden. Diese Metrik wird jede Minute gemeldet. Die nützlichste Statistik für diese Metrik ist `Sum`.   |   1 Minute   |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 3](#proxy-dimension-set-3), [Dimension set 4](#proxy-dimension-set-4)  | 
| DatabaseConnectionsSetupFailed  |   Die Anzahl der fehlgeschlagenen Datenbankverbindungsanforderungen. Die nützlichste Statistik für diese Metrik ist `Sum`.   |   1 Minute und höher   |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 3](#proxy-dimension-set-3), [Dimension set 4](#proxy-dimension-set-4)  | 
| DatabaseConnectionsSetupSucceeded  |   Die Anzahl der erfolgreich aufgebauten Datenbankverbindungen mit oder ohne TLS. Die nützlichste Statistik für diese Metrik ist `Sum`.   |   1 Minute und höher   |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 3](#proxy-dimension-set-3), [Dimension set 4](#proxy-dimension-set-4)  | 
|  `DatabaseConnectionsWithTLS`   |  Die aktuelle Anzahl von Datenbankverbindungen mit TLS. Diese Metrik wird jede Minute gemeldet. Die nützlichste Statistik für diese Metrik ist Sum.  |  1 Minute  |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 3](#proxy-dimension-set-3), [Dimension set 4](#proxy-dimension-set-4)  | 
| MaxDatabaseConnectionsAllowed  |   Die maximal zulässige Anzahl von Datenbankverbindungen. Diese Metrik wird jede Minute gemeldet. Die nützlichste Statistik für diese Metrik ist `Sum`.   |   1 Minute   |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 3](#proxy-dimension-set-3), [Dimension set 4](#proxy-dimension-set-4)  | 
|  `QueryDatabaseResponseLatency`   |  Die Zeit in Mikrosekunden, die die Datenbank benötigt hat, um auf die Abfrage zu antworten. Die nützlichste Statistik für diese Metrik ist Average.  |  1 Minute und höher  |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 2](#proxy-dimension-set-2), [Dimension set 3](#proxy-dimension-set-3), [Dimension set 4](#proxy-dimension-set-4)  | 
| QueryRequests  |   Die Anzahl der empfangenen Abfragen. Eine Abfrage, die mehrere Anweisungen enthält, wird als eine Abfrage gezählt. Die nützlichste Statistik für diese Metrik ist `Sum`.   |   1 Minute und höher   |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 2](#proxy-dimension-set-2)  | 
| QueryRequestsNoTLS  |  Die Anzahl der Abfragen, die von Nicht-TLS-Verbindungen empfangen wurden. Eine Abfrage, die mehrere Anweisungen enthält, wird als eine Abfrage gezählt. Die nützlichste Statistik für diese Metrik ist Sum.  |  1 Minute und höher  |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 2](#proxy-dimension-set-2)  | 
|  `QueryRequestsTLS`   |  Die Anzahl der Abfragen, die von TLS-Verbindungen empfangen wurden. Eine Abfrage, die mehrere Anweisungen enthält, wird als eine Abfrage gezählt. Die nützlichste Statistik für diese Metrik ist Sum.  |  1 Minute und höher  |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 2](#proxy-dimension-set-2)  | 
| QueryResponseLatency  |  Die Zeit in Mikrosekunden zwischen dem Abrufen einer Abfrageanforderung und dem darauf antwortenden Proxy. Die nützlichste Statistik für diese Metrik ist Average.  |  1 Minute und höher  |  [Dimension set 1](#proxy-dimension-set-1), [Dimension set 2](#proxy-dimension-set-2)  | 

 Sie können Protokolle der RDS-Proxy-Aktivität unter CloudWatch in der AWS-Managementkonsole finden. Jeder Proxy hat einen Eintrag auf der Seite **Log groups (Protokollgruppen)** . 

**Wichtig**  
 Diese Protokolle sind zur menschlichen Verwendung zur Fehlerbehebung und nicht für den programmatischen Zugriff bestimmt. Das Format und der Inhalt der Protokolle können geändert werden.   
 Insbesondere enthalten ältere Protokolle keine Präfixe, die den Endpunkt für jede Anfrage angeben. In neueren Protokollen wird jedem Eintrag der Name des zugehörigen Proxy-Endpunkts vorangestellt. Dieser Name kann der Name sein, den Sie für einen benutzerdefinierten Endpunkt angegeben haben, oder der spezielle Name `default` für Anforderungen mit dem Standard-Endpunkt eines Proxys. 

# Arbeiten mit RDS-Proxy-Ereignissen
<a name="rds-proxy.events"></a>

Ein *Ereignis* weist auf eine Änderung in einer Umgebung hin, beispielsweise einer AWS-Umgebung, eines Service oder einer Anwendung eines SaaS-Partners (Software as a Service). Oder es kann sich um eine(n) Ihrer eigenen benutzerdefinierten Anwendungen oder Services handeln. Ein Beispiel: Amazon RDS generiert ein Ereignis, wenn Sie einen RDS-Proxy erstellen oder ändern. Amazon RDS überträgt Ereignisse nahezu in Echtzeit an Amazon EventBridge bereit. Nachfolgend finden Sie eine Liste von RDS-Proxy-Ereignissen, die Sie abonnieren können, und ein Beispiel für ein RDS-Proxy-Ereignis. 

Weitere Informationen zum Arbeiten mit Ereignissen finden Sie in den folgenden Abschnitten:
+ Informationen zum Anzeigen von Ereignissen mithilfe der AWS-Managementkonsole, AWS CLI oder RDS API finden Sie unter [Anzeigen von Amazon-RDS-Ereignissen](USER_ListEvents.md).
+ Informationen dazu, wie Sie Amazon RDS dafür konfigurieren, Ereignisse an EventBridge zu senden, finden Sie unter [Erstellen einer Regel, die bei einem Amazon RDS-Ereignis ausgelöst wird](rds-cloud-watch-events.md).

## RDS-Proxy-Ereignisse
<a name="rds-proxy.events.list"></a>

Die folgende Tabelle zeigt die Ereigniskategorie und eine Liste von Ereignissen für den Fall, dass ein RDS-Proxy der Quelltyp ist.


|  Kategorie  | RDS-Ereignis-ID |  Fehlermeldung  |  Hinweise  | 
| --- | --- | --- | --- | 
| Konfigurationsänderung | RDS-EVENT-0204 |  RDS hat den DB-Proxy *Name* geändert.  | Keine | 
| Konfigurationsänderung | RDS-EVENT-0207 |  RDS hat den Endpunkt des DB-Proxys *Name* geändert.  | Keine | 
| Konfigurationsänderung | RDS-EVENT-0213 |  RDS hat das Hinzufügen der DB-Instance erkannt und sie automatisch zur Zielgruppe des DB-Proxys *Name* hinzugefügt.  | Keine | 
|  Konfigurationsänderung  | RDS-EVENT-0214 |  RDS hat das Löschen der DB-Instance *Name* erkannt und sie automatisch aus der Zielgruppe *Name* des DB-Proxys *Name* entfernt.  | Keine | 
|  Konfigurationsänderung  | RDS-EVENT-0215 |  RDS hat das Löschen des DB-Clusters *Name* erkannt und ihn automatisch aus der Zielgruppe *Name* des DB-Proxys *Name* entfernt.  | Keine | 
|  Erstellung  | RDS-EVENT-0203 |  RDS hat den DB-Proxy *Name* erstellt.  | Keine | 
|  Erstellung  | RDS-EVENT-0206 |  RDS hat den Endpunkt *Name* für den DB-Proxy *Name* erstellt.  | Keine | 
| Löschung | RDS-EVENT-0205 |  RDS hat den DB-Proxy *Name* erstellt.  | Keine | 
|  Löschung  | RDS-EVENT-0208 |  RDS hat den Endpunkt *Name* für den DB-Proxy *Name* gelöscht.  | Keine | 
|  Ausfall  | RDS-EVENT-0243 |  RDS konnte keine Kapazität für den Proxy *Name* bereitstellen, da in Ihren Subnetzen nicht genügend IP-Adressen verfügbar sind: *Name*. Stellen Sie sicher, dass Ihre Subnetze die Mindestanzahl unbenutzter IP-Adressen aufweisen, wie in der RDS-Proxy-Dokumentation empfohlen.  |  Informationen zur Bestimmung der empfohlenen Anzahl für Ihre Instance-Klasse finden Sie unter [Planen der Kapazität von IP-Adressen](rds-proxy-network-prereqs.md#rds-proxy-network-prereqs.plan-ip-address).  | 
|  Ausfall | RDS-EVENT-0275 |  RDS drosselte einige Verbindungen zum DB-Proxy *Name*. Die Anzahl der gleichzeitigen Verbindungsanforderungen vom Client zum Proxy hat den Grenzwert überschritten.  | Keine | 

Es folgt ein Beispiel eines RDS-Proxy-Ereignisses im JSON-Format. Das Ereignis zeigt, dass RDS den Endpunkt `my-endpoint` des RDS-Proxy `my-rds-proxy` geändert hat. Die Ereignis-ID lautet RDS-EVENT-0207.

```
{
  "version": "0",
  "id": "68f6e973-1a0c-d37b-f2f2-94a7f62ffd4e",
  "detail-type": "RDS DB Proxy Event",
  "source": "aws.rds",
  "account": "123456789012",
  "time": "2018-09-27T22:36:43Z",
  "region": "us-east-1",
  "resources": [
     "arn:aws:rds:us-east-1:123456789012:db-proxy:my-rds-proxy"
  ],
  "detail": {
    "EventCategories": [
      "configuration change"
    ],
    "SourceType": "DB_PROXY",
    "SourceArn": "arn:aws:rds:us-east-1:123456789012:db-proxy:my-rds-proxy",
    "Date": "2018-09-27T22:36:43.292Z",
    "Message": "RDS modified endpoint my-endpoint of DB Proxy my-rds-proxy.",
    "SourceIdentifier": "my-endpoint",
    "EventID": "RDS-EVENT-0207"
  }
}
```

# Fehlersuche für RDS-Proxy
<a name="rds-proxy.troubleshooting"></a>

 Im Folgenden finden Sie Ideen zur Fehlerbehebung für einige häufig auftretende Probleme mit dem RDS-Proxy sowie Informationen zu CloudWatch Protokollen für RDS Proxy. 

 In den RDS-Proxy-Protokollen wird jedem Eintrag der Name des zugehörigen Proxy-Endpunkts vorangestellt. Dieser Name kann derjenige sein, den Sie für einen benutzerdefinierten Endpunkt angegeben haben. Es kann sich auch um den speziellen Namen `default` für den Standardendpunkt eines Proxys handeln, der read/write Anfragen ausführt. Weitere Informationen zu den Proxy-Endpunkten finden Sie unter [Arbeiten mit Amazon-RDS-Proxy-Endpunkten](rds-proxy-endpoints.md). 

**Topics**
+ [Überprüfen der Konnektivität für einen Proxy](#rds-proxy-verifying)
+ [Häufige Probleme und Lösungen](#rds-proxy-diagnosis)
+ [Beheben von RDS-Proxy-Problemen mit RDS für MySQL](#rds-proxy-MySQL-troubleshooting)
+ [Beheben von RDS-Proxy-Problemen mit RDS für PostgreSQL](#rds-proxy-PostgreSQL-troubleshooting)

## Überprüfen der Konnektivität für einen Proxy
<a name="rds-proxy-verifying"></a>

 Mit den folgenden Befehle können Sie überprüfen, ob alle Komponenten wie Proxy-, Datenbank- und Rechen-Instances in der Verbindung miteinander kommunizieren können. 

 Untersuchen Sie den Proxy selbst mit dem [describe-db-proxies](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxies.html)Befehl. Untersuchen Sie auch die zugehörige Zielgruppe mit dem Befehl [describe-db-proxy-target-groups](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxy-target-groups.html). Überprüfen Sie, ob die Details der Ziele mit der RDS-DB-Instance übereinstimmen, die Sie dem Proxy zuordnen möchten. Verwenden Sie Befehle wie die folgenden. 

```
aws rds describe-db-proxies --db-proxy-name $DB_PROXY_NAME
aws rds describe-db-proxy-target-groups --db-proxy-name $DB_PROXY_NAME
```

 Um zu überprüfen, ob der Proxy eine Verbindung zur zugrunde liegenden Datenbank herstellen kann, überprüfen Sie mithilfe des [describe-db-proxy-targets](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxy-targets.html)Befehls die in den Zielgruppen angegebenen Ziele. Verwenden Sie einen Befehl wie den folgenden. 

```
aws rds describe-db-proxy-targets --db-proxy-name $DB_PROXY_NAME
```

 Die Ausgabe des [describe-db-proxy-targets](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxy-targets.html)Befehls enthält ein `TargetHealth` Feld. Sie können die Felder `State`, `Reason` und `Description` in `TargetHealth` überprüfen, um festzustellen, ob der Proxy mit der zugrunde liegenden DB-Instance kommunizieren kann. 
+  Der Wert `State` für `AVAILABLE` gibt an, dass der Proxy eine Verbindung mit der DB-Instance herstellen kann. 
+  Der Wert `State` für `UNAVAILABLE` weist auf ein temporäres oder dauerhaftes Verbindungsproblem hin. Überprüfen Sie in diesem Fall die Felder `Reason` und `Description`. Wenn beispielsweise der `Reason` den Wert `PENDING_PROXY_CAPACITY` hat, versuchen Sie erneut , eine Verbindung herzustellen, nachdem der Proxy seinen Skalierungsvorgang beendet hat. Wenn `Reason` den Wert `UNREACHABLE`, `CONNECTION_FAILED` oder `AUTH_FAILURE` hat, verwenden Sie die Erläuterung aus dem Feld `Description`, um das Problem leichter zu diagnostizieren. 
+  Das Feld `State` hat möglicherweise für kurze Zeit einen Wert von `REGISTERING`, bevor Sie zu `AVAILABLE` oder `UNAVAILABLE` wechseln. 

 Wenn der folgende Netcat-Befehl (`nc`) erfolgreich ist, können Sie von der EC2 Instanz oder einem anderen System aus, auf dem Sie angemeldet sind, auf den Proxy-Endpunkt zugreifen. Dieser Befehl meldet einen Fehler, wenn Sie sich nicht in derselben VPC wie der Proxy und die zugehörige Datenbank befinden. Möglicherweise können Sie sich direkt bei der Datenbank anmelden, ohne sich in derselben VPC zu befinden. Sie können sich jedoch nur am Proxy anmelden, wenn Sie sich in derselben VPC befinden. 

```
nc -zx MySQL_proxy_endpoint 3306

nc -zx PostgreSQL_proxy_endpoint 5432
```

 Sie können die folgenden Befehle verwenden, um sicherzustellen, dass Ihre EC2 Instanz über die erforderlichen Eigenschaften verfügt. Insbesondere muss die VPC für die EC2 Instance mit der VPC für den der identisch sein, mit dem der Proxy eine Verbindung herstellt. 

```
aws ec2 describe-instances --instance-ids your_ec2_instance_id
```

 Untersuchen Sie die für den Proxy verwendeten Secrets Manager-Secrets. 

```
aws secretsmanager list-secrets
aws secretsmanager get-secret-value --secret-id your_secret_id
```

 Stellen Sie sicher, dass das von `get-secret-value` angezeigte Feld `SecretString` als JSON-Zeichenfolge codiert ist, die die Felder `username` und `password` enthält. Das folgende Beispiel zeigt das Format des `SecretString`-Feldes. 

```
{
  "ARN": "some_arn",
  "Name": "some_name",
  "VersionId": "some_version_id",
  "SecretString": '{"username":"some_username","password":"some_password"}',
  "VersionStages": [ "some_stage" ],
  "CreatedDate": some_timestamp
}
```

Überprüfen Sie bei der Behebung von Problemen mit der IAM-Authentifizierung Folgendes:
+ In der Datenbank ist die IAM-Authentifizierung aktiviert.
+ Der Proxy ist mit dem richtigen Authentifizierungsschema konfiguriert.
+ Die IAM-Richtlinien in der IAM-Rolle, die dem Proxy zur Verfügung gestellt wurden, gewähren der entsprechenden Datenbank und ihrem Benutzernamen die erforderlichen `rds-db:connect` Berechtigungen.
+ Für die end-to-end IAM-Authentifizierung existieren Datenbankbenutzer, die den IAM-Benutzer- oder Rollennamen entsprechen.
+ SSL/TLS ist für die Verbindung aktiviert.

## Häufige Probleme und Lösungen
<a name="rds-proxy-diagnosis"></a>

In diesem Abschnitt werden einige häufig auftretende Probleme und mögliche Lösungen bei der Verwendung von RDS-Proxy beschrieben.

Wenn in der Beschreibung `TargetHealth` `Proxy does not have any registered credentials` angegeben ist, überprüfen Sie nach dem Ausführen des CLI-Befehls `aws rds describe-db-proxy-targets` Folgendes:
+ Es sind Anmeldeinformationen registriert, damit der Benutzer auf den Proxy zugreifen kann.
+ Die IAM-Rolle für den Zugriff auf das vom Proxy verwendete Secret von Secrets Manager ist gültig.

Beim Erstellen eines DB-Proxys oder beim Herstellen einer Verbindung mit einem DB-Proxy können die folgenden RDS-Ereignisse auftreten.


| Kategorie | RDS-Ereignis-ID | Description | 
| --- | --- | --- | 
|  Ausfall  | RDS-EVENT-0243 | RDS konnte keine Kapazität für den Proxy bereitstellen, da in Ihren Subnetzen nicht genügend IP-Adressen verfügbar sind. Stellen Sie sicher, dass Ihre Subnetze die Mindestanzahl unbenutzter IP-Adressen aufweisen, um das Problem zu lösen. Informationen zur Bestimmung der empfohlenen Anzahl für Ihre Instance-Klasse finden Sie unter [Planen der Kapazität von IP-Adressen](rds-proxy-network-prereqs.md#rds-proxy-network-prereqs.plan-ip-address). | 
|  Ausfall  | RDS-EVENT-0275 |  RDS hat einige Verbindungen zum DB-Proxy gedrosselt. *name* Die Anzahl der gleichzeitigen Verbindungsanforderungen vom Client zum Proxy hat den Grenzwert überschritten.  | 

 Beim Erstellen eines neuen Proxys oder beim Herstellen einer Verbindung mit einem Proxy können die folgenden Probleme auftreten. 


|  Fehler  |  Ursachen oder Problemumgehungen  | 
| --- | --- | 
|   `403: The security token included in the request is invalid`   |  Wählen Sie eine vorhandene IAM-Rolle aus, anstatt eine neue zu erstellen.  | 

## Beheben von RDS-Proxy-Problemen mit RDS für MySQL
<a name="rds-proxy-MySQL-troubleshooting"></a>

 Beim Herstellen einer Verbindung mit einem MySQL-Proxy können die folgenden Probleme auftreten. 


|  Fehler  |  Ursachen oder Problemumgehungen  | 
| --- | --- | 
|  ERROR 1040 (HY000): Connections rate limit exceeded (limit\$1value)  |  Die Rate der Verbindungsanforderungen vom Client zum Proxy hat den Grenzwert überschritten.  | 
|  ERROR 1040 (HY000): IAM authentication rate limit exceeded  |  Die Anzahl der gleichzeitigen Anforderungen mit IAM-Authentifizierung vom Client an den Proxy hat den Grenzwert überschritten.  | 
|  ERROR 1040 (HY000): Number simultaneous connections exceeded (limit\$1value)  |  Die Anzahl der gleichzeitigen Verbindungsanforderungen vom Client zum Proxy hat den Grenzwert überschritten.  | 
|   `ERROR 1045 (28000): Access denied for user 'DB_USER'@'%' (using password: YES)`   |  Das vom Proxy verwendete Secrets Manager-Geheimnis stimmt nicht mit dem Benutzernamen und dem Passwort eines vorhandenen Datenbankbenutzers überein. Aktualisieren Sie entweder die Anmeldeinformationen im Secrets Manager-Geheimnis oder stellen Sie sicher, dass der Datenbankbenutzer vorhanden ist und über das gleiche Passwort wie im Geheimnis verfügt.  | 
|  ERROR 1105 (HY000): Unknown error  |  Es ist ein unbekannter Fehler aufgetreten.  | 
|  ERROR 1231 (42000): Variable ''character\$1set\$1client'' can't be set to the value of value  |   Der für den `character_set_client`-Parameter gesetzte Wert ist ungültig. Beispielsweise ist der Wert `ucs2` ungültig, da er den MySQL-Server zum Absturz bringen kann.   | 
|  ERROR 3159 (HY000): This RDS Proxy requires TLS connections.  |   Sie haben die Einstellung **Transport Layer Security erfordern** im Proxy aktiviert, aber Ihre Verbindung enthielt den Parameter `ssl-mode=DISABLED` im MySQL-Client. Führen Sie eine der folgenden Aufgaben aus:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  | 
|  ERROR 2026 (HY000): SSL connection error: Internal Server Error  |   Der TLS-Handshake an den Proxy ist fehlgeschlagen. Einige mögliche Gründe sind:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  | 
|  ERROR 9501 (HY000): Timed-out waiting to acquire database connection  |   Auf dem Proxy ist beim Herstellen einer Datenbankverbindung eine Zeitüberschreitung aufgetreten. Einige mögliche Gründe sind:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  | 

## Beheben von RDS-Proxy-Problemen mit RDS für PostgreSQL
<a name="rds-proxy-PostgreSQL-troubleshooting"></a>

 Beim Herstellen einer Verbindung mit einem PostgreSQL-Proxy können die folgenden Probleme auftreten. 


|  Fehler  |  Ursache  |  Lösung  | 
| --- | --- | --- | 
|   `ERROR 28000: IAM authentication is allowed only with SSL connections.`   |   Der Benutzer hat versucht, mithilfe der IAM-Authentifizierung mit der Einstellung `sslmode=disable` im PostgreSQL-Client eine Verbindung zur Datenbank herzustellen.   |   Der Benutzer muss eine Verbindung mit der Datenbank mit der Mindesteinstellung `sslmode=require` im PostgreSQL-Client herstellen. Weitere Informationen finden Sie in der [PostgreSQL SSL Support-Dokumentation](https://www.postgresql.org/docs/current/libpq-ssl.html).   | 
|  `ERROR 28000: This RDS proxy has no credentials for the role role_name. Check the credentials for this role and try again.`   |   Es gibt kein Secrets Manager-Secret für diese Rolle.   |   Fügen Sie ein Secrets Manager-Secret diese Rolle hinzu. Weitere Informationen finden Sie unter [Konfigurieren der IAM-Authentifizierung für RDS-Proxy](rds-proxy-iam-setup.md).  | 
|  `ERROR 28000: RDS supports only IAM, MD5, or SCRAM authentication.`   |   Der Datenbank-Client, der für die Verbindung mit dem Proxy verwendet wird, nutzt einen Authentifizierungsmechanismus, der derzeit vom Proxy nicht unterstützt wird.   |   Wenn Sie keine IAM-Authentifizierung verwenden, verwenden Sie die MD5 oder die SCRAM-Passwortauthentifizierung.   | 
|  `ERROR 28000: A user name is missing from the connection startup packet. Provide a user name for this connection.`   |   Der Datenbankclient, der zum Herstellen einer Verbindung mit dem Proxy verwendet wird, sendet beim Versuch, eine Verbindung herzustellen, keinen Benutzernamen.   |   Stellen Sie sicher, dass Sie beim Einrichten einer Verbindung zum Proxy mit dem PostgreSQL-Client Ihrer Wahl einen Benutzernamen definieren.   | 
|  `ERROR 28000: IAM is allowed only with SSL connections.`   |   Ein Client hat versucht, eine Verbindung über die IAM-Authentifizierung herzustellen, aber SSL war nicht aktiviert.   |   Aktivieren Sie SSL im PostgreSQL-Client.   | 
|  `ERROR 28000: This RDS Proxy requires TLS connections.`   |   Der Benutzer hat die Option **Transport Layer Security erfordern** aktiviert, hat aber versucht, auf dem PostgreSQL-Client eine Verbindung mit `sslmode=disable` herzustellen.   |   Führen Sie einen der folgenden Schritte aus, um diesen Fehler zu beheben:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  | 
|  `ERROR 28P01: IAM authentication failed for user user_name. Check the IAM token for this user and try again.`   |   Dies kann folgende Ursachen haben:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  |   Gehen Sie folgendermaßen vor, um diesen Fehler zu beheben:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  | 
|  `ERROR 28P01: The password that was provided for the role role_name is wrong.`   |   Das Passwort für diese Rolle stimmt nicht mit dem Secrets Manager-Secret überein.   |   Überprüfen Sie den Schlüssel für diese Rolle in Secrets Manager, um festzustellen, ob das Passwort mit dem in Ihrem PostgreSQL-Client verwendeten Passwort übereinstimmt.   | 
|  `ERROR 28P01: The IAM authentication failed for the role role_name. Check the IAM token for this role and try again.`   |   Es gibt ein Problem mit dem IAM-Token, das für die IAM-Authentifizierung verwendet wird.   |   Generieren Sie ein neues Authentifizierungstoken und verwenden Sie es in einer neuen Verbindung.   | 
|  `ERROR 0A000: Feature not supported: RDS Proxy supports only version 3.0 of the PostgreSQL messaging protocol.`   |   Der PostgreSQL-Client, mit dem eine Verbindung zum Proxy hergestellt wird, verwendet ein Protokoll, das älter als 3.0 ist.   |   Verwenden Sie einen neueren PostgreSQL-Client, der das 3.0-Messaging-Protokoll unterstützt. Wenn Sie die `psql` PostgreSQL-CLI verwenden, verwenden Sie Version 7.4 oder höher.   | 
|  `ERROR 0A000: Feature not supported: RDS Proxy currently doesn't support streaming replication mode.`   |   Der PostgreSQL-Client, der für die Verbindung mit dem Proxy verwendet wird, versucht, den Streaming-Replikationsmodus zu verwenden, der derzeit vom RDS-Proxy nicht unterstützt wird.   |   Deaktivieren Sie den Streaming-Replikationsmodus im PostgreSQL-Client, der für die Verbindung verwendet wird.   | 
|  `ERROR 0A000: Feature not supported: RDS Proxy currently doesn't support the option option_name.`   |   Über die Startmeldung fordert der PostgreSQL-Client, der für die Verbindung mit dem Proxy verwendet wird, eine Option an, die derzeit vom RDS-Proxy nicht unterstützt wird.   |   Deaktivieren Sie die Option, die in der obigen Nachricht als nicht unterstützt angezeigt wird, in dem PostgreSQL-Client, der für die Verbindung verwendet wird.   | 
|  `ERROR 53300: The IAM authentication failed because of too many competing requests.`   |   Die Anzahl der gleichzeitigen Anforderungen mit IAM-Authentifizierung vom Client an den Proxy hat den Grenzwert überschritten.   |   Reduzieren Sie die Rate, mit der Verbindungen mit IAM-Authentifizierung von einem PostgreSQL-Client hergestellt werden.   | 
|  `ERROR 53300: The maximum number of client connections to the proxy exceeded number_value.`   |   Die Anzahl der gleichzeitigen Verbindungsanforderungen vom Client zum Proxy hat den Grenzwert überschritten.   |   Reduzieren Sie die Anzahl der aktiven Verbindungen von PostgreSQL-Clients zu diesem RDS-Proxy.   | 
|  `ERROR 53300: Rate of connection to proxy exceeded number_value.`   |   Die Rate der Verbindungsanforderungen vom Client zum Proxy hat den Grenzwert überschritten.   |   Reduzieren Sie die Rate, mit der Verbindungen von einem PostgreSQL-Client hergestellt werden.   | 
|  `ERROR XX000: Unknown error.`   |   Es ist ein unbekannter Fehler aufgetreten.   |   Wenden Sie sich an den AWS Support, um das Problem zu untersuchen.   | 
|  `ERROR 08000: Timed-out waiting to acquire database connection.`   |   Auf dem Proxy ist beim Herstellen einer Datenbankverbindung innerhalb der in der Einstellung `ConnectionBorrowTimeout` angegebenen Dauer eine Zeitüberschreitung aufgetreten. Einige mögliche Gründe sind:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  |   Folgende Lösungen sind möglich:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/AmazonRDS/latest/UserGuide/rds-proxy.troubleshooting.html)  | 
|  `ERROR XX000: Request returned an error: database_error.`   |   Die vom Proxy hergestellte Datenbankverbindung hat einen Fehler zurückgegeben.   |   Die Lösung hängt vom spezifischen Datenbankfehler ab. Ein Beispiel is: `Request returned an error: database "your-database-name" does not exist`. Das bedeutet, dass der angegebene Datenbankname nicht auf dem Datenbankserver existiert. Oder es bedeutet, dass der als Datenbankname verwendete Benutzername (wenn kein Datenbankname angegeben ist) auf dem Server nicht vorhanden ist.   | 
|  `ERROR 53300: The IAM authentication failed because of too many competing requests.`  |  Die Anzahl der gleichzeitigen Anforderungen mit IAM-Authentifizierung vom Client an den Proxy hat den Grenzwert überschritten.  |  Reduzieren Sie die Rate, mit der Verbindungen mit IAM-Authentifizierung von einem PostgreSQL-Client hergestellt werden.  | 
|  `ERROR 28000: Enable IAM authentication for the client connection to the proxy and try again.`  |  Der RDS-Proxy kann keine Verbindung zur Datenbank herstellen, da die IAM-Authentifizierung für die Client-Verbindung zum Proxy nicht aktiviert ist. Dies tritt auf, wenn der `DefaultAuthScheme` Parameter des Proxys auf `IAM_AUTH` mit einem registrierten Benutzer gesetzt ist, der Client jedoch die Kennwortauthentifizierung anstelle der IAM-Authentifizierung verwendet.  |  Aktivieren Sie die IAM-Authentifizierung für die Client-Verbindung zum Proxy und versuchen Sie es erneut.  | 
|  `ERROR 28000: Configure IAM authentication as the DefaultAuthScheme in your proxy and try again.`  |  Der RDS-Proxy kann keine Verbindung zur Datenbank herstellen, da der `DefaultAuthScheme` nicht auf `IAM_AUTH` eingestellt ist. Der `DefaultAuthScheme` Parameter des Proxys ist auf gesetzt`NONE`, aber der Client versucht, die IAM-Authentifizierung zu verwenden.  |  Stellen Sie `IAM_AUTH` für `DefaultAuthScheme` Ihren Proxy auf ein und versuchen Sie es erneut.  | 

### Problembehandlung bei gelöschter `postgres`-Datenbank
<a name="rds-proxy-PostgreSQL-troubleshooting.postgresDBDelete"></a>

Wenn Sie die `postgres`-Datenbank versehentlich aus Ihrer Instance löschen, müssen Sie die Datenbank wiederherstellen, um die Verbindung zu Ihrer Instance wiederherzustellen. Führen Sie die folgenden Befehle mit Ihrer DB-Instance aus:

```
CREATE DATABASE postgres;
GRANT CONNECT ON DATABASE postgres TO rdsproxyadmin;
```

# Verwenden von RDS-Proxy mit AWS CloudFormation
<a name="rds-proxy-cfn"></a>

 Sie können RDS-Proxy mit AWS CloudFormation nutzen. Auf diese Weise können Sie Gruppen verwandter Ressourcen erstellen. Eine solche Gruppe kann einen Proxy enthalten, der eine Verbindung mit einer neu erstellten DB-Instance von Amazon RDS herstellen kann. Die RDS-Proxy-Unterstützung in CloudFormation umfasst zwei neue Registrierungstypen: `DBProxy` und `DBProxyTargetGroup`. 

 Die folgende Auflistung zeigt eine CloudFormation-Beispielvorlage für RDS-Proxy. 

```
Resources:
 DBProxy:
   Type: AWS::RDS::DBProxy
   Properties:
     DBProxyName: CanaryProxy
     EngineFamily: MYSQL
     RoleArn:
      Fn::ImportValue: SecretReaderRoleArn
     Auth:
       - {AuthScheme: SECRETS, SecretArn: !ImportValue ProxySecret, IAMAuth: DISABLED}
     VpcSubnetIds:
       Fn::Split: [",", "Fn::ImportValue": SubnetIds]

 ProxyTargetGroup: 
   Type: AWS::RDS::DBProxyTargetGroup
   Properties:
     DBProxyName: CanaryProxy
     TargetGroupName: default
     DBInstanceIdentifiers: 
       - Fn::ImportValue: DBInstanceName
   DependsOn: DBProxy
```

 Weitere Informationen zu den Ressourcen in diesem Beispiel finden Sie unter [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxy.html) und [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbproxytargetgroup.html). 

 Weitere Informationen zu den Ressourcen, die Sie mit CloudFormation erstellen können, finden Sie in der [Referenz zu RDS-Ressourcentypen](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_RDS.html). 