Entwickeln von serverlosen Anwendungen

mit Amazon Aurora Serverless

Amazon Aurora ist eine MySQL- und PostgreSQL-kompatible relationale Datenbank, die die Leistung und Verfügbarkeit herkömmlicher Unternehmensdatenbanken mit der Einfachheit und Kosteneffizienz von Open-Source-Datenbanken kombiniert. Amazon Aurora Serverless ist eine On-Demand-Konfiguration mit automatischer Skalierung für Amazon Aurora (MySQL-kompatible und PostgreSQL-kompatible Editionen), bei der die Datenbank automatisch gestartet, heruntergefahren und basierend auf den Anforderungen Ihrer Anwendung nach oben oder unten skaliert wird. Sie können damit Datenbanken in der Cloud betreiben, ohne dafür Datenbank-Instances verwalten zu müssen. Es handelt sich um eine relativ einfache, kostengünstige Option für gelegentliche, unregelmäßige oder unvorhersehbare Workloads.

In diesem Tutorial lernen Sie, wie Sie eine Anwendung zur serverlosen Nachrichtenverarbeitung mit Amazon Aurora Serverless (PostgreSQL-kompatible Edition), der Daten-API für Aurora Serverless, Amazon Lambda und Amazon Simple Notification Service (SNS) erstellen. Das Tutorial enthält Schritt-für-Schritt-Anweisungen zum Erstellen einer Aurora Serverless-Datenbank, zur Verwendung der Daten-API, um sie mit einer Amazon Lambda-Funktion zu verbinden, die Nachrichten von Amazon SNS verwendet, und zum Speichern der Nachrichten in der Aurora Serverless-Datenbank.

Über dieses Tutorial
Zeit 10-20 Minuten      
Kosten Weniger als 1 USD
Anwendungsfall Datenbanken
Produkte Amazon Aurora, Amazon SNS, AWS Lambda
Stufe 100
Letzte Aktualisierung 24. September 2019

Schritt 1: Aurora Serverless-Datenbank erstellen

1.1: Öffnen Sie einen Browser und navigieren Sie zur Amazon RDS-Konsole. Wenn Sie bereits über ein AWS-Konto verfügen, melden Sie sich bei der Konsole an. Erstellen Sie andernfalls ein neues AWS-Konto, um loszulegen.

1.2: Wählen Sie oben rechts die Region aus, in der Sie den Aurora DB-Cluster starten möchten.

1.3: Klicken Sie im Amazon Aurora-Fenster auf „Datenbank erstellen“.

Bevor Sie fortfahren, wechseln Sie zum neuen Ablauf der Datenbankerstellung:

Engine-Optionen

1.4: Wählen Sie unter Datenbank-Engine „Amazon Aurora“ aus.

1.5: Als Edition wählen Sie „Amazon Aurora mit PostgreSQL-Kompatibilität“ aus.

Datenbankfunktionen

1.6: Wählen Sie „Serverlos“ aus.

Einstellungen:

1.7: Wählen Sie einen Bezeichner für Ihren Aurora DB-Cluster, z. B. „database-1“.

Einstellungen für Anmeldeinformationen

1.8: Wählen Sie einen Benutzernamen und ein Passwort für Ihre Datenbank.

Kapazitätseinstellungen

1.9: Für die maximale Aurora Capacity Unit wählen Sie „2“ aus.

Konnektivität

1.10: Wählen Sie die VPC aus, in der Sie die Datenbank erstellen möchten.

Beachten Sie, dass eine einmal erstellte Datenbank nicht mehr in eine andere VPC migriert werden kann.

1.11: Klicken Sie auf „Zusätzliche Konnektivitätskonfiguration“.

1.12: Wählen Sie den Standardwert für die Subnetzgruppe aus.

1.13: Wählen Sie für die VPC-Sicherheitsgruppe „Neu erstellen“ aus. Wenn Sie zufällig eine Sicherheitsgruppe haben, die eingehende TCP-Verbindungen an Port 3306 zulässt, können Sie diese stattdessen auswählen.

1.14: Geben Sie als Namen der neuen VPC-Sicherheitsgruppe „globale Datenbank“ ein.

1.15: Aktivieren Sie die Daten-API.

Zusätzliche Konfiguration

1.16: Deaktivieren Sie unter „Löschschutz“ die Option „Löschschutz aktivieren“.

Die bewährte Methode ist die Aktivierung des Löschschutzes, aber wenn Sie die Datenbank am Ende des Tutorials löschen möchten, können Sie die Option deaktiviert lassen.

Überprüfen und erstellen

Nach einer kurzen Überprüfung aller Felder des Formulars können Sie fortfahren.

1.17: Klicken Sie auf „Datenbank erstellen“.

