Wie kann ich meine Lambda-Funktion so konfigurieren, dass sie mithilfe von Amazon-RDS-Proxy eine Verbindung zu einer Amazon-RDS-Datenbank herstellt?

Lesedauer: 4 Minute
0

Ich möchte meine AWS-Lambda-Funktion so konfigurieren, dass sie mithilfe von Amazon-RDS-Proxy eine Verbindung zu einer Datenbank von Amazon Relational Database Service (Amazon RDS) herstellt.

Kurzbeschreibung

Sie können eine Amazon-RDS-Proxy-Datenbank für Ihre Lambda-Funktion erstellen. Ein Datenbank-Proxy verwaltet einen Pool von Datenbankverbindungen und leitet Abfragen von einer Funktion weiter. Dadurch kann eine Funktion ein hohes Maß an Gleichzeitigkeit erreichen, ohne die Datenbankverbindungen zu erschöpfen.

Weitere Informationen finden Sie unter Konfiguration des Datenbankzugriffs für eine Lambda-Funktion.

Lösung

Folgen Sie diesen Anweisungen, um Amazon-RDS-Proxy mit einer Lambda-Funktion zu konfigurieren.

Hinweis: Amazon-RDS-Proxy muss sich in derselben Amazon Virtual Private Cloud (Amazon VPC) wie die Amazon-RDS-Datenbank befinden. Konfigurieren Sie die Lambda-Funktion mit Amazon VPC für den Zugriff auf den Amazon-RDS-Proxy.

Schritt 1: Erstellen von Datenbank-Anmeldeinformationen in AWS Secrets Manager

1.    Öffnen Sie die Secrets-Manager-Konsole und wählen Sie dann Neues Secret speichern.

2.    Wählen Sie als Secret-Typ die Option Anmeldeinformationen für die RDS-Datenbank.

3.    Geben Sie den Benutzernamen und das Passwort für Ihre Amazon-RDS-Datenbank-Instance ein.

4.    Wählen Sie als Verschlüsselungsschlüssel den Schlüssel für AWS Key Management Service (AWS KMS) aus, den Secrets Manager verwendet, um den Secret-Wert zu verschlüsseln**.**

5.    Wählen Sie für Datenbank Ihre Datenbank aus, und klicken Sie dann auf Weiter.

6.    Geben Sie für Secret-Name einen Namen ein, wählen Sie Weiter, wählen Sie erneut Weiter und wählen Sie dann Speichern.

7.    Wählen Sie unter Secrets das Secrets-Manager-Geheimnis aus, das Sie erstellt haben.

8.    Kopieren Sie in Secret-ARN den ARN, um ihn in einem anderen Schritt zu verwenden.

Weitere Informationen finden Sie unter Erstellen eines AWS-Secrets-Manager-Datenbankgeheimnisses.

Schritt 2: Erstellen einer Richtlinie für AWS Identity and Access Management (IAM) und -Rolle für Amazon-RDS-Proxy

Erstellen Sie eine IAM-Rolle mit der Berechtigung, das Secret zu verwenden, und erstellen Sie eine Vertrauensrichtlinie, die es Amazon RDS ermöglicht, die Rolle zu übernehmen.

Beispiel für eine IAM-Secrets-Manager-Richtlinie

Hinweis: Ersetzen Sie Secret_ARN durch den Secrets-Manager-ARN, den Sie zuvor kopiert haben**.**

{
  "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": "*"
    }
  ]
}

Beispiel für eine IAM-RDS-Vertrauensrichtlinie

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

Schritt 3: Erstellen eines RDS-Proxys und an eine Lambda-Funktion anhängen

1.    Öffnen Sie die Funktionen-Seite in der Lambda-Konsole.

2.    Wählen Sie unter Funktionen Ihre Lambda-Funktion aus.

3.    Wählen Sie Konfiguration und dann Datenbank-Proxys hinzufügen aus.

4.    Geben Sie die folgenden Variablen ein:
Proxy-ID: Der Name des Proxys.
RDS-DB-Instance: Eine unterstützte MySQL- oder PostgreSQL-DB-Instance oder -Cluster.
Secret: Der Secrets Manager, den Sie erstellt haben.
IAM-Rolle: Die IAM-Rolle, die Sie erstellt haben.
Authentifizierung: Wählen Sie Passwort, um eine Verbindung mit den Datenbank-Anmeldeinformationen herzustellen, oder wählen Sie die Ausführungsrolle, um die IAM-Anmeldeinformationen der Funktion für die Authentifizierung zu verwenden.

5.    Wählen Sie Hinzufügen.

Die Proxy-Erstellung dauert einige Minuten. Wenn der Proxy verfügbar ist, konfigurieren Sie Ihre Funktion so, dass sie eine Verbindung zum Proxy-Endpunkt statt zum Datenbank-Endpunkt herstellt. Weitere Informationen finden Sie unter Einen Datenbank-Proxy erstellen (Konsole).

Schritt 4: (Optional) Bestätigen, dass Ihr Amazon-RDS-Proxy die IAM-Authentifizierung verwendet

Die folgenden Schritte sind nur erforderlich, wenn Sie die Lambda-Ausführungsrolle für die Authentifizierung bei Amazon-RDS-Proxy verwenden.

1.    Öffnen Sie die Amazon-RDS-Konsole.

2.    Wählen Sie im Navigationsbereich Proxies und wählen Sie dann Ihren Proxy.

3.    Wählen Sie Aktionen und dann Ändern.

4.    Vergewissern Sie sich, dass im Konnektivitätsmodul die IAM-Authentifizierung auf Erforderlich gesetzt ist.

Hinweis: Wenn Verbindungsprobleme auftreten, lesen Sie unter Warum kann ich mit RDS Proxy keine Verbindung zu meiner Amazon RDS DB oder Amazon Aurora DB-Instance herstellen? Weitere Informationen finden Sie unter Verwenden von Amazon-RDS-Proxy mit AWS Lambda.


Ähnliche Informationen

Wie kann ich Verbindungs-Zeitüberschreitungsfehler von Lambda beim versuchten Zugriff auf eine Amazon RDS-DB-Instance beheben?

Wie konfiguriere ich eine Lambda-Funktion für die Verbindung mit einer RDS-Instance?

Wie löse ich den Fehler „Lambda could not update the function's execution role“ (Lambda konnte die Ausführungsrolle der Funktion nicht aktualisieren), wenn Amazon-RDS-Proxy an eine Lambda-Funktion angehängt wird?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr