Inizia a usare i cluster elastici di Amazon DocumentDB - Amazon DocumentDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Inizia a usare i cluster elastici di Amazon DocumentDB

Questa sezione introduttiva illustra come creare e interrogare il primo cluster elastico. Esistono molti modi per connettersi e iniziare a utilizzare i cluster elastici. Questa guida utilizza AWS Cloud9un terminale basato sul Web per connettersi e interrogare il cluster elastico utilizzando la shell mongo direttamente da. AWS Management Console

Configurazione

Se preferisci connetterti ad Amazon DocumentDB dal tuo computer locale creando una connessione SSH a un'istanza Amazon EC2, consulta Connecting with Amazon EC2.

Prerequisiti

Prima di creare il tuo primo cluster Amazon DocumentDB, devi effettuare le seguenti operazioni:

Crea un account Amazon Web Services (AWS)

Prima di iniziare a utilizzare Amazon DocumentDB, devi disporre di un account Amazon Web Services (AWS). L' AWS account è gratuito. Paghi solo per i servizi e le risorse che utilizzi.

Se non ne possiedi uno Account AWS, completa i seguenti passaggi per crearne uno.

Per iscriverti a un Account AWS
  1. Apri la pagina all'indirizzo https://portal.aws.amazon.com/billing/signup.

  2. Segui le istruzioni online.

    Nel corso della procedura di registrazione riceverai una telefonata, durante la quale sarà necessario inserire un codice di verifica attraverso la tastiera del telefono.

    Quando ti iscrivi a un Account AWS, Utente root dell'account AWSviene creato un. L'utente root dispone dell'accesso a tutte le risorse e tutti i Servizi AWS nell'account. Come procedura consigliata in materia di sicurezza, assegnate l'accesso amministrativo a un utente e utilizzate solo l'utente root per eseguire attività che richiedono l'accesso da parte dell'utente root.

Imposta le autorizzazioni necessarie AWS Identity and Access Management (IAM).

L'accesso alla gestione delle risorse di Amazon DocumentDB come cluster, istanze e gruppi di parametri del cluster richiede credenziali che AWS possono essere utilizzate per autenticare le richieste. Per ulteriori informazioni, consulta Identity and Access Management per Amazon DocumentDB.

  1. Nella barra di ricerca di AWS Management Console, digita IAM e seleziona IAM nel menu a discesa.

  2. Una volta che sei nella console IAM, seleziona Utenti dal pannello di navigazione.

  3. Seleziona il tuo nome utente.

  4. Fai clic sul pulsante Aggiungi autorizzazioni.

  5. Seleziona Attach existing policies directly (Collega direttamente le policy esistenti).

  6. Digita AmazonDocDBFullAccess nella barra di ricerca e selezionala quando appare nei risultati della ricerca.

  7. Fai clic sul pulsante blu in basso che dice Avanti: revisione.

  8. Fai clic sul pulsante blu in basso che dice Aggiungi autorizzazioni.

Crea un Amazon Virtual Private Cloud (Amazon VPC)

Questo passaggio è necessario solo se non disponi già di un Amazon VPC predefinito. In caso contrario, completa il passaggio 1 della Guida introduttiva ad Amazon VPC nella Amazon VPC User Guide. Questa operazione richiederà meno di cinque minuti.

Fase 1: Creare un cluster elastico

In questa sezione spieghiamo come creare un cluster elastico nuovo di zecca, utilizzando AWS Management Console o AWS CLI con le seguenti istruzioni.

Using the AWS Management Console

