Wie konfiguriere ich meine Lambda-Funktion, um Amazon-RDS-Proxy für die Herstellung einer Verbindung zu einer Amazon RDS-Datenbank zu verwenden?
Ich möchte meine AWS Lambda-Funktion so konfigurieren, dass sie den Amazon Relational Database Service (Amazon RDS)-Proxy verwendet, um eine Verbindung zu einer Amazon RDS-Datenbank herzustellen.
Behebung
Voraussetzungen: Amazon-RDS-Proxy muss sich in derselben Amazon Virtual Private Cloud (Amazon VPC) wie die Amazon RDS-Datenbank befinden.
Gehe wie folgt vor, um die Lambda-Funktion so zu konfigurieren, dass Amazon-RDS-Proxy verwendet wird, um eine Verbindung zu einer Amazon RDS-Datenbank herzustellen.
Erstellen der Datenbank-Anmeldeinformationen in Secrets Manager
Führe die folgenden Schritte aus:
- Öffne die AWS Secrets Manager-Konsole.
- Wähle Ein neues Secret speichern aus.
- Wähle als Secret-Typ die Option Anmeldeinformationen für die RDS-Datenbank aus.
- Gib den Benutzernamen und das Passwort für deine RDS-DB-Instance ein.
- Wähle als Verschlüsselungsschlüssel den AWS Key Management Service (AWS KMS)-Schlüssel aus, den Secrets Manager zum Verschlüsseln des Secret-Werts verwendet.
- Wähle als Datenbank deine Datenbank aus, und klicke dann auf Weiter.
- Gib als Secret-Namen einen Namen ein, und wähle dann Weiter aus.
- Wähle Weiter und dann Speichern.
- Wähle unter Secrets das Secrets Manager-Secret aus.
- Notiere dir in Secret ARN den Secret-ARN.
Weitere Informationen findest du unter AWS-Secrets-Manager-Secrets erstellen.
Eine IAM-Richtlinie und -Rolle für Amazon-RDS-Proxy erstellen
Erstelle eine AWS Identity and Access Management (IAM, Identitäts- und Zugriffsmanagement)-Rolle mit Berechtigungen zur Verwendung des Secrets. Beispiel:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": [ "[Secret_ARN]" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword", "secretsmanager:ListSecrets" ], "Resource": "*" } ] }
Hinweis: Ersetze Secret_ARN durch deinen Secret-ARN.
Erstelle dann eine Vertrauensrichtlinie, die es Amazon RDS ermöglicht, die Rolle zu übernehmen. Beispiel:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Einen Proxy erstellen und an eine Lambda-Funktion anhängen
Erstelle zunächst einen RDS-Proxy. Führe dann die folgenden Schritte aus, um die Funktion so zu konfigurieren, dass sie eine Verbindung zum Proxy-Endpunkt statt zum Datenbankendpunkt herstellt:
- Öffne die Lambda-Konsole.
- Wähle Funktionen und dann deine Lambda-Funktion aus.
- Wähle Konfiguration und dann RDS-Datenbanken aus.
- Wähle Verbindung zur RDS-Datenbank herstellen.
- Wähle deine RDS-Datenbank aus. Oder wähle Eine neue Datenbank erstellen aus und konfiguriere dann die folgenden Einstellungen:
Wähle als Engine-Typ den Engine-Typ aus.
Gib als DB-Instance-ID einen Namen für deine DB-Instance ein.
Gib als Hauptbenutzernamen die Anmelde-ID des primären Benutzers ein.
Verwende für VPC die Standardeinstellung. Standardmäßig richtet Lambda die RDS-Datenbank in derselben VPC wie die Funktion ein. - Wähle die Datenbankverbindung und dann Add Proxy (Proxy hinzufügen) aus.
- Wähle für Vorhandene Proxys deinen RDS-Proxy aus.
- Wähle Hinzufügen aus.
Die Herstellung der Proxy-Verbindung dauert einige Minuten. Weitere Informationen zur Konfiguration einer RDS-DB-Instance für die Verwendung mit Lambda findest du unter Konfigurierung deiner Funktion für die Arbeit mit RDS-Ressourcen.
(Optional) Sicherstellen, dass der Amazon-RDS-Proxy die IAM-Authentifizierung verwendet
Wenn du die Lambda-Ausführungsrolle verwendest, um dich bei Amazon-RDS-Proxy zu authentifizieren, führe die folgenden Schritte aus:
- Öffne die Amazon-RDS-Konsole.
- Wähle im Navigationsbereich Proxys und dann deinen Proxy aus.
- Wähle Aktionen und dann Ändern.
- Vergewissere dich, dass unter Authentifizierung die IAM-Authentifizierung auf Erforderlich gesetzt ist.
Wenn du Verbindungsprobleme hast, findest du weitere Informationen unter Warum kann ich mit Amazon-RDS-Proxy keine Verbindung zu meiner Amazon RDS DB- oder Amazon Aurora-DB-Instance herstellen?
Weitere Informationen findest du unter Verwendung von Amazon-RDS-Proxy mit AWS Lambda.
Ähnliche Informationen
Wie konfiguriere ich eine Lambda-Funktion, um eine Verbindung zu einer RDS-Instance herzustellen?

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 4 Monaten
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren