Configurare un database di documenti

con Amazon DocumentDB (compatibile con MongoDB) e AWS Cloud9

Amazon DocumentDB (compatibile con MongoDB) è un servizio di database di documenti veloce, scalabile, altamente disponibile e completamente gestito che supporta i carichi di lavoro MongoDB, consentendo di archiviare, interrogare e indicizzare i dati JSON con facilità.

Questo tutorial illustra come iniziare a utilizzare Amazon DocumentDB con AWS Cloud9. Imparerai a connetterti a un cluster Amazon DocumentDB dal tuo ambiente AWS Cloud9 con una shell mongo e proverai a eseguire qualche query.

Completare la spiegazione passo per passo costa circa $0,08 USD.

Il seguente diagramma mostra l'architettura finale di questa spiegazione passo per passo.

getting-started-amazon-documentdb-with-aws-cloud9-1
Informazioni sul tutorial
Durata 10 minuti o meno                                  
Costo

Il tutorial costa circa 0,08 USD per l'istanza Amazon DocumentDB T3 medium. Per ulteriori informazioni, consulta la pagina dei prezzi di Amazon DocumentDB.

AWS Cloud9 rientra nel piano gratuito. Per ulteriori informazioni, consulta la pagina dei prezzi di AWS Cloud9.

Caso d'uso Database
Prodotti Amazon DocumentDB (compatibile con MongoDB), AWS Cloud9
Destinatario Sviluppatore
Livello 200: intermedio. I contenuti offrono una panoramica dei servizi o delle funzionalità AWS, partendo dal presupposto che il cliente sia in possesso di una conoscenza operativa dell'argomento.
Ultimo aggiornamento Agosto 2020

1. Creazione di un ambiente AWS Cloud9

1.1 – Utilizzando la Console di gestione AWS, nella Console di gestione AWS Cloud9 scegli Create environment (Crea ambiente).

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

1.2 – Immetti il nome DocumentDBCloud9.

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

1.3 – Seleziona Next Step (Fase successiva).

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

1.4 – Nella sezione Configure Settings (Configura impostazioni), accetta tutte le impostazioni predefinite.

1.5 – Seleziona Next Step (Fase successiva).

1.6 – Nella sezione Review (Rivedi), scegli Create environment (Crea ambiente).

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

1.7 – Il provisioning dell'ambiente AWS Cloud9 può richiedere fino a tre minuti.

2. Configurazione di un gruppo di sicurezza

2.1 – Nella Console di gestione Amazon EC2, sotto Rete e sicurezza scegli Gruppi di sicurezza.

2.2 – Scegli Crea gruppo di sicurezza.

2.3 – Come Nome del gruppo di sicurezza, immetti demoDocDB.

2.4 – Per la Descrizione, inserisci una descrizione.

2.5 – Per VPC, accetta di utilizzare il tuo VPC predefinito.

2.6 – Nella sezione Regole in entrata, scegli Aggiungi regola.

2.7 – In Tipo, scegli Regola TCP personalizzata.

2.8 – Per Intervallo porte, immetti 27017.

2.9 – Il gruppo di sicurezza di origine è il gruppo di sicurezza dell'ambiente AWS Cloud9 che hai appena creato. Per Origine, mantieni il valore predefinito Personalizza e immetti "cloud9" nel campo adiacente a Personalizza per visualizzare un elenco dei gruppi di sicurezza disponibili.

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

2.10 – Scegli il gruppo di sicurezza con il nome aws-cloud9-<nome ambiente>

2.11 – Accetta tutte le impostazioni predefinite e scegli Crea gruppo di sicurezza. Non occorre modificare le regole in uscita.

La seguente schermata mostra i gruppi di sicurezza che sono stati creati in un questa fase, nonché il gruppo di sicurezza AWS Cloud9 che è stato generato quando hai creato l'ambiente AWS Cloud9.

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

3. Creazione di un cluster Amazon DocumentDB

3.1 – Nella Console di gestione Amazon DocumentDB, sotto Cluster scegli Crea.

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

3.2 – Nella pagina Crea un cluster Amazon DocumentDB, seleziona db.t3.medium sotto Classe istanza, quindi scegli 1 come Numero di istanze. Queste opzioni contribuiranno a minimizzare i costi.

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

3.3 – Lascia le altre impostazioni sui valori predefiniti.

3.4 – Nella sezione Autenticazione, inserisci un nome utente e una password.

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

3.5 – Seleziona Mostra impostazioni avanzate.

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

3.6 – Nella sezione Impostazioni di rete, per Gruppi di sicurezza VPC seleziona demoDocDB.

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

3.7 – Scegli Crea un cluster.

Ora Amazon DocumentDB sta effettuando il provisioning del tuo cluster; l'operazione potrebbe richiedere qualche minuto. Potrai collegarti al cluster quando sia per il cluster sia per l'istanza sarà visualizzato lo stato Disponibile. Mentre Amazon DocumentDB effettua il provisioning del cluster, completa le fasi successive per collegarti al tuo cluster Amazon DocumentDB.

4. Installazione della shell mongo