Während der Erstellung der Instances wird ein Banner angezeigt, in dem erläutert wird, wie Sie Ihre Anmeldeinformationen erhalten. Dies ist eine gute Gelegenheit, um die Anmeldeinformationen irgendwo abzuspeichern, da dies das einzige Mal ist, dass Sie das Passwort anzeigen können.

Cluster-ARN abrufen

1.18: Klicken Sie auf den Datenbanknamen.

1.19: Kopieren Sie auf der Registerkarte „Konfiguration“ den Cluster ARN und halten Sie ihn bereit. Sie benötigen ihn später.

Verbindung mit der Datenbank herstellen

1.20: Öffnen Sie den linken Bereich und klicken Sie auf „Abfrage-Editor“.

1.21: Wählen Sie „database-1“ aus, geben Sie „postgres“ als Datenbank-Benutzernamen ein und geben Sie das Datenbank-Passwort ein, das Sie zuvor erstellt haben. Dann geben Sie „postgres“ als Datenbanknamen ein.

1.22: Klicken Sie auf „Verbindung mit Datenbank herstellen“.

1.23: Sie können nun auf „Ausführen“ klicken und die Beispielabfrage ausführen.

1.24: Erstellen Sie eine Datenbank, indem Sie die folgende Abfrage ausführen:

CREATE DATABASE tutorial;

1.25: Klicken Sie auf „Datenbank ändern“.

1.26: Ändern Sie die Datenbank zu der Datenbank, die Sie gerade erstellt haben.

1.27: Erstellen Sie eine Tabelle mit dieser Abfrage:

CREATE TABLE sample_table(received_at TIMESTAMP, message VARCHAR(255));

Durch die Verbindung mit der Datenbank mit dem Abfrage-Editor wird ein Geheimnis erstellt, das Sie später in Ihrer Lambda-Funktion verwenden werden. Lassen Sie diese Registerkarte offen, da Sie am Ende des Tutorials einige Abfragen durchführen müssen.

Geheimnis-ARN kopieren

Öffnen Sie eine neue Registerkarte und rufen Sie AWS Secrets Manager auf. Führen Sie dann die folgenden Schritte aus, um den Geheimnis-ARN abzurufen. 

1.28: Suchen Sie das Geheimnis, das die RDS-Datenbank-Anmeldeinformationen (Postgres) für „database-1" enthält.

1.29: Klicken Sie auf den Geheimnisnamen, kopieren Sie den geheimen ARN und halten Sie ihn griffbereit.

Schritt 2: AWS Cloud9-Umgebung erstellen

Öffnen Sie eine neue Registerkarte und rufen Sie die AWS Cloud9-Konsole auf. Führen Sie dann die folgenden Schritte aus, um eine neue Umgebung zu erstellen. 

2.1: Klicken Sie auf „Umgebung erstellen“:

2.2: Geben Sie einen Namen für Ihre neue Umgebung ein und klicken Sie auf „Nächster Schritt“.

2.3: Scrollen Sie nach unten und klicken Sie auf „Nächster Schritt“.

2.4: Klicken Sie auf „Umgebung erstellen“:

2.5: Sobald die Umgebung bereit ist, klicken Sie auf „Lambda-Funktion erstellen“.

2.6: Geben Sie „auroratest“ als Name der Funktion ein. Klicken Sie dann auf „Weiter“.

2.7: Wählen Sie die Blaupause „empty-python“ aus und klicken Sie auf „Weiter“.

2.8: Klicken Sie auf den folgenden Bildschirmen auf „Weiter“, „Weiter“ und dann auf „Fertig stellen“.

Jetzt ist die Umgebung bereit und eine Blaupause für eine Lambda-Funktion wird angezeigt.

Bevor Sie mit der Codierung beginnen, müssen Sie einige Berechtigungen konfigurieren, wie in Schritt 3 beschrieben. Lassen Sie diese Umgebung geöffnet und verwenden Sie andere Registerkarten, um die nächsten Schritte abzuschließen.

Schritt 3: Berechtigungen konfigurieren

Öffnen Sie eine neue Registerkarte und rufen Sie die AWS IAM-Konsole auf. Führen Sie dann die folgenden Schritte aus, um Ihrer Lambda-Funktion Berechtigungen zuzuweisen.

3.1: Klicken Sie auf „Rollen“ und suchen Sie nach einer Rolle, die mit „cloud9-“ beginnt.

3.2: Klicken Sie auf den Rollennamen und dann auf „Richtlinien anfügen“.

3.3: Wählen Sie die Richtlinie „AmazonRDSDataFullAccess“ aus und klicken Sie dann auf „Richtlinie anfügen“.

