Erstellen eines RDS Proxy - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen eines RDS Proxy

Um Verbindungen für einen DB-Cluster zu verwalten, erstellen Sie einen Proxy. Sie können einen Proxy einem DB-Cluster von Aurora MySQL oder einem Aurora PostgreSQL zuordnen.

So erstellen Sie einen Proxy
  1. Melden Sie sich bei der Amazon RDS-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Proxies (Proxys).

  3. Wählen Sie Create proxy (Proxy erstellen).

  4. Wählen Sie alle Einstellungen für Ihren Proxy.

    Geben Sie für die Proxy-Konfiguration folgende Informationen an:

    • Engine family (Engine-Familie). Diese Einstellung legt fest, welches Datenbanknetzwerkprotokoll der Proxy erkennt, wenn er den Netzwerkverkehr zu und von der Datenbank interpretiert. Wählen Sie für Aurora MySQL MariaDB und MySQL aus. Für Aurora PostgreSQL wählen Sie PostgreSQL aus.

    • Proxy identifier (Proxy-ID. Geben Sie einen Namen an, der innerhalb Ihrer AWS Konto-ID und Ihrer aktuellen AWS Region eindeutig ist.

    • Idle client connection timeout (Zeitüberschreitung bei Client-Leerlauf. Wählen Sie einen Zeitraum, in dem 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.

      Damit der Proxy proaktiv veraltete Verbindungen entfernt, verringern Sie den Timeout für inaktive Client-Verbindungen. Wenn die Arbeitslast stark ansteigt, erhöhen Sie das Timeout für inaktive Client-Verbindungen, um die Kosten für den Verbindungsaufbau zu sparen.“

    Machen Sie für Zielgruppenkonfiguration folgende Angaben:

    • Database (Datenbank. Wählen Sie eine , den Aurora-DB-Cluster, auf die Sie über diesen Proxy zugreifen möchten. Die Liste enthält nur DB-Instances und Cluster mit kompatiblen Datenbank-Engines, Engine-Versionen und anderen Einstellungen. Wenn die Liste leer ist, erstellen Sie eine neue DB-Instance oder einen neuen Cluster, mit der/dem RDS Proxy kompatibel ist. Eine Schritt-für-Schritt-Anleitung hierzu finden Sie unter Erstellen eines Amazon Aurora-DB Clusters. Versuchen Sie dann erneut, den Proxy zu erstellen.

    • Connection pool maximum connections (Max. Verbindungen Verbindungspool. Geben Sie einen Wert zwischen 1 und 100 an. Diese Einstellung stellt den Prozentsatz des max_connections-Wertes dar, den RDS Proxy für Verbindungen verwenden kann. Wenn Sie nur einen Proxy mit dieser DB-Instance oder diesem DB-Cluster verwenden möchten, können Sie den Wert auf 100 setzen. Weitere Informationen dazu, wie RDS Proxy diese Einstellung verwendet, finden Sie unter MaxConnectionsPercent.

    • Session pinning filters (Filter zum Anheften von Sitzungen. (Optional) Mit dieser Option können Sie den RDS-Proxy zwingen, Sitzungen bei bestimmten Status nicht zu fixieren. 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 Wahl 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 des Fixierens.

    • Connection borrow timeout (Zeitüberschreitung für die Verbindung. In einigen Fällen erwarten Sie möglicherweise, dass der Proxy manchmal alle verfügbaren Verbindungen nutzt. In solchen Fällen können Sie angeben, wie lange der Proxy wartet, bis eine Datenbankverbindung verfügbar ist, bevor ein Timeout-Fehler zurückgegeben wird. Sie können einen Zeitraum von maximal fünf Minuten angeben. Diese Einstellung gilt nur, wenn der Proxy die maximale Anzahl von Verbindungen geöffnet hat und alle Verbindungen bereits verwendet werden.

    • Initialisierungsabfrage. (Optional) 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 in der Regel zusammen mit SET Anweisungen verwendet, um sicherzustellen, dass jede Verbindung identische Einstellungen wie Zeitzone und Zeichensätze hat. Verwenden Sie für mehrere Anweisungen Semikola als Trennzeichen. Sie können auch mehrere Variablen in eine einzelne SET-Anweisung einschließen, z. B. SET x=1, y=2.

    Geben Sie unter Authentication (Authentifizierung) Informationen für Folgendes an:

    • IAM role (IAM-Rolle. Wählen Sie eine IAM-Rolle aus, die berechtigt ist, auf die zuvor ausgewählten Secrets Manager-Geheimnisse zuzugreifen. Oder Sie können eine neue IAM-Rolle aus dem AWS Management Console erstellen.

    • Secrets Manager Geheimnisse. Wählen Sie mindestens ein Secrets Manager Manager-Geheimnis, das Datenbank-Benutzeranmeldedaten enthält, die es dem Proxy ermöglichen, auf den Aurora DB-Cluster der zuzugreifen.

    • Client authentication type (Client-Authentifizierungstyp). Wählen Sie den Authentifizierungstyp, den der Proxy für Verbindungen von Clients verwendet. Die ausgewählte Option gilt für alle Secrets-Manager-Secrets, die Sie diesem Proxy zuordnen. Wenn Sie für jedes Geheimnis einen anderen Client-Authentifizierungstyp angeben müssen, erstellen Sie Ihren Proxy stattdessen mithilfe der AWS CLI oder der API.

    • IAM Authentication (IAM-Authentifizierung. Wählen Sie aus, ob die IAM-Authentifizierung für Verbindungen mit Ihrem Proxy erforderlich ist oder nicht zugelassen werden soll. Die ausgewählte Option gilt für alle Secrets-Manager-Secrets, die Sie diesem Proxy zuordnen. Wenn Sie für jedes Geheimnis eine andere IAM-Authentifizierung angeben müssen, erstellen Sie Ihren Proxy stattdessen mithilfe der AWS CLI oder der API.

    Geben Sie für Anbindung folgende Informationen an:

    • Require Transport Layer Security (Transport Layer Security erfordern). Wählen Sie diese Einstellung, wenn der Proxy TLS/SSL für alle Clientverbindungen erzwingen soll. Bei einer verschlüsselten oder unverschlüsselten Verbindung mit einem Proxy verwendet der Proxy dieselbe Verschlüsselungseinstellung, wenn er eine Verbindung mit der zugrunde liegenden Datenbank herstellt.

    • Subnets (Subnetze. Dieses Feld ist mit allen Subnetzen gefüllt, die mit Ihrer VPC verknüpft sind. Sie können alle Subnetze entfernen, die Sie für diesen Proxy nicht benötigen. Sie müssen mindestens zwei Subnetze übrig lassen.

    Stellen Sie eine zusätzliche Anbindungskonfiguration bereit:

    • VPC Security Group (VPC-Sicherheitsgruppe. Wählen Sie eine vorhandene VPC-Sicherheitsgruppe aus. Oder Sie können eine neue Sicherheitsgruppe aus dem AWS Management Console erstellen. Sie müssen die Regeln für eingehenden Datenverkehr so konfigurieren, dass Ihre Anwendungen auf den Proxy zugreifen können. Außerdem müssen Sie die Regeln für ausgehenden Datenverkehr so konfigurieren, das Datenverkehr von Ihren DB-Zielen zugelassen wird.

      Anmerkung

      Diese Sicherheitsgruppe muss Verbindungen vom Proxy mit der Datenbank zulassen. 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 freigegebenen VPCs.

      RDS stellt einen Proxy über mehrere Availability Zones hinweg bereit, um eine hohe Verfügbarkeit zu gewährleisten. Um die AZ-übergreifende Kommunikation für einen solchen Proxy zu ermöglichen, muss die Zugriffssteuerungsliste (ACL) für Ihr Proxy-Subnetz den Engine-Port-spezifischen Ausgang und den Eingang aller Ports zulassen. Weitere Informationen zu Netzwerk-ACLs finden Sie unter Datenverkehr in Subnetzen mit Netzwerk-ACLs steuern. Wenn die Netzwerk-ACL für Ihren Proxy und Ihr Ziel identisch sind, müssen Sie eine TCP-Protokoll-Ingress-Regel hinzufügen, bei der die Quelle auf die VPC-CIDR festgelegt ist. Sie müssen auch eine Engine-Port-spezifische TCP-Protokollausgangsregel hinzufügen, bei der das Ziel auf die VPC-CIDR festgelegt ist.

    (Optional) Stellen Sie eine erweiterte Konfiguration bereit:

    • Enable enhanced logging (Erweiterte Protokollierung aktivieren. Sie können diese Einstellung aktivieren, um Proxy-Kompatibilitäts- oder Leistungsprobleme zu beheben.

      Wenn diese Einstellung aktiviert ist, nimmt der RDS-Proxy detaillierte Informationen zur Proxyleistung in seine Protokolle auf. Diese Informationen helfen Ihnen beim Debugging von Problemen mit dem SQL-Verhalten oder der Leistung und Skalierbarkeit der Proxy-Verbindungen. Aktivieren Sie diese Einstellung daher nur zum Debuggen und wenn Sie Sicherheitsmaßnahmen getroffen haben, um vertrauliche Informationen zu schützen, die in den Protokollen erscheinen.

      Um den mit Ihrem Proxy verbundenen Overhead zu minimieren, wird diese Einstellung von RDS Proxy automatisch 24 Stunden nach der Aktivierung deaktiviert. Aktivieren Sie sie vorübergehend, um ein bestimmtes Problem zu beheben.

  5. Wählen Sie Create Proxy (Proxy erstellen).

Um einen Proxy mit dem zu erstellen AWS CLI, rufen Sie den create-db-proxyBefehl mit den folgenden erforderlichen Parametern auf:

  • --db-proxy-name

  • --engine-family

  • --role-arn

  • --auth

  • --vpc-subnet-ids

Bei --engine-family-Wert ist die Groß- und Kleinschreibung zu beachten.

Beispiel

Für LinuxmacOS, oderUnix:

aws rds create-db-proxy \ --db-proxy-name proxy_name \ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } \ --auth ProxyAuthenticationConfig_JSON_string \ --role-arn iam_role \ --vpc-subnet-ids space_separated_list \ [--vpc-security-group-ids space_separated_list] \ [--require-tls | --no-require-tls] \ [--idle-client-timeout value] \ [--debug-logging | --no-debug-logging] \ [--tags comma_separated_list]

Windows:

aws rds create-db-proxy ^ --db-proxy-name proxy_name ^ --engine-family { MYSQL | POSTGRESQL | SQLSERVER } ^ --auth ProxyAuthenticationConfig_JSON_string ^ --role-arn iam_role ^ --vpc-subnet-ids space_separated_list ^ [--vpc-security-group-ids space_separated_list] ^ [--require-tls | --no-require-tls] ^ [--idle-client-timeout value] ^ [--debug-logging | --no-debug-logging] ^ [--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" } ]
Tipp

Wenn Sie die Subnetz-IDs nicht bereits kennen, die für den Parameter --vpc-subnet-ids verwendet werden sollen, finden Sie unter Einrichten der Netzwerkvoraussetzungen Beispiele, wie Sie diese 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 freigegebenen VPCs.

Um die richtigen Verknüpfungen für den Proxy zu erstellen, verwenden Sie auch den register-db-proxy-targetsBefehl. Angabe des default-Zielgruppennamens. RDS Proxy erstellt automatisch eine Zielgruppe mit diesem Namen, wenn Sie jeden Proxy erstellen.

aws rds register-db-proxy-targets --db-proxy-name value [--target-group-name target_group_name] [--db-instance-identifiers space_separated_list] # rds db instances, or [--db-cluster-identifiers cluster_id] # rds db cluster (all instances)

Um einen RDS Proxy zu erstellen, rufen Sie die Amazon RDS-API-Operation CreateDBProxy auf. Sie übergeben einen Parameter mit der AuthConfigDatenstruktur.

RDS Proxy erstellt automatisch eine Zielgruppe mit dem Namen default, wenn Sie die einzelnen Proxys erstellen. Sie ordnen der Zielgruppe einen zu, indem Sie die Funktion RegisterDB ProxyTargets aufrufen.