Per creare una configurazione di cluster elastico utilizzando AWS Management Console:

  1. Accedi AWS Management Consolee apri la console Amazon DocumentDB.

  2. Nella console di gestione Amazon DocumentDB, in Clusters, scegli Crea.

    Diagramma: creazione di cluster elastici
  3. Nella pagina Crea cluster Amazon DocumentDB, nella sezione Tipo di cluster, scegli Elastic Cluster.

    Diagramma: tipo di cluster elastico
  4. Nella pagina Crea cluster Amazon DocumentDB, nella sezione Configurazione, inserisci un identificatore univoco del cluster (seguendo i requisiti di denominazione sotto il campo).

    Diagramma: identificatore elastico del cluster
  5. Per i campi di configurazione dello shard:

    1. Nel campo Shard count, inserisci il numero di shard che desideri inserire nel cluster. Il numero massimo di shard per cluster è 32.

      Nota

      Verranno distribuiti due nodi per ogni shard. Entrambi i nodi avranno la stessa capacità di shard.

    2. Nel campo Shard instance count, scegli il numero di istanze di replica che desideri associare a ogni shard. Il numero massimo di istanze shard è 16, in incrementi di 1. Tutte le istanze di replica hanno la stessa capacità di shard definita nel campo seguente.

      Nota

      Il numero di istanze di replica si applica a tutti gli shard del cluster elastico. Un valore di conteggio delle istanze shard pari a 1 indica che esiste un'istanza di writer e tutte le istanze aggiuntive sono repliche che possono essere utilizzate per le letture e per migliorare la disponibilità.

    3. Nel campo Capacità dello shard, scegli il numero di CPU virtuali (vCPU) che desideri associare a ciascuna istanza dello shard. Il numero massimo di vCPU per istanza shard è 64. I valori consentiti sono 2, 4, 8, 16, 32, 64.

    Diagramma: numero e capacità dello shard del cluster elastico
  6. Nel campo Virtual Private Cloud (VPC), scegli un VPC dall'elenco a discesa.

    Per le sottoreti e i gruppi di sicurezza VPC, puoi utilizzare le impostazioni predefinite o selezionare tre sottoreti a tua scelta e fino a tre gruppi di sicurezza VPC (almeno uno).

    Diagramma: VPC e sottoreti a cluster elastico
  7. Nella sezione Autenticazione, inserisci una stringa che identifica il nome di accesso dell'utente principale nel campo Nome utente.

    Nel campo Password, inserisci una password univoca conforme alle istruzioni.

    Diagramma: nome utente e password del cluster elastico
  8. Nella sezione Crittografia, mantieni le impostazioni predefinite.

    Facoltativamente, puoi inserire un AWS KMS key ARN che hai creato. Per ulteriori informazioni, consulta Critografia dei dati inattivi per i cluster elastici Amazon DocumentDB.

    Importante

    La crittografia deve essere abilitata per i cluster elastici.

  9. Nella sezione Backup, modifica i campi in base ai requisiti di backup.

    Screenshot del riquadro Backup che mostra le fasi per la configurazione della finestra di backup del cluster.
    1. Periodo di conservazione dei backup: nell'elenco, scegli il numero di giorni in cui conservare i backup automatici di questo cluster prima di eliminarli.

    2. Finestra di backup: imposta l'ora e la durata giornaliere durante le quali Amazon DocumentDB deve effettuare i backup di questo cluster.

      1. Scegli Seleziona finestra se desideri configurare l'ora e la durata di creazione dei backup.

        Ora di inizio: nel primo elenco, scegli l'ora di inizio (UTC) per avviare i backup automatici. Dal secondo elenco scegli il minuto dell'ora in cui desideri inizino i backup automatici.

        Durata: nell'elenco, scegli il numero di ore da assegnare alla creazione di backup automatici.

      2. Scegli Nessuna preferenza se desideri che Amazon DocumentDB scelga l'ora e la durata di creazione dei backup.

  10. Nella sezione Manutenzione, scegli il giorno, l'ora e la durata in cui le modifiche o le patch vengono applicate al cluster.

    Diagramma: nome utente e password del cluster elastico
  11. Scegli Create cluster (Crea cluster).