Ein Bildschirm mit einem hellgrünen Banner wird angezeigt, der angibt, dass die Richtlinie erfolgreich angefügt wurde.

Schritt 4: AWS Lambda-Funktion erstellen

Kehren Sie zur Cloud9-Umgebung zurück, die Sie in Schritt 2 erstellt haben, und führen Sie die folgenden Anweisungen aus.

4.1: Wechseln Sie zum Verzeichnis „auroratest“, indem Sie diesen Befehl in der Konsole ausführen:

$ cd auroratest

4.2: Installieren Sie die boto3-Abhängigkeit, indem Sie diesen Befehl in der Konsole ausführen:

$ pip install boto3 -t boto3

4.3: .Löschen Sie den Code in der Datei „lambda_function“ und kopieren Sie stattdessen diesen Beispiel-Code hinein.

4.4: Ersetzen Sie die Werte von „cluster_arn“ und „secret_arn“ durch die in den vorherigen Schritten abgerufenen Werte Cluster-ARN- und Geheimnis-ARN-Werte.

4.5: .Klicken Sie auf „Datei“ > „Speichern“ und wählen Sie dann auf der rechten Seite Ihre Lambda-Funktion aus.

4.6: Stellen Sie Ihre Lambda-Funktion bereit, indem Sie auf den Pfeil nach oben klicken.

Schritt 5: Amazon SNS-Thema erstellen

Ihre Lambda-Funktion verarbeitet Nachrichten von Amazon Simple Notification Service (SNS), der Pub/Sub-Messaging für Microservices und serverlose Anwendungen bietet.

Rufen Sie auf einer neuen Registerkarte das SNS Dashboard auf, und folgen Sie diesen Anweisungen:

5.1: Geben Sie als Themenname „aurora-lambda-sns-test“ ein und klicken Sie dann auf „Nächster Schritt“.

5.2: Übernehmen Sie alle Standardwerte und klicken Sie auf „Thema erstellen“.

Sie sehen ein grünes Banner, das anzeigt, dass das Thema erfolgreich erstellt wurde.

5.3: Kopieren Sie den SNS-ARN und halten Sie ihn bereit.

Lassen Sie diese Registerkarte offen, da Sie sie zum Veröffentlichen einer Nachricht verwenden werden, sobald die Lambda-Funktion so konfiguriert ist, dass sie aus dem von Ihnen erstellten Thema liest.

Schritt 6: Amazon SNS-Thema für AWS-Lambda-Funktion abonnieren

Rufen Sie die AWS Lambda-Verwaltungskonsole auf und folgen Sie diesen Anweisungen:

6.1: Klicken Sie auf den Namen Ihrer Lambda-Funktion, die Sie in Schritt 4 erstellt haben.

6.2: Klicken Sie auf „Auslöser hinzufügen“.

6.3: Geben Sie „SNS“ ein und wählen Sie die SNS-Services aus dem Dropdown-Menü aus.

6.4: Geben Sie im Feld „SNS-Thema“ den SNS-ARN ein.

6.5: Aktivieren Sie den Auslöser und klicken Sie auf „Hinzufügen“.

Schritt 7: Testnachricht veröffentlichen

Kehren Sie zum SNS Dashboard zurück und folgen Sie diesen Anweisungen:

7.1: Klicken Sie auf „Nachricht veröffentlichen“.

7.2: Geben Sie einen Wert für das Feld „Betreff“ ein.

7.3: Geben Sie einen Wert für das Feld „Text“ ein.

7.4: Scrollen Sie nach unten und klicken Sie auf „Nachricht veröffentlichen“.

Sobald die Nachricht veröffentlicht ist, wird sie von Ihrer Lambda-Funktion verwendet und verarbeitet. Im nächsten Abschnitt überprüfen Sie, wie die Daten in Ihre Aurora-Datenbank geschrieben wurden.

Datenbankänderungen überprüfen

7.5: Wechseln Sie zu der Registerkarte, auf der Sie den Abfrage-Editor geöffnet gelassen haben. Wenn Sie ihn geschlossen haben, rufen Sie das RDS-Dashboard auf und stellen Sie wie in 1.20 erläutert eine Verbindung mit dem Abfrage-Editor her.

7.6: Stellen Sie eine Verbindung mit der Datenbank „Tutorial“ her.

7.7: Wählen Sie alle Datensätze in „sample_table“ aus:

SELECT * FROM sample_table;

7.8: Klicken Sie auf „Ausführen“ und scrollen Sie nach unten, um die Ergebnisse zu sehen.

Jetzt sollte alles funktionieren. Sie können experimentieren, indem Sie die Nachrichten ändern, die Sie über SNS senden, und Sie können die Funktion „lambda_handler“ beliebig ändern.

Schritt 8: Bereinigung

