Einen RDS Proxy erstellen - Amazon Relational Database Service

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

Einen RDS Proxy erstellen

Um Verbindungen für einen spezifischen Satz von DB-Instances zu verwalten, können Sie einen Proxy erstellen. Sie können einen Proxy mit einer RDS für MariaDB, RDS für Microsoft SQL Server, für My SQL oder RDS RDS für Postgre SQL DB-Instance verknüpfen.

So erstellen Sie einen Proxy
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die RDS Amazon-Konsole 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 RDS für MariaDB oder RDS für My MariaDB SQL und My. SQL Wählen Sie RDS für Postgre PostgreSQL. SQL Wählen Sie RDS SQL für SQL Server Server 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 RDSDB-Instance, den , 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, der mit RDS Proxy kompatibel ist. Eine Schritt-für-Schritt-Anleitung hierzu finden Sie unter Eine Amazon RDS DB-Instance erstellen. 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 Werts dar, den der RDS Proxy für seine 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. Einzelheiten darüber, wie RDS Proxy diese Einstellung verwendet, finden Sie unterMaxConnectionsPercent.

    • Session pinning filters (Filter zum Anheften von Sitzungen. (Optional) Mit dieser Option können Sie den RDS Proxy zwingen, bei bestimmten Typen von erkannten Sitzungszuständen keine PIN zu senden. Dadurch werden die standardmäßigen Sicherheitsmaßnahmen für das Multiplexing von Datenbankverbindungen über Client-Verbindungen hinweg umgangen. Derzeit wird die Einstellung für Postgre SQL nicht unterstützt. Die einzige Wahl istEXCLUDE_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 Sie das Anheften eines Proxys RDS.

    • 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) Fügen Sie eine Initialisierungsabfrage hinzu, oder ändern Sie die aktuelle. Sie können eine oder mehrere SQL Anweisungen angeben, die der Proxy beim Öffnen jeder neuen Datenbankverbindung ausführen soll. Diese Einstellung wird normalerweise zusammen mit SET Anweisungen verwendet, um sicherzustellen, dass jede Verbindung identische Einstellungen hat. Stellen Sie sicher, dass die von Ihnen hinzugefügte Abfrage gültig ist. Um mehrere Variablen in eine einzelne SET Anweisung aufzunehmen, verwenden Sie Kommatrennzeichen. Beispielsweise:

      SET variable1=value1, variable2=value2

      Verwenden Sie für mehrere Anweisungen Semikola als Trennzeichen.

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

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

    • 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 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 API stattdessen mit AWS CLI oder.

    • IAMAuthentifizierung. Wählen Sie aus, ob Sie eine IAM Authentifizierung für Verbindungen zu Ihrem Proxy verlangen, zulassen oder verbieten möchten. Die Option „Zulassen“ ist nur für Proxys RDS für SQL den Server gültig. 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, indem Sie stattdessen das AWS CLI oder das API verwenden.

    Geben Sie für Anbindung folgende Informationen an:

    • Require Transport Layer Security (Transport Layer Security erfordern). Wählen Sie diese Einstellung, wenn der ProxyTLS/SSLfür alle Client-Verbindungen 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 enthält bereits alle Subnetze, die mit Ihrem verknüpft sind. VPC 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:

    • VPCSicherheitsgruppe. Wählen Sie eine bestehende VPC Sicherheitsgruppe aus. Oder Sie können eine neue Sicherheitsgruppe aus dem erstellen AWS Management Console. 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 gemeinsame Sicherheitsgruppe verwendenVPC, können Sie nicht die Standardsicherheitsgruppe für das Konto oder eineVPC, die zu einem anderen Konto gehört, 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 geteilten Benutzern VPCs.

      RDSstellt einen Proxy über mehrere Availability Zones bereit, um eine hohe Verfügbarkeit sicherzustellen. Um die AZ-übergreifende Kommunikation für einen solchen Proxy zu ermöglichen, muss die Network Access Control List (ACL) für Ihr Proxy-Subnetz den Engine-Port-spezifischen Ausgang und den Eingang aller Ports zulassen. Weitere Informationen zum Netzwerk ACLs finden Sie unter Steuern des Datenverkehrs zu Subnetzen über das Netzwerk. ACLs Wenn das Netzwerk ACL für Ihren Proxy und das Ziel identisch sind, müssen Sie eine TCPProtokolleingangsregel hinzufügen, bei der die Quelle auf den Wert gesetzt ist. VPC CIDR Sie müssen auch eine Engine-Port-spezifische TCPProtokollausgangsregel hinzufügen, bei der das Ziel auf eingestellt ist. VPC CIDR

    (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 Debuggen von Problemen im Zusammenhang mit dem SQL Verhalten oder der Leistung und Skalierbarkeit der Proxyverbindungen. Aktivieren Sie diese Einstellung daher nur zum Debuggen und wenn Sie Sicherheitsmaßnahmen zum Schutz vertraulicher Informationen in den Protokollen getroffen haben.

      Um den mit Ihrem Proxy verbundenen Mehraufwand zu minimieren, deaktiviert RDS Proxy diese Einstellung 24 Stunden nach der Aktivierung automatisch. 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

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:

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]

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. 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]

Das Folgende ist 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 noch nicht wissen, welches Subnetz für den --vpc-subnet-ids Parameter verwendet werden IDs soll, finden Sie unter Netzwerkvoraussetzungen für RDS Proxy einrichten 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 ein gemeinsam genutztes Konto verwendenVPC, können Sie nicht die Standardsicherheitsgruppe für das Konto oder eineVPC, die zu einem anderen Konto gehört, 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 geteilten Benutzern VPCs.

Um die richtigen Verknüpfungen für den Proxy zu erstellen, verwenden Sie auch den register-db-proxy-targetsBefehl. Angabe des default-Zielgruppennamens. RDSProxy 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 RDS API Amazon-Operation C aufreateDBProxy. Sie übergeben einen Parameter mit der AuthConfigDatenstruktur.

RDSProxy erstellt automatisch eine benannte Zielgruppedefault, wenn Sie jeden Proxy erstellen. Sie ordnen der Zielgruppe einen zu, indem Sie die Funktion R egisterDBProxy Targets aufrufen.