4.1 – Se il tuo ambiente AWS Cloud9 è ancora aperto, puoi passare direttamente alla fase 3.

4.2 – Nella Console di gestione AWS Cloud9, nella sezione Your environments (I tuoi ambienti) scegli DocumentDBCloud9.

4.3 – Scegli Open IDE (Apri IDE).

4.4 – Al prompt di comando, crea il file repository con il seguente codice:

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 – Al termine, installa la shell mongo con il seguente codice:

sudo yum install -y mongodb-org-shell

4.6 – Per crittografare i dati in transito, scarica il certificato emesso da una CA di Amazon DocumentDB. Immetti il seguente codice:

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

4.7 – Ora sei pronto a collegarti al tuo cluster Amazon DocumentDB.

5. Collegamento al cluster Amazon DocumentDB

5.1 – Nella Console di gestione Amazon DocumentDB, individua il tuo cluster nella sezione Cluster. Questo tutorial utilizza il cluster docdb-2020-02-08-14-15-11.

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

5.2 – Scegli il cluster che hai creato facendo clic sul suo identificativo (nel nostro esempio, docdb-2020-02-08-14-15-11).

5.3 – Copia la stringa di collegamento indicata sotto "Connect to this cluster with the mongo shell" (Collegati a questo cluster con la shell mongo).

Deseleziona <insertYourPassword>, che farebbe sì che la shell mongo ti richieda la password quando ti colleghi. In questo modo, non avrai bisogno di digitare la tua password in testo semplice.

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

5.4 – La tua stringa di collegamento dovrebbe avere un aspetto simile al seguente codice (vedi la schermata).

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

5.5 – Dopo avere inserito la password, quando visualizzi il prompt rs0:PRIMARY> sarai collegato correttamente al tuo cluster Amazon DocumentDB.

Per maggiori informazioni sulla risoluzione dei problemi, consulta Risoluzione dei problemi di Amazon DocumentDB.

6. Immissione ed esecuzione di query sui dati

6.1 – Ora che sei collegato al cluster, puoi eseguire qualche query per prendere confidenza con l'utilizzo di un database di documenti.

Per inserire un documento singolo, immetti il seguente codice:

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

Otterrai il seguente output:

WriteResult({ "nInserted" : 1 })

6.2 – Puoi leggere il documento che hai scritto con il comando findOne() (perché restituisce soltanto un documento singolo). Immetti il seguente codice:

db.collection.findOne()

Otterrai il seguente output:

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

6.3 – Per eseguire qualche altra query, prendiamo in considerazione il caso d'uso di un videogioco. Innanzitutto, immetti qualche voce in una raccolta intitolata profili. Immetti il seguente codice:

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}

])

Otterrai il seguente output:

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

6.4 – Utilizza il comando find() per restituire tutti i documenti nella collezione profili. Immetti il seguente codice:

db.profiles.find()

Otterrai il seguente output:

{ "_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 – Esegui una query per un singolo documento utilizzando un filtro. Immetti il seguente codice:

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

Otterrai il seguente output:

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

6.6 – Un caso d'uso comune nei videogiochi è cercare il profilo di un dato utente e incrementare un valore del profilo stesso. In questo scenario, vuoi lanciare una promozione per i giocatori più attivi. Se il giocatore compila un questionario, aumenterai il suo punteggio di 10 punti.

A tale scopo, utilizza il comando findAndModify. In questo caso d'uso, l'utente Tim ha ricevuto e completato un questionario. Per accreditare a Tim i punti aggiuntivi, immetti il seguente codice:

db.profiles.findAndModify({

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

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

})

Otterrai il seguente output:

{

      "_id" : 1,

      "name" : "Tim",

      "status" : "active",

      "level" : 12,

      "score" : 202

}

6.7 – Puoi verificare il risultato con la seguente query:

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

Otterrai il seguente output:

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

7. Eliminazione

Al termine della spiegazione passo per passo, arresta il tuo cluster Amazon DocumentDB per ridurre i costi o elimina del tutto il cluster.

Per impostazione predefinita, dopo 30 minuti di inattività l'ambiente AWS Cloud9 arresta l'istanza EC2 sottostante per ridurre i costi.

 

Congratulazioni

Questo tutorial ti ha mostrato come iniziare a utilizzare Amazon DocumentDB creando un ambiente AWS Cloud9.

Hai installato la shell mongo, hai creato un cluster Amazon DocumentDB per collegarti al cluster e hai eseguito alcune semplici query, scoprendo quanto è facile immettere documenti JSON e interrogarli all'interno di Amazon DocumentDB.

Amazon DocumentDB (compatibile con MongoDB) è un servizio di database di documenti veloce, scalabile, altamente disponibile e completamente gestito che supporta i carichi di lavoro MongoDB, consentendo di archiviare, interrogare e indicizzare i dati JSON con facilità.

Questo tutorial è stato utile?

Grazie
Facci sapere cosa ti è piaciuto.
Spiacenti di non esserti stati d'aiuto
C'è qualcosa di obsoleto, ambiguo o approssimativo? Aiutaci a migliorare questo tutorial con il tuo feedback.