Configuration d'une base de données de documents

avec Amazon DocumentDB (avec compatibilité MongoDB) et AWS Cloud9

Amazon DocumentDB (avec compatibilité MongoDB) est un service de base de données de documents rapide, scalable, hautement disponible et entièrement géré qui prend en charge les charges de travail MongoDB et facilite le stockage, l'interrogation et l'indexation des données JSON.

Ce tutoriel vous montre comment démarrer avec Amazon DocumentDB en utilisant AWS Cloud9. You allez apprendre à vous connecter à votre cluster Amazon DocumentDB depuis votre environnement AWS Cloud9 avec un shell Mongo et lancez quelques requêtes.

Cette démonstration coûte environ 0,08 USD.

Le schéma suivant montre l'architecture finale de cette démonstration.

getting-started-amazon-documentdb-with-aws-cloud9-1
À propos de ce tutoriel
Durée 10 minutes maximum                                  
Coût

Le tutoriel coûte environ 0,08 USD pour l'instance medium d'Amazon DocumentDB T3. Pour en savoir plus, consultezTarification d'Amazon DocumentDB.

AWS Cloud9 est éligible à l'offre gratuite. Consultez Tarification AWS Cloud9 pour en savoir plus.

Cas d'utilisation Bases de données
Produits Amazon DocumentDB (avec compatibilité MongoDB), AWS Cloud9
Public ciblé Développeur
Niveau 200 : intermédiaire Ce contenu présente les services ou fonctions AWS, en partant du principe que le client a une connaissance pratique du sujet.
Date de la dernière mise à jour Août 2020

1. Création d'un environnement AWS Cloud9

1.1 – Avec AWS management console, sur AWS Cloud9 management console, choisissez Create environment (Créer un environnement).

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

1.2 – Saisissez le nom DocumentDBCloud9.

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

1.3 – Choisissez Next step (Étape suivante).

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

1.4 – Dans la section Configure Settings (Configurer les paramètres), acceptez tous les paramètres par défaut.

1.5 – Choisissez Next step (Étape suivante).

1.6 – Dans la section Review (Vérifier), choisissez Create environment (Créer un environnement).

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

1.7 – Jusqu'à trois minutes peuvent être nécessaires pour la mise en service de l'environnement AWS Cloud9.

2. Création d'un groupe de sécurité

2.1 – Sur Amazon EC2 management console, sous Network & Security (Réseau et sécurité), choisissez Security groups (Groupes de sécurité).

2.2 – Choisissez Create security group (Créer un groupe de sécurité).

2.3 – Pour Security group name (Nom du groupe de sécurité), saisissez demoDocDB.

2.4 – Pour Description, saisissez une description.

2.5 – Pour VPC, acceptez l'utilisation de votre VPC par défaut.

2.6 – Dans la section Inbound rules (Règles entrantes), choisissez Add rule (Ajouter une règle).

2.7 – Pour Type, choisissez Custom TCP Rule (Règle TCP personnalisée).

2.8 – Pour Port Range (Plage du port), saisissez 27017.

2.9 – Le groupe de sécurité source est le groupe de sécurité pour l'environnement AWS Cloud9 que vous venez de créer. Laissez la valeur Source comme valeur pat défaut de Custom (Personnalisé) et saisissez « cloud9 » dans le champ adjacent à Custom (Personnalisé) pour accéder à une liste de groupes de sécurité disponibles.

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

2.10 – Choisissez le groupe de sécurité dont le nom est aws-cloud9-<environment name>

2.11 – Acceptez tous les autres paramètres par défaut et choisissez Create security group (Créer un groupe de sécurité). Ne vous donnez pas la peine de modifier les règles sortantes.

La capture d'écran suivante vous montre les groupes de sécurité qui ont été créés à cette étape ainsi que le groupe de sécurité AWS Cloud9 qui a été créé lorsque vous avez créé un environnement AWS Cloud9.

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

3. Création d'un cluster Amazon DocumentDB

3.1 – Sur Amazon DocumentDB management console, sous Clusters, choisissez Create (Créer).

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

3.2 – Sur la page Create Amazon DocumentDB cluster (Créer le cluster Amazon DocumentDB), sélectionnez db.t3.medium sous Instance class (Classe d'instance), puis choisissez 1 pour Number of instances (Nombre d'instances). Vous ferez des économies grâce à ces options.

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

3.3 – Gardez la valeur par défaut des autres paramètres.

3.4 – Dans la section Authentication, saisissez un nom d'utilisateur et un mot de passe.

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

3.5 – Activez Show advanced settings (Affichier les paramètres avancés).

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

3.6 – Dans la section Network settings (Paramètres réseau), pour VPC security groups (Groupes de sécurité VPC), choisissez demoDocDB.

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

3.7 – Choisissez Create cluster (Créer un cluster).

Amazon DocumentDB met en service votre cluster. Cette opération peut durer quelques minutes. Vous pouvez vous connecter à votre cluster lorsque le statut du cluster et de l'instance s'affiche comme Available (Disponible). Occupez-vous des étapes restantes pour vous connecter à votre cluster Amazon DocumentDB pendant qu'Amazon DocumentDB met en service le cluster.

4. Installation du shell Mongo

4.1 – Si votre environnement AWS Cloud9 est encore ouvert, vous pouvez passer à l'étape 3.