Il cluster elastico è ora in fase di provisioning. Il completamento di questa operazione può richiedere fino a qualche minuto. È possibile connettersi al cluster quando lo stato del cluster elastico viene visualizzato, come active nell'elenco Cluster.

Using the AWS CLI

Per creare un cluster elastico utilizzando il AWS CLI, utilizza l'create-clusteroperazione con i seguenti parametri:

  • --cluster-name: obbligatorio. Il nome corrente del cluster in scala elastica immesso durante la creazione o l'ultima modifica.

  • --shard-capacity: obbligatorio. Il numero di vCPU assegnate a ogni shard. Il massimo è 64. I valori consentiti sono 2, 4, 8, 16, 32, 64.

  • --shard-count: obbligatorio. Il numero di shard assegnati al cluster. Il massimo è 32.

  • --shard-instance-count—Facoltativo. Il numero di istanze di replica applicabili a tutti gli shard di questo cluster. Il massimo è 16.

  • --admin-user-name: obbligatorio. Il nome utente associato all'utente amministratore.

  • --admin-user-password: obbligatorio. La password associata all'utente amministratore.

  • --auth-type: obbligatorio. Il tipo di autenticazione utilizzato per determinare dove recuperare la password utilizzata per accedere al cluster elastico. I tipi validi sono PLAIN_TEXT oSECRET_ARN.

  • --vpc-security-group-ids—Facoltativo. Configura un elenco di gruppi di sicurezza VPC EC2 da associare a questo cluster.

  • --preferred-maintenance-window—Facoltativo. Configura l'intervallo di tempo settimanale durante il quale può avvenire la manutenzione del sistema, in UTC (Universal Coordinated Time).

    Il formato è:ddd:hh24:mi-ddd:hh24:mi. Giorni validi (gdd): lun, mar, mer, gio, ven, sab, dom

    L'impostazione predefinita è una finestra di 30 minuti selezionata a caso da un periodo di 8 ore per ogni regione di Amazon Web Services, che si verifica in un giorno casuale della settimana.

    Finestra minima di 30 minuti.

  • --kms-key-id—Facoltativo. Configurare l'identificatore della chiave KMS per un cluster crittografato.

    L'identificatore della chiave KMS è l'Amazon Resource Name (ARN) per la chiave di crittografia. AWS KMS Se stai creando un cluster utilizzando lo stesso account Amazon Web Services che possiede la chiave di crittografia KMS utilizzata per crittografare il nuovo cluster, puoi utilizzare l'alias della chiave KMS anziché l'ARN per la chiave di crittografia KMS.

    Se non è specificata una chiave di crittografia KmsKeyId e se il StorageEncrypted parametro è vero, Amazon DocumentDB utilizza la chiave di crittografia predefinita.

  • --preferred-backup-window—Facoltativo. L'intervallo di tempo giornaliero preferito durante il quale vengono creati i backup automatici. L'impostazione predefinita è una finestra di 30 minuti selezionata a caso da un intervallo di tempo di 8 ore per ciascuna. Regione AWS

  • --backup-retention-period—Facoltativo. Il numero di giorni durante i quali vengono conservati i backup automatici. Il valore predefinito è 1.

  • --storage-encrypted—Facoltativo. Configura se il cluster è crittografato o meno.

    --no-storage-encryptedspecifica che il cluster non è crittografato.

  • --subnet-ids—Facoltativo. Configura gli ID delle sottoreti di rete.

Nell'esempio seguente, sostituisci ogni segnaposto dell'input utente con le tue informazioni.

Nota

Gli esempi seguenti includono la creazione di una chiave KMS specifica. Per utilizzare la chiave KMS predefinita, non includere il --kms-key-id parametro.

Per Linux, macOS o Unix:

