Esercizio - Creare una macchina virtuale per ospitare l'applicazione Web

Completato

Come per la maggior parte dei framework applicazione, è possibile eseguire l'applicazione stack MEAN in molti ambienti diversi. È possibile eseguire l'applicazione in un computer fisico nel locale dei server, in una macchina virtuale o all'interno di contenitori.

In questo caso, si esegue l'applicazione in una macchina virtuale (VM) in esecuzione su Azure. MEAN supporta molti sistemi operativi diversi. Ai fini dell'apprendimento, si usa Ubuntu Linux.

Creare una macchina virtuale Ubuntu Linux

In genere, prima di creare altre risorse in Azure si crea un gruppo di risorse. Un gruppo di risorse è un contenitore che include risorse correlate per una soluzione di Azure. Per questo esercizio, la sandbox di Azure offre un gruppo di risorse già pronto. Tuttavia, quando si usa la propria sottoscrizione di Azure, è preferibile eseguire questo comando per creare un gruppo di risorse in una località vicina.

Nota

L'esempio di codice az group create seguente è da eseguire con il proprio account e non con l'ambiente sandbox.

az group create \
  --name <resource-group-name> \
  --location <resource-group-location>
  1. Nella finestra di Cloud Shell a destra dello schermo, selezionare l'icona Impostazioni>Vai alla versione classica.

  2. Da Cloud Shell eseguire il comando az vm create per creare una macchina virtuale Ubuntu:

    az vm create \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --name MeanStack \
      --image Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest \
      --admin-username azureuser \
      --generate-ssh-keys
    

    Il completamento del comando richiede circa 2 minuti. Al termine dell'esecuzione del comando, viene visualizzato l'output simile all’esempio seguente:

    (Output Example)
    {
      "fqdns": "",
      "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/MeanStack",
      "location": "eastus",
      "macAddress": "00-0D-3A-1E-1B-3B",
      "powerState": "VM running",
      "privateIpAddress": "10.0.0.5",
      "publicIpAddress": "104.211.9.245",
      "resourceGroup": "<rgn>[sandbox resource group name]</rgn>",
      "zones": ""
    }
    

    Il nome della macchina virtuale è MeanStack. Nei comandi futuri si userà questo nome per identificare la macchina virtuale da usare.

  3. Aprire la porta 80 nella VM per consentire il traffico HTTP in ingresso verso l’applicazione Web che verrà creata più avanti.

    az vm open-port \
      --port 80 \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --name MeanStack
    
  4. Creare una connessione SSH alla macchina virtuale.

    Anche se l'output del comando az vm create visualizza l'indirizzo IP pubblico della VM, può essere utile archiviare l'indirizzo in una variabile Bash.

    Iniziare con l'esecuzione di az vm show. Questo comando salva l'indirizzo IP in una variabile Bash denominata ipaddress.

    ipaddress=$(az vm show \
      --name MeanStack \
      --resource-group "<rgn>[sandbox resource group name]</rgn>" \
      --show-details \
      --query [publicIps] \
      --output tsv)
    
  5. Connettersi alla macchina virtuale in questo modo.

    ssh azureuser@$ipaddress
    

    Quando richiesto, rispondere per salvare l'identità della macchina virtuale in locale. Le connessioni future saranno quindi considerate attendibili.

    Si userà la connessione SSH per configurare il software nella macchina virtuale nelle parti successive.

Riepilogo

Dopo aver preparato la macchina virtuale Ubuntu, è il momento di installare ogni componente dello stack MEAN. Si inizia con l'installazione di MongoDB.