Installare MongoDB in una VM Windows in Azure

Importante

Azure offre due diversi modelli di distribuzione per creare e usare le risorse: Gestione risorse e la distribuzione classica. Questo articolo illustra l'uso del modello di distribuzione classica. Microsoft consiglia di usare il modello di Gestione risorse per le distribuzioni più recenti. Per installare e configurare MongoDB tramite il modello di distribuzione Resource Manager, vedere questo articolo.

MongoDB è un diffuso database NoSQL open source a prestazioni elevate. Questo articolo illustra come creare una macchina virtuale (VM) di Windows Server usando il portale di Azure. Quindi, creare e collegare un disco dati alla macchina virtuale prima di installare e configurare MongoDB. Se in Azure è già disponibile una macchina virtuale da usare, è possibile passare direttamente all'installazione e configurazione di MongoDB.

Creare una macchina virtuale che esegue Windows Server

Per creare una macchina virtuale, seguire queste istruzioni.

  1. Accedere al portale di Azure.

  2. Nell'angolo in alto a sinistra fare clic su Nuovo > Calcolo > Windows Server 2016 Datacenter.

    Passare alle immagini della macchina virtuale di Azure nel portale

  3. In Windows Server 2016 Datacenter selezionare il modello di distribuzione classica. Fare clic su Crea.

    Screenshot che illustra le immagini di VM di Azure disponibili nel portale

1. Pannello Nozioni di base

Il pannello delle nozioni di base richiede le informazioni amministrative per la macchina virtuale.

  1. Inserire un nome per la macchina virtuale. In questo esempio HeroVM è il nome della macchina virtuale. Il nome deve avere una lunghezza compresa tra 1 e 15 caratteri e non può contenere caratteri speciali.

  2. Immettere un Nome utente e una Password complessa, da usare per creare un account locale nella VM. L'account locale viene usato per accedere alla macchina virtuale e gestirla. In questo esempio azureuser è il nome utente.

    La password deve avere una lunghezza compresa tra 8 e 123 caratteri e soddisfare almeno tre dei quattro requisiti di complessità seguenti: una lettera minuscola, una lettera maiuscola, un numero e un carattere speciale. Sono disponibili altre informazioni sui requisiti relativi a nome utente e password.

  3. La sottoscrizione è facoltativa. Un'impostazione comune è "Uso prepagato".

  4. Selezionare un gruppo di risorse esistente o specificare il nome di un nuovo gruppo. In questo esempio HeroVMRG è il nome del gruppo di risorse.

  5. Selezionare una località nel datacenter di Azure in cui si desidera eseguire la macchina virtuale. In questo esempio Stati Uniti orientali è la località.

  6. Al termine, fare clic su Avanti per passare al pannello successivo.

    Screenshot che illustra le impostazioni nel pannello Nozioni di base per la configurazione di una macchina virtuale di Azure

2. Pannello Dimensioni

Con il pannello Dimensioni si identificano i dettagli di configurazione della macchina virtuale e si elencano varie opzioni che includono sistemi operativi, numero di processori, tipo di archiviazione su disco e costi di uso mensili stimati.

Scegliere le dimensioni per la macchina virtuale e quindi fare clic su Seleziona per continuare. In questo esempio DS1_V2 Standard è la dimensione della VM.

Screenshot del pannello Dimensioni che mostra le dimensioni di VM di Azure disponibili per la selezione

3. Pannello Impostazioni

Nel pannello Impostazioni è necessario definire le opzioni di archiviazione e di rete. È possibile accettare le impostazioni predefinite. Se necessario, Azure crea le voci appropriate.

Se sono state selezionate dimensioni di macchina virtuale che lo supportano, è possibile provare il servizio Archiviazione Premium di Azure selezionando Premium (SSD) nel Tipo di disco.

Al termine delle modifiche, fare clic su OK.

4. Pannello Riepilogo

Il pannello Riepilogo elenca le impostazioni specificate nei pannelli precedenti. Quando si è pronti per creare l'immagine, fare clic su OK .

Il report del pannello di riepilogo offre impostazioni specifiche della macchina virtuale

Dopo la creazione della macchina virtuale, nel portale classico la nuova macchina virtuale viene elencata in Tutte le risorse e viene mostrato un riquadro della macchina virtuale nel dashboard. Vengono creati ed elencati anche il servizio cloud e l'account di archiviazione corrispondenti. La macchina virtuale e il servizio cloud vengono avviati automaticamente e viene indicato lo stato In esecuzione.

Configurare l'agente di macchine virtuali e gli endpoint della macchina virtuale

Nota

Durante la creazione della macchina virtuale, è possibile aggiungere un endpoint per MongoDB e configurarlo come segue: denominarlo Mongo, usare il protocollo TCP e impostare le porte pubbliche e private su 27017.

Collegamento di un disco dati