aws docdb-elastic create-cluster \ --cluster-name sample-cluster-123 \ --shard-capacity 8 \ --shard-count 4 \ --shard-instance-count 3 \ --auth-type PLAIN_TEXT \ --admin-user-name testadmin \ --admin-user-password testPassword \ --vpc-security-group-ids ec-65f40350 \ --kms-key-id arn:aws:docdb-elastic:us-east-1:477568257630:cluster/b9f1d489-6c3e-4764-bb42-da62ceb7bda2 \ --subnet-ids subnet-9253c6a3, subnet-9f1b5af9 \ --preferred-backup-window 18:00-18:30 \ --backup-retention-period 7

Per Windows:

aws docdb-elastic create-cluster ^ --cluster-name sample-cluster-123 ^ --shard-capacity 8 ^ --shard-count 4 ^ --shard-instance-count 3 ^ --auth-type PLAIN_TEXT ^ --admin-user-name testadmin ^ --admin-user-password testPassword ^ --vpc-security-group-ids ec-65f40350 ^ --kms-key-id arn:aws:docdb-elastic:us-east-1:477568257630:cluster/b9f1d489-6c3e-4764-bb42-da62ceb7bda2 ^ --subnet-ids subnet-9253c6a3, subnet-9f1b5af9 \ --preferred-backup-window 18:00-18:30 \ --backup-retention-period 7

Fase 2: Creare un ambiente AWS Cloud9

AWS Cloud9 fornisce un terminale basato sul Web che puoi utilizzare per connetterti e interrogare i cluster elastici di Amazon DocumentDB utilizzando la shell mongo.

Nota

Nota: l' AWS Cloud9 ambiente deve appartenere allo stesso gruppo di sicurezza dell'istanza. Puoi modificare il gruppo di sicurezza nella console Amazon EC2.

  1. Usa il tuo AWS account e accedi a. AWS Management Console

  2. Vai alla AWS Cloud9 console. Puoi digitare «Cloud9" nel campo di ricerca per individuarlo.

  3. Nella home page dell'AWS Cloud9ambiente, scegli Crea ambiente.

  4. Nella pagina Ambiente del nome, nel campo Nome, inserisci un nome a tua scelta.

    Seleziona Fase successiva.

    Diagramma: nome Cloud9
  5. Nelle impostazioni dell'ambiente, nella sezione Tipo di ambiente, seleziona Crea una nuova istanza EC2 per l'ambiente (accesso diretto).

    Nella sezione Tipo di istanza, seleziona il tipo di istanza appropriato per la tua rete.

    Nella sezione Piattaforma, seleziona Amazon Linux 2 (consigliato).

    Diagramma: impostazioni dell'ambiente Cloud9
  6. Espandere Network settings (advanced) (Impostazioni di rete (avanzate)).

    Scegli il VPC e una delle sottoreti che hai usato per creare il tuo cluster elastico.

    Seleziona Fase successiva.

    Diagramma: impostazioni di rete Cloud9
  7. Rivedi la tua configurazione. AWS Cloud9

    Se la configurazione è corretta, scegli Crea ambiente.

Passaggio 3: installa la shell mongo

Una volta che AWS Cloud9 l'ambiente è pronto, sei pronto per connetterti al tuo cluster. Quindi, installa la shell mongo nell' AWS Cloud9 ambiente che hai creato nel passaggio 3. La mongo shell è un'utilità a riga di comando che usi per connettere e interrogare il tuo cluster elastico.

Se l' AWS Cloud9 ambiente è ancora aperto dalla Fase 3, tornate a quell'ambiente e passate all'istruzione 3. Se ti sei allontanato dal tuo AWS Cloud9 ambiente, nella AWS Cloud9 console, nella sezione I tuoi ambienti, trova l'ambiente etichettato con il nome impostato nel passaggio precedente. Scegli Open IDE.

  1. Al prompt dei comandi, create il file del repository con il seguente comando:

    echo -e "[mongodb-org-4.0] \nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/4.0/x86_64/\ngpgcheck=1 \nenabled=1 \ngpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc" | sudo tee /etc/yum.repos.d/mongodb-org-4.0.repo
  2. Quando è completo, installa la shell mongo con il seguente comando:

    sudo yum install -y mongodb-org-shell