Zum Abschluss dieses Tutorials erfahren Sie, wie Sie Ihren Aurora-DB-Cluster löschen, wenn er nicht mehr benötigt wird, zusammen mit der Lambda-Funktion, der Cloud9-Umgebung, dem Geheimnis für die Verbindung zur Datenbank und sonstigem.

Ihre Lambda-Funktion löschen

8.1: Rufen Sie die AWS Lambda-Verwaltungskonsole auf und wählen Sie Ihre Lambda-Funktion aus.

8.2: Klicken Sie auf „Aktionen“ > „Löschen“.

Ihr SNS-Thema löschen

8.3: Rufen Sie das SNS-Dashboard auf und klicken Sie im linken Bereich auf „Themen“.

8.4: Wählen Sie das in Schritt 5 erstellte Thema aus und klicken Sie auf „Löschen“.

8.5: Sie werden zur Bestätigung aufgefordert. Geben Sie „Mich löschen“ zur Bestätigung ein und klicken Sie auf „Löschen“.

Ihre Cloud9-Umgebung löschen

8.6: Rufen Sie die AWS Cloud9-Konsole auf und wählen Sie die Umgebung aus, die Sie für dieses Tutorial erstellt haben.

8.7: Klicken Sie auf „Löschen“.

8.8: Wenn Sie zur Bestätigung aufgefordert werden, geben Sie „Löschen“ ein und klicken Sie auf die Schaltfläche „Löschen“.

Ihre Amazon Aurora Serverless-Datenbank löschen

8.9: Rufen Sie die Amazon RDS-Konsole auf und wählen Sie die Datenbank aus, die Sie für dieses Tutorial erstellt haben.

8.10: Klicken Sie auf „Aktionen“ > „Löschen“.

Sie werden gefragt, ob Sie einen abschließenden Snapshot erstellen möchten. Dies wird normalerweise empfohlen, ist jedoch für dieses Tutorial nicht notwendig.

8.11: Wenn Sie zur Bestätigung aufgefordert werden, wählen Sie „Nein“ bei der Frage, ob ein abschließender Snapshot erstellt werden soll. Aktivieren Sie dann „Ich bestätige …“und klicken Sie auf „DB-Cluster löschen“.

Ihr Geheimnis löschen

8.12: Wechseln Sie zu AWS Secrets Manager, suchen Sie das Geheimnis, das die „Administrator-Anmeldeinformationen für RDS Datenbank-1“ enthält, und klicken Sie auf den Namen des Geheimnisses.

8.13: Klicken Sie auf „Aktionen“ > „Geheimnis löschen“.

8.14: Die Geheimnisse können nicht sofort gelöscht werden. Die Mindestwartezeit für eine geplante Löschung beträgt 7 Tage. Wählen Sie 7 Tage aus und klicken Sie auf „Löschung planen“.

Ihre IAM-Rolle löschen

8.15: Wechseln Sie zur AWS IAM-Konsole. Klicken Sie auf „Rollen“ und suchen Sie nach einer Rolle, die mit „cloud9-“ beginnt.

8.16: Wählen Sie die Rolle aus und klicken Sie auf „Rolle löschen“.

8.17: Wenn Sie zur Bestätigung aufgefordert werden, klicken Sie auf „Ja, löschen“.

Herzlichen Glückwunsch!

Sie haben eine Aurora Serverless-Datenbank erstellt und diese über die Daten-API von Aurora mit einer AWS Lambda-Funktion verbunden. Sie haben Amazon Simple Notification Service (SNS) als Auslöser für Ihre Lambda-Funktion konfiguriert, und die von Ihnen über SNS gesendeten Nachrichten wurden verarbeitet und in Ihrer Aurora Serverless-Datenbank gespeichert.

War dieses Tutorial hilfreich?

Vielen Dank
Bitte teilen Sie uns mit, was Ihnen gefallen hat.
Schließen
Es tut uns Leid Sie zu enttäuschen
Ist etwas veraltet, verwirrend oder ungenau? Bitte helfen Sie uns, dieses Tutorial zu verbessern, indem Sie Feedback geben.
Schließen

Weitere Informationen zu den Funktionen von Amazon Aurora

Weitere Informationen über die Funktionen von Amazon Aurora finden Sie im Amazon Aurora-Benutzerhandbuch.

Bewährte Methoden für Amazon Aurora

Informieren Sie sich über allgemeine bewährte Methoden und Optionen für die Verwendung oder Migration von Daten zu einem Amazon Aurora DB-Cluster.

Weitere Informationen zu Serverless

Wenn Sie mehr über serverlose Anwendungen erfahren möchten, lesen Sie die AWS Lambda-Dokumentation sowie das Benutzerhandbuch zu Aurora.