Einrichten einer Dokumentdatenbank

Mit Amazon DocumentDB (mit MongoDB-Kompatibilität) und AWS Cloud9

Amazon DocumentDB (mit MongoDB-Kompatibilität) ist ein schneller, skalierbarer, hochverfügbarer und vollständig verwalteter Dokumentendatenbankservice, der MongoDB-Workloads unterstützt und das Speichern, Abfragen und Indizieren von JSON-Daten erleichtert.

Dieses Tutorial zeigt Ihnen, wie Sie mit Hilfe von AWS Cloud9 mit Amazon DocumentDB beginnen können. Sie erfahren, wie Sie Ihr Amazon DocumentDB-Cluster aus Ihrer AWS Cloud9-Umgebung mit einer Mongo-Shell verbinden und einige Abfragen ausführen.

Der Walkthrough kostet etwa 0,08 USD.

Das folgende Diagramm zeigt die endgültige Architektur dieses exemplarischen Walkthroughs.

getting-started-amazon-documentdb-with-aws-cloud9-1
Über dieses Tutorial
Zeit max. 10 Minuten                                  
Kosten

Das Befolgen der Schritte dieses Tutorials kostet etwa 0,08 USD für die Amazon DocumentDB T3 Medium-Instance. Weitere Informationen finden Sie unter Amazon DocumentDB – Preise.

AWS Cloud9 ist für das kostenlose Kontingent berechtigt. Weitere Informationen finden Sie unter AWS Cloud9 – Preise.

Anwendungsfall Datenbanken
Produkte Amazon DocumentDB (mit MongoDB-Kompatibilität), AWS Cloud9
Zielgruppe Entwickler
Level 200: Fortgeschritten. Dieser Inhalt konzentriert sich darauf, einen Überblick über die Services oder Funktionen von AWS zu geben, wobei davon ausgegangen wird, dass der Kunde über ein funktionierendes Wissen zum Thema verfügt.
Letzte Aktualisierung August 2020

1. Erstellen einer AWS Cloud9-Umgebung

1.1 – Wählen Sie in der AWS-Managementkonsole in der AWS Cloud9-Managementkonsole die Option Umgebung erstellen.

getting-started-amazon-documentdb-with-aws-cloud9-2

1.2 – Geben Sie den Namen DocumentDBCloud9 ein.

getting-started-amazon-documentdb-with-aws-cloud9-3

1.3 – Klicken Sie auf Nächster Schritt.

getting-started-amazon-documentdb-with-aws-cloud9-4

1.4 – Akzeptieren Sie im Abschnitt Einstellungen konfigurieren alle Standardeinstellungen.

1.5 – Klicken Sie auf Nächster Schritt.

1.6 – Wählen Sie im Abschnitt Überprüfung die Option Umgebung erstellen.

getting-started-amazon-documentdb-with-aws-cloud9-5

1.7 – Die Bereitstellung der AWS Cloud9-Umgebung kann bis zu drei Minuten dauern.

2. Erstellen einer Sicherheitsgruppe

2.1 – Wählen Sie auf der Amazon EC2-Managementkonsole unter Netzwerk und Sicherheit die Option Sicherheitsgruppen.

2.2 – Wählen Sie Sicherheitsgruppe erstellen.

2.3 – Geben Sie unter Name der Sicherheitsgruppe demoDocDB ein.

2.4 – Geben Sie unter Beschreibung eine Beschreibung ein.

2.5 – Akzeptieren Sie für VPC die Verwendung Ihrer Standard-VPC.

2.6 – Wählen Sie im Abschnitt Regeln für eingehende Verbindungen die Option Regel hinzufügen.

2.7 – Wählen Sie als Typ Benutzerdefinierte TCP-Regel aus.

2.8 – Geben Sie für den Portbereich 27017 ein.

2.9 – Die Quellsicherheitsgruppe ist die Sicherheitsgruppe für die AWS Cloud9-Umgebung, die Sie gerade erstellt haben. Behalten Sie für Quelle als Standardwert von Benutzerdefiniert bei und geben Sie „cloud9“ in das Feld neben Benutzerdefiniert ein, um eine Liste der verfügbaren Sicherheitsgruppen anzuzeigen.

getting-started-amazon-documentdb-with-aws-cloud9-6

2.10 – Wählen Sie die Sicherheitsgruppe mit dem Namen aws-cloud9-<Umgebungsname> aus.

2.11 – Akzeptieren Sie alle anderen Standardeinstellungen und wählen Sie Sicherheitsgruppe erstellen. Sie brauchen die Regeln für Ausgehend nicht zu ändern.

Der folgende Screenshot zeigt Ihnen die Sicherheitsgruppen, die in diesem Schritt erstellt wurden, sowie die AWS Cloud9-Sicherheitsgruppe, die beim Erstellen einer AWS Cloud9-Umgebung erstellt wurde.

getting-started-amazon-documentdb-with-aws-cloud9-7

3. Erstellen eines Amazon DocumentDB-Clusters

3.1 – Wählen Sie in der Amazon DocumentDB-Managementkonsole unter Cluster die Option Erstellen.

getting-started-amazon-documentdb-with-aws-cloud9-8

3.2 – Wählen Sie auf der Seite Amazon DocumentDB-Cluster erstellen db.t3.medium unter Instance-Klasse aus, und wählen Sie dann 1 für Anzahl der Instances. Diese Optionen werden dazu beitragen, die Kosten zu minimieren.

getting-started-amazon-documentdb-with-aws-cloud9-9

3.3 – Belassen Sie andere Einstellungen auf ihren Standards.

3.4 – Geben Sie im Abschnitt Authentifizierung einen Benutzernamen und ein Passwort ein.

getting-started-amazon-documentdb-with-aws-cloud9-10

3.5 – Aktivieren Sie Erweiterte Einstellungen anzeigen.

getting-started-amazon-documentdb-with-aws-cloud9-11

3.6 – Wählen Sie im Abschnitt Netzwerkeinstellungen für VPC-Sicherheitsgruppen demoDocDB.

getting-started-amazon-documentdb-with-aws-cloud9-12

3.7 – Wählen Sie Cluster erstellen.

Amazon DocumentDB stellt jetzt Ihren Cluster bereit, was einige Minuten dauern kann. Sie können eine Verbindung zu Ihrem Cluster herstellen, wenn sowohl der Cluster- als auch der Instance-Status als verfügbar angezeigt werden. Während Amazon DocumentDB den Cluster bereitstellt, führen Sie die verbleibenden Schritte aus, um eine Verbindung zu Ihrem Amazon DocumentDB-Cluster herzustellen.

4. Installieren der Mongo-Shell

4.1 – Wenn Ihre AWS Cloud9-Umgebung noch offen ist, können Sie zu Schritt 3 übergehen.

4.2 – Wählen Sie in der AWS Cloud9-Managementkonsole unter Ihre Umgebungen DocumentDBCloud9 aus.

4.3 – Wählen Sie open IDE.

4.4 – Erstellen Sie bei der Eingabeaufforderung die Repository-Datei mit dem folgenden Code:

echo -e "[mongodb-org-3.6] \nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.6/x86_64/\ngpgcheck=1 \nenabled=1 \ngpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc" | sudo tee /etc/yum.repos.d/mongodb-org-3.6.repo

4.5 – Wenn der Vorgang abgeschlossen ist, installieren Sie die Mongo-Shell mit dem folgenden Code:

sudo yum install -y mongodb-org-shell

4.6 – Um Daten während der Übertragung zu verschlüsseln, laden Sie das CA-Zertifikat für Amazon DocumentDB herunter. Siehe folgenden Code:

wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem

4.7 – Sie sind jetzt bereit, eine Verbindung zu Ihrem Amazon DocumentDB-Cluster herzustellen.

5. Verbinden Ihres Amazon DocumentDB-Clusters

5.1 – Suchen Sie in der Amazon DocumentDB-Managementkonsole unter Cluster Ihren Cluster. In diesem Beitrag wird der Cluster docdb-2020-02-08-14-15-11 verwendet.

getting-started-amazon-documentdb-with-aws-cloud9-13

5.2 – Wählen Sie den von Ihnen erstellten Cluster aus, indem Sie auf den Cluster-Bezeichner klicken (d. h. in diesem Beispiel docdb-2020-02-08-14-15-11).

5.3 – Kopieren Sie die unter „Mit der Mongo-Shell mit diesem Cluster verbinden“ angegebene Verbindungszeichenfolge.

Lassen Sie <insertYourPassword> weg, damit Sie von der Mongo-Shell nach dem Passwort gefragt werden, wenn Sieeine Verbindung herstellen. Auf diese Weise müssen Sie Ihr Passwort nicht im Klartext eingeben.

getting-started-amazon-documentdb-with-aws-cloud9-14

5.4 – Ihre Verbindungszeichenfolge sollte wie der folgende Code aussehen (siehe Screenshot).

getting-started-amazon-documentdb-with-aws-cloud9-15

5.5 – Wenn Sie Ihr Passwort eingeben und die Eingabeaufforderung „rs0:PRIMARY>“ sehen können, haben Sie erfolgreich eine Verbindung mit Ihrem Amazon DocumentDB-Cluster hergestellt.

Informationen zur Fehlerbehebung finden Sie unter Fehlerbehebung in Amazon DocumentDB.

6. Einfügen und Abfragen von Daten

6.1 - Nun, da Sie eine Verbindung mit Ihrem Cluster hergestellt haben, können Sie ein paar Abfragen durchführen, um sich mit der Verwendung einer Dokumentendatenbank vertraut zu machen.

Um ein einzelnes Dokument einzufügen, geben Sie den folgenden Code ein:

db.collection.insert({"hello":"DocumentDB"})