Per fornire la risorsa di archiviazione per la macchina virtuale, collegare un disco dati e inizializzarlo affinché possa essere utilizzato da Windows. È possibile collegare un eventuale disco dati esistente o collegare un disco vuoto.

Collegare un disco vuoto

Il collegamento di un disco vuoto costituisce un modo semplice per aggiungere un disco dati perché Azure crea automaticamente il file con estensione vhd e lo archivia nell'account di archiviazione.

  1. Fare clic su Macchine virtuali (versione classica), quindi selezionare la VM appropriata.

  2. Nel menu Impostazioni fare clic su Dischi.

    Collegare un nuovo disco vuoto

  3. Sulla barra dei comandi fare clic su Collega nuovo.
    Verrà visualizzata la finestra di dialogo Collega un nuovo disco.

    Collegare un nuovo disco

    Specificare le informazioni seguenti:

    • In Nome fileaccettare il nome predefinito o digitarne un altro per il file con estensione vhd. Il disco dati usa un nome generato automaticamente, anche se si digita un altro nome per il file con estensione vhd.
    • Selezionare il tipo di disco dati. Tutte le macchine virtuali supportano dischi Standard. Molte macchine virtuali supportano anche dischi Premium.
    • Selezionare le dimensioni (GB) del disco dati.
    • Per Memorizzazione nella cache dell'host scegliere Nessuna o Sola lettura.
    • Fare clic su OK per terminare.
  4. Dopo che è stato creato e collegato, il disco dati verrà elencato nella sezione dei dischi della VM.

    Disco dati nuovo e vuoto collegato correttamente

Nota

Dopo aver aggiunto un disco dati, è necessario accedere alla VM e inizializzare il disco in modo che possa essere usato.

Procedura: Collegare un disco esistente

Per collegare un disco esistente, è necessario che in un account di archiviazione sia disponibile un file con estensione vhd. Usare il cmdlet Add-AzureVhd per caricare il file con estensione vhd nell'account di archiviazione. Dopo aver creato e caricato il file con estensione vhd, è possibile collegarlo a una VM.

  1. Fare clic su Macchine virtuali (versione classica) e quindi selezionare la macchina virtuale appropriata.

  2. Nel menu Impostazioni fare clic su Dischi.

  3. Sulla barra dei comandi fare clic su Collega esistente.

    Collegare il disco dati

  4. Fare clic su Percorso. Verranno visualizzati gli account di archiviazione disponibili. Selezionare quindi un account di archiviazione appropriato tra quelli elencati.

    Selezionare un account di archiviazione per il disco

  5. Un account di archiviazione ha uno o più contenitori con unità disco (dischi rigidi virtuali). Selezionare il contenitore appropriato nell'elenco.

    Finestra di selezione del contenitore delle macchine virtuali

  6. Il pannello VHD elenca le unità disco presenti nel contenitore. Fare clic su uno dei dischi, quindi su Seleziona.

    Finestra di selezione dell'immagine del disco per le macchine virtuali

  7. Verrà di nuovo visualizzato il pannello Collega un disco esistente con il percorso dell'account di archiviazione, il contenitore e il disco rigido virtuale selezionato (vhd) da aggiungere alla macchina virtuale.

    Impostare Memorizzazione nella cache dell'host su Nessuno o Sola lettura, quindi fare clic su OK.

    Disco dati correttamente collegato

Per istruzioni sull’inizializzazione del disco, vedere "Procedura: inizializzazione di un nuovo disco dati in Windows Server" in Come collegare un disco dati a una macchina virtuale di Windows.

Installare ed eseguire MongoDB nella macchina virtuale

Seguire questa procedura per installare ed eseguire MongoDB in una macchina virtuale che esegue Windows Server.

Importante

