Meine AWS-Lambda-Rotationsfunktion ist für AWS Secrets Manager mit dem Fehler „Database engine must be set to 'postgres'/'mysql“ fehlgeschlagen.
Kurzbeschreibung
Dieser Fehler wird möglicherweise angezeigt, wenn Sie eine AWS-Lambda-Rotationsfunktion für mehrere Benutzer für Benutzeranmeldeinformationen verwenden.
**Hinweis:**Dieser Fehler betrifft nur zwei Datenbanktypen für Amazon Relationaler Datenbankdienst (Relational Database Service) (Amazon RDS), nämlich die Amazon Aurora PostgreSQL-Compatible Edition und die Amazon Aurora MySQL-Compatible Edition.
Der Fehler tritt im setSecret-Schritt der Lambda-Rotationsfunktion für die Amazon RDS-Datenbankanmeldeinformationen auf.
Behebung
Bearbeiten Sie die Lambda-Rotationsfunktion, wenn Sie Änderungen am Funktionscode vorgenommen haben, oder erstellen Sie eine neue Rotation, wenn Sie keine Änderungen vorgenommen haben.
Option 1: Bearbeiten Sie den Rotationsfunktionscode
-
Öffnen Sie die Lambda-Konsole.
-
Wählen Sie im Navigationsbereich Funktionen und anschließend den Namen der Lambda-Funktion aus.
-
Wählen Sie die Aktionen-Dropdownliste aus, wählen Sie Export-Funktion und anschließend Herunterladen Bereitstellungspaket aus.
-
Extrahieren Sie die Dateien aus der heruntergeladenen .zip-Datei.
-
Öffnen Sie in Ihrer Visual Studio Code-IDE die Datei lambda_function.py.
-
Ersetzen Sie in der Hilfsfunktion get_secret_dict () if secret_dict\ ['engine'] ! = 'mysql': mit dem folgenden Code:
supported_engines = ["mysql", "aurora-mysql"]
if secret_dict['engine'] not in supported_engines:
-
Komprimieren Sie den Inhalt des .zip-Ordners mit der aktualisierten Dateilambda_function.py.
-
Wählen Sie in der Lambda-Konsole auf der Registerkarte Code die Dropdownliste Hochladen von, wählen Sie .zip-Datei aus und wählen Sie dann den neuen .zip-Ordner aus Schritt 7.
Option 2: Erstellen Sie eine neue Rotationsfunktion
- Öffnen Sie die Secrets-Manager-Konsole.
- Wählen Sie auf der Geheimnisse-Seite Ihren geheimen Namen aus.
- Wählen Sie auf der Geheime Details-Seite im Abschnitt Konfiguration der Rotation, Bearbeiten Rotation aus.
- Folgen Sie im Dialogfeld Bearbeiten der Rotationskonfiguration den Anweisungen in Schritt 3e. um das Geheimnis für die Rotation zu konfigurieren.
- Für Verwenden Sie separate Anmeldeinformationen, um dieses Geheimnis zu rotieren, wählen Sie Ja.
- Wählen Sie unter Geheimnisse das Geheimnis für die primären Datenbankanmeldeinformationen von Amazon RDS oder Amazon Aurora aus.
- Wählen Sie Speichern.
- (Optional) Wenn die vorherige Lambda-Rotationsfunktion an mehrere Geheimnisse angehängt ist, können Sie die neue Funktion für diese Geheimnisse verwenden.
Öffnen Sie für jedes Geheimnis die Geheime Details-Seite und wählen Sie dann im Abschnitt Konfiguration der Rotation Bearbeiten Rotation aus. Wählen Sie im Dialogfeld Bearbeiten der Rotationskonfiguration für Lambda-Rotation-Funktion die neue Rotationsfunktion aus, und wählen Sie dann Speichern aus.
- Nachdem Sie alle Secrets auf die neue Lambda-Rotationsfunktion umgestellt haben, löschen Sie in der Lambda-Konsole die vorherige Rotations-Lambda-Funktion.
Verwandte Informationen
Wie erstelle ich eine Rotationsfunktion mit einem AWS Secrets Manager-Geheimnis für eine nicht unterstützte Datenbank?
Verbessern Sie die Sicherheit der primären Amazon RDS-Datenbankanmeldeinformationen mit AWS Secrets Manager