Fase 4: Connect al nuovo cluster elastico

Connect al cluster utilizzando la shell mongo installata nello Step 4.

  1. Nella Console di gestione Amazon DocumentDB, in Clusters, individua il cluster. Ordina per ruolo per visualizzare tutti i cluster con il ruolo Elastic Cluster.

    Diagramma: schermata dell'elenco dei cluster elastici
  2. Scegli il cluster che hai creato selezionando l'identificatore del cluster. Da Connettività e sicurezza, copia l'endpoint e incollalo nel tuo AWS Cloud9 ambiente.

    Diagramma: schermata di connessione elastica del cluster
  3. Una volta connesso, dovresti vedere il seguente output:

    Diagramma: schermata finale di connessione del cluster elastico

Fase 5: Condividi la tua raccolta; inserisci e interroga i dati

I cluster elastici aggiungono il supporto per lo sharding in Amazon DocumentDB. Ora che sei connesso al cluster, puoi suddividere il cluster, inserire dati ed eseguire alcune query.

  1. Per condividere una raccolta, inserisci quanto segue:

    sh.shardCollection("db.Employee1" , { "Employeeid" : "hashed" })

  2. Per inserire un singolo documento, inserisci quanto segue:

    db.Employee1.insert({"Employeeid":1, "Name":"Joe", "LastName": "Bruin", "level": 1 })

    Viene visualizzato il seguente output:

    WriteResult({ "nInserted" : 1 })

  3. Per leggere il documento che hai scritto, inserisci il findOne() comando (restituisce un singolo documento):

    db.Employee1.findOne()

    Viene visualizzato il seguente output:

    { "_id" : ObjectId("61f344e0594fe1a1685a8151"), "EmployeeID" : 1, "Name" : "Joe", "LastName" : "Bruin", "level" : 1 }
  4. Per eseguire qualche altra domanda, considera un caso d'uso di un profilo di gioco. Innanzitutto, inserisci alcune voci in una raccolta intitolata «Employee». Immetti i seguenti dati:

    db.Employee1.insertMany([ { "Employeeid" : 1, "name" : "Matt", "lastname": "Winkle", "level": 12}, { "Employeeid" : 2, "name" : "Frank", "lastname": "Chen", "level": 2}, { "Employeeid" : 3, "name" : "Karen", "lastname": "William", "level": 7}, { "Employeeid" : 4, "name" : "Katie", "lastname": "Schaper", "level": 3} ])

    Viene visualizzato il seguente output:

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

  5. Per restituire tutti i documenti della raccolta di profili, immettete il comando find ():

    db.Employee1.find()

    Vengono visualizzati i dati inseriti nel passaggio 4.

  6. Per interrogare un singolo documento, includi un filtro (ad esempio: «Katie»). Immetti i seguenti dati:

    db.Employee1.find({name: "Katie"})

    Viene visualizzato il seguente output:

    { "_id" : 4, "name" : "Katie", "lastname": "Schaper", "level": 3}

  7. Per trovare un profilo e modificarlo, inserisci il findAndModify comando. In questo esempio, al dipendente «Matt» viene assegnato un livello superiore di «14":

    db.Employee1.findAndModify({ query: { "Employeeid" : 1, "name" : "Matt"}, update: { "Employeeid" : 1, "name" : "Matt", "lastname" : "Winkle", "level" : 14 } })

    Viene visualizzato il seguente output (si noti che il livello non è ancora cambiato):

    { "_id" : 1, "name" : "Matt", "lastname" : "Winkle", "level" : 12, }
  8. Per verificare l'aumento del livello, inserisci la seguente query:

    db.Employee1.find({name: "Matt"})

    Viene visualizzato il seguente output:

    { "_id" : 1, "name" : "Matt", "lastname" : "winkle", "level" : 14 }