Le funzionalità di sicurezza MongoDB, ad esempio l'autenticazione e l'associazione di indirizzi IP, non sono abilitate per impostazione predefinita. Dovranno essere abilitate prima di distribuire MongoDB in un ambiente di produzione. Per altre informazioni, vedere Security and AuthenticationSicurezza e autenticazione.

  1. Dopo avere eseguito la connessione alla macchina virtuale tramite Desktop remoto, aprire Internet Explorer dal menu Start sulla macchina virtuale.
  2. Nell'angolo superiore destro fare clic sul pulsante Strumenti . In Opzioni Internet selezionare la scheda Sicurezza, quindi l'icona Siti attendibili e infine fare clic sul pulsante Siti. Aggiungere https://\.mongodb.org* all'elenco dei siti attendibili.
  3. Passare alla pagina MongoDB Download Center (Area download di MongoDB).
  4. Trovare la versione stabile corrente di Community Serverselezionare la versione più recente a 64 bit nella colonna di Windows. Scaricare ed eseguire il programma di installazione MSI.
  5. MongoDB viene in genere installato in C:\Programmi\MongoDB. Cercare le variabili di ambiente sul desktop e aggiungere il percorso di file binari MongoDB alla variabile PATH. I file binari potrebbero essere ad esempio disponibili nel percorso C:\Program Files\MongoDB\Server\3.4\bin del computer.
  6. Creare le directory dei dati e dei log di MongoDB nel disco dati, ad esempio l'unità F:, creato nei passaggi precedenti. Dal menu Start scegliere Prompt dei comandi per aprire una finestra del prompt dei comandi. Digitare:

     C:\> F:
     F:\> mkdir \MongoData
     F:\> mkdir \MongoLogs
    
  7. Per eseguire il database:

     F:\> C:
     C:\> mongod --dbpath F:\MongoData\ --logpath F:\MongoLogs\mongolog.log
    

    Tutti i messaggi di log vengono indirizzati al file F:\MongoLogs\mongolog.log non appena il server mongod.exe viene avviato e vengono preallocati i file journal. Possono essere necessari diversi minuti per la preallocazione dei file journal di MongoDB e l'inizio dell'attesa delle connessioni. Il prompt dei comandi continua con questa attività durante l'esecuzione dell'istanza di MongoDB.

  8. Per avviare la shell di amministrazione di MongoDB, aprire un'altra finestra del prompt dei comandi dal menu Start e digitare i comandi seguenti:

     C:\> cd \my_mongo_dir\bin  
     C:\my_mongo_dir\bin> mongo  
     >db  
     test
     > db.foo.insert( { a : 1 } )  
     > db.foo.find()  
     { _id : ..., a : 1 }  
     > show dbs  
     ...  
     > show collections  
     ...  
     > help  
    

    Il database viene creato dall'istruzione insert.

  9. In alternativa, è possibile installare mongod.exe come servizio:

     C:\> mongod --dbpath F:\MongoData\ --logpath F:\MongoLogs\mongolog.log --logappend  --install
    

    Viene installato un servizio denominato MongoDB con la descrizione "MongoDB". Per specificare un file di log è necessario usare l'opzione --logpath, perché il servizio in esecuzione non ha una finestra di comando in cui visualizzare l'output. L'opzione --logappend specifica che a seguito di un riavvio del servizio l'output viene aggiunto al file di log esistente. L'opzione --dbpath specifica il percorso della directory dei dati. Per altre opzioni della riga di comando relative ai servizi, vedere le opzioni della riga di comando relative ai servizi.

    Per avviare il servizio, eseguire questo comando:

     C:\> net start MongoDB
    
  10. Ora che MongoDB è stato installato ed è in esecuzione, è necessario aprire una porta in Windows Firewall per poter eseguire la connessione remota a MongoDB. Dal menu Start scegliere Strumenti di amministrazione e quindi Windows Firewall con sicurezza avanzata.
  11. a) Nel riquadro a sinistra selezionare Regole connessioni in entrata. Nel riquadro Azioni a destra selezionare Nuova regola.

    Windows Firewall

    b) In Creazione guidata nuova regola connessioni in entrata selezionare Porta e quindi fare clic su Avanti.

    Windows Firewall

    c) Selezionare TCP e quindi Porte locali specifiche. Specificare la porta "27017" (ovvero la porta su cui MongoDB rimane in ascolto) e fare clic su Avanti.

    Windows Firewall

    d) Selezionare Consenti la connessione e fare clic su Avanti.

    Windows Firewall

    e) Fare di nuovo clic su Avanti.

    Windows Firewall

    f) Specificare un nome per la regola, ad esempio "PortaMongo" e quindi fare clic su Fine.

    Windows Firewall

  12. A questo punto è possibile configurare un endpoint per MongoDB se non è stato già fatto durante la creazione della macchina virtuale. Per la connessione a MongoDB in modalità remota, sono necessari sia la regola firewall che l'endpoint.

    Nel portale di Azure fare clic su Macchine virtuali (classico), quindi sul nome della nuova macchina virtuale e infine su Endpoint.

    Endpoint

  13. Fare clic su Aggiungi.

  14. Aggiungere un endpoint denominato "Mongo", con il protocollo TCP e con entrambe le porte pubblica e privata impostate su "27017". L'apertura di questa porta consente l'accesso in remoto a MongoDB.

    Endpoint

Nota

La porta 27017 è la porta predefinita utilizzata da MongoDB. È possibile modificare la porta predefinita specificando il parametro --port all'avvio del server mongod.exe. Assicurarsi di assegnare lo stesso numero di porta al firewall e all'endpoint "Mongo" nei passaggi precedenti.

Riepilogo

In questa esercitazione è stato illustrato come creare una macchina virtuale che esegue Windows Server, come stabilire una connessione remota a quest'ultima e come collegare un disco dati. È stato inoltre illustrato come installare e configurare MongoDB sulla macchina virtuale basata su Windows. È ora possibile accedere a MongoDB nella macchina virtuale basata su Windows, seguendo gli argomenti avanzati illustrati nella documentazione di MongoDB.