Sie erhalten die folgende Ausgabe:

WriteResult({ "nInserted" : 1 })

6.2 - Sie können das Dokument, das Sie mit dem Befehl findOne() geschrieben haben, lesen (weil er nur ein einziges Dokument zurückgibt). Siehe folgenden Code:

db.collection.findOne()

Sie erhalten die folgende Ausgabe:

{ "_id" : ObjectId("5e401fe56056fda7321fbd67"), "hello" : "DocumentDB" }

6.3 - Um ein paar weitere Abfragen durchzuführen, betrachten Sie einen Anwendungsfall für Spielprofile. Fügen Sie zunächst einige Einträge in eine Sammlung mit dem Titel „Profile“ ein. Siehe folgenden Code:

db.profiles.insertMany([

{ "_id" : 1, "name" : "Tim", "status": "active", "level": 12, "score":202},

{ "_id" : 2, "name" : "Justin", "status": "inactive", "level": 2, "score":9},

{ "_id" : 3, "name" : "Beth", "status": "active", "level": 7, "score":87},

{ "_id" : 4, "name" : "Jesse", "status": "active", "level": 3, "score":27}

])

Sie erhalten die folgende Ausgabe:

{ "acknowledged" : true, "insertedIds" : [ 1, 2, 3, 4 ] }

6.4 - Verwenden Sie den Befehl find(), um alle Dokumente in der Profilsammlung zurückzugeben. Siehe folgenden Code:

db.profiles.find()

Sie erhalten die folgende Ausgabe:

{ "_id" : 1, "name" : "Tim", "status" : "active", "level" : 12, "score" : 202 }

{ "_id" : 2, "name" : "Justin", "status" : "inactive", "level" : 2, "score" : 9 }

{ "_id" : 3, "name" : "Beth", "status" : "active", "level" : 7, "score" : 87 }

{ "_id" : 4, "name" : "Jesse", "status" : "active", "level" : 3,

6.5 - Verwenden Sie eine Abfrage für ein einzelnes Dokument unter Verwendung eines Filters. Siehe folgenden Code:

db.profiles.find({name: "Jesse"})

Sie erhalten die folgende Ausgabe:

{ "_id" : 4, "name" : "Jesse", "status" : "active", "level" : 3, "score" : 27 }

6.6 - Ein üblicher Anwendungsfall im Spielebereich ist es, ein Profil für einen bestimmten Benutzer zu finden und einen Wert im Profil des Benutzers zu erhöhen. In diesem Szenario möchten Sie eine Aktion für die aktivsten Spieler durchführen. Wenn der Spieler eine Umfrage ausfüllt, erhöhen Sie seine Punktzahl um +10.

Verwenden Sie dazu den Befehl findAndModify. In diesem Anwendungsfall hat der Benutzer Tim eine Umfrage erhalten und ausgefüllt. Geben Sie den folgenden Code ein, um Tim seine Punkte zu geben:

db.profiles.findAndModify({

   query: { name: "Tim", status: "active"},

   update: { $inc: { score: 10 } }

})

Sie erhalten die folgende Ausgabe:

{

      "_id" : 1,

      "name" : "Tim",

      "status" : "active",

      "level" : 12,

      "score" : 202

}

6.7 - Sie können das Ergebnis mit der folgenden Abfrage überprüfen:

db.profiles.find({name: "Tim"})

Sie erhalten die folgende Ausgabe:

{ "_id" : 1, "name" : "Tim", "status" : "active", "level" : 12, "score" : 212 }

7. Bereinigen

Wenn Sie den exemplarischen Walkthrough abgeschlossen haben, stoppen Sie Ihren Amazon DocumentDB-Cluster, um Kosten zu reduzieren, oder löschen Sie den Cluster ganz.

Standardmäßig stoppt Ihre AWS Cloud9-Umgebung nach 30 Minuten Inaktivität die zugrunde liegende EC2-Instance, um Kosten zu sparen.

 

Herzlichen Glückwunsch!

Dieses Tutorial hat Ihnen gezeigt, wie Sie mit Amazon DocumentDB beginnen können, indem Sie eine AWS Cloud9-Umgebung erstellen.

Sie waren in der Lage, die Mongo-Shell zu installieren, einen Amazon DocumentDB-Cluster zu erstellen, eine Verbindung zu Ihrem Cluster herzustellen und ein paar Abfragen durchzuführen. Sie konnten sehen, wie einfach es ist, JSON-Dokumente in Amazon DocumentDB einzufügen und abzufragen.

Amazon DocumentDB (mit MongoDB-Kompatibilität) ist ein schneller, skalierbarer, hochverfügbarer und vollständig verwalteter Dokumentendatenbankservice, der MongoDB-Workloads unterstützt und das Speichern, Abfragen und Indizieren von JSON-Daten erleichtert.

War dieses Tutorial hilfreich?

Vielen Dank
Bitte teilen Sie uns mit, was Ihnen gefallen hat.
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.