4.2 – Sur AWS Cloud9 management console, sous Your environments (Vos environnements), choisissez DocumentDBCloud9.

4.3 – Choisissez open IDE (IDE ouvert).

4.4 – Quand vous y êtes invité, créez le fichier référentiel avec le code suivant :

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 – À l'issue de cette opération, installez le shell Mongo avec le code suivant :

sudo yum install -y mongodb-org-shell

4.6 – Pour chiffrer les données en transit, téléchargez le certificat d'une autorité de certification pour Amazon DocumentDB. Consultez le code suivant :

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

4.7 – Vous êtes désormais prêt à vous connecter à votre cluster DocumentDB Amazon.

5. Connexion à votre Cluster DocumentDB Amazon

5.1 – Sur Amazon DocumentDB management console, sous Clusters, identifiez votre cluster. Ce post utilise le cluster docdb-2020-02-08-14-15-11.

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

5.2 – Choisissez le cluster que vous avez créé en cliquant sur l'identifiant du cluster (c'est-à-dire, docdb-2020-02-08-14-15-11 dans cet exemple).

5.3 – Copiez la chaîne de connexion fournie sous Connect to this cluster with the mongo shell (Connectez-vous à ce groupe avec le shell Mongo)

Ignorez <insertYourPassword> afin que le mot de passe vous soit demandé par le shell Mongo lorsque vous vous connectez. Vous n'avez donc pas besoin de saisir votre mot de passe non codé.

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

5.4 – Votre chaîne de connexion doit ressembler au code suivant (voir la capture d'écran).

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

5.5 – Lorsque vous saisissez votre mot de passe et pouvez voir l'invite rs0:PRIMARY>, c'est que votre connexion à votre cluster Amazon DocumentDB a réussi.

Pour des informations sur le dépannage, consultez Résolution des problèmes dans Amazon DocumentDB.

6. Insertion et interrogation de données

6.1 - Maintenant que vous êtes connecté à votre cluster, vous pouvez lancer quelques requêtes pour vous familiariser avec l'utilisation d'une base de données de documents.

Pour insérer un document unique, saisissez le code suivant :

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

Vous obtenez le résultat suivant :

WriteResult({ "nInserted" : 1 })

6.2 - Vous pouvez lire le document que vous avez écrit avec la commande findOne() (car elle ne renvoie qu'un seul document). Consultez le code suivant :

db.collection.findOne()

Vous obtenez le résultat suivant :

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

6.3 - Pour effectuer quelques requêtes supplémentaires, pensez à un cas d'utilisation de profils de jeu. Commencez par insérer quelques entrées dans une collection intitulée Profiles (Profils). Consultez le code suivant :

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}

])

Vous obtenez le résultat suivant :

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

6.4 - Utilisez la commande find() pour récupérer tous les documents de la collection de Profils. Consultez le code suivant :

db.profiles.find()

Vous obtenez le résultat suivant :

{ "_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 - Utilisez une requête pour un seul document en utilisant un filtre. Consultez le code suivant.

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

Vous obtenez le résultat suivant :

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

6.6 - Un cas d'utilisation courant dans les jeux consiste à trouver un profil pour un utilisateur donné et à augmenter une valeur dans le profil de l'utilisateur. Dans ce scénario, vous voulez organiser une promotion pour les meilleurs joueurs actifs. Si le joueur participe à une enquête, vous augmentez son score de +10.

Pour ce faire, utilisez la commande findAndModify. Dans ce cas d'utilisation, l'utilisateur Tim a été sollicité et a participé à une enquête. Pour ajouter des crédits au score de Tim, saisissez le code suivant :

db.profiles.findAndModify({

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

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

})

Vous obtenez le résultat suivant :

{

      "_id" : 1,

      "name" : "Tim",

      "status" : "active",

      "level" : 12,

      "score" : 202

}

6.7 – Vous pouvez vérifier le résultat à l'aide de la requête suivante :

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

Vous obtenez le résultat suivant :

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

7. Nettoyage

Pendant la démonstration, arrêtez votre cluster Amazon DocumentDB afin de réduire les coûts ou supprimez tout simplement.

Votre environnement AWS Cloud9 est programmé pour arrêter, par défaut, l'instance EC2 sous-jacente après 30 minutes d'inactivité afin de réduire les coûts.

 

Félicitations !

Vous avez appris, dans ce tutoriel, comment démarrer avec Amazon DocumentDB en créant un environnement AWS Cloud9.

Vous avez pu installer le shell Mongo, créer un cluster Amazon DocumentDB, vous connecter à votre cluster et lancer quelques requêtes. Vous avez pu constater à quel point il est facile d'insérer et d'interroger des documents JSON dans Amazon DocumentDB.

Amazon DocumentDB (avec compatibilité MongoDB) est un service de base de données de documents rapide, scalable, hautement disponible et entièrement géré qui prend en charge les charges de travail MongoDB et facilite le stockage, l'interrogation et l'indexation des données JSON.

Ce didacticiel vous a-t-il été utile ?

Merci
Merci de nous indiquer ce que vous avez aimé.
Fermer
Nous sommes désolés de vous décevoir.
Quelque chose est-il obsolète, déroutant ou inexact ? Aidez-nous à améliorer ce didacticiel en fournissant des commentaires.
Fermer