Guida introduttiva: Creare una macchina virtuale Linux con l'interfaccia della riga di comando di Azure

Si applica a: ✔️ Macchine virtuali Linux

Questa guida introduttiva illustra come usare l'interfaccia della riga di comando di Azure per distribuire in Azure una macchina virtuale Linux. L'interfaccia della riga di comando di Azure viene usata per creare e gestire le risorse di Azure tramite la riga di comando o gli script.

In questa esercitazione verrà installata l'immagine Debian più recente. Per mostrare la macchina virtuale in azione, connettersi a essa con SSH nella macchina virtuale e installare il server Web NGINX.

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Avviare Azure Cloud Shell

Azure Cloud Shell è una shell interattiva gratuita che può essere usata per eseguire la procedura di questo articolo. Include strumenti comuni di Azure preinstallati e configurati per l'uso con l'account.

Per aprire Cloud Shell, basta selezionare Prova nell'angolo superiore destro di un blocco di codice. È anche possibile aprire Cloud Shell in una scheda separata del browser visitando https://shell.azure.com/bash. Selezionare Copia per copiare i blocchi di codice, incollarli in Cloud Shell e premere INVIO per eseguirli.

Se si preferisce installare e usare l'interfaccia della riga di comando in locale, per questa guida introduttiva è necessaria l'interfaccia della riga di comando di Azure versione 2.0.30 o successiva. Eseguire az --version per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.

Definire le variabili di ambiente

Le variabili di ambiente vengono comunemente usate in Linux per centralizzare i dati di configurazione per migliorare la coerenza e la gestibilità del sistema. Creare le variabili di ambiente seguenti per specificare i nomi delle risorse che verranno creati più avanti in questa esercitazione:

export RESOURCE_GROUP_NAME=myResourceGroup
export LOCATION=eastus
export VM_NAME=myVM
export VM_IMAGE=debian
export ADMIN_USERNAME=azureuser

Creare un gruppo di risorse

Creare un gruppo di risorse con il comando az group create. Un gruppo di risorse di Azure è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.

az group create --name $RESOURCE_GROUP_NAME --location $LOCATION

Creare macchina virtuale

Creare una VM con il comando az vm create.

L'esempio seguente crea una macchina virtuale e aggiunge un account utente. Il parametro --generate-ssh-keys viene usato per generare automaticamente una chiave SSH e inserito nella posizione predefinita della chiave ( ~/.ssh). Per usare invece un set specifico di chiavi, usare l'opzione --ssh-key-values.

az vm create \
  --resource-group $RESOURCE_GROUP_NAME \
  --name $VM_NAME \
  --image $VM_IMAGE \
  --admin-username $ADMIN_USERNAME \
  --generate-ssh-keys \
  --public-ip-sku Standard

La creazione della macchina virtuale e delle risorse di supporto richiede alcuni minuti. L'output di esempio seguente mostra che l'operazione di creazione della macchina virtuale ha avuto esito positivo.

{
  "fqdns": "",
  "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "40.68.254.142",
  "resourceGroup": "myResourceGroup"
}

Prendere nota dell'oggetto publicIpAddress da usare in un secondo momento.

È possibile recuperare e archiviare l'indirizzo IP nella variabile IP_ADDRESS con il comando seguente:

export IP_ADDRESS=$(az vm show --show-details --resource-group $RESOURCE_GROUP_NAME --name $VM_NAME --query publicIps --output tsv)

Installare il server Web

Per visualizzare la macchina virtuale in azione, installare il server Web NGINX. Aggiornare le origini dei pacchetti e quindi installare il pacchetto NGINX più recente. Il comando seguente usa run-command per l'esecuzione sudo apt-get update && sudo apt-get install -y nginx nella macchina virtuale:

az vm run-command invoke \
   --resource-group $RESOURCE_GROUP_NAME \
   --name $VM_NAME \
   --command-id RunShellScript \
   --scripts "sudo apt-get update && sudo apt-get install -y nginx"

Aprire la porta 80 per il traffico Web

Per impostazione predefinita, le connessioni SSH vengono aperte solo quando si crea una macchina virtuale Linux in Azure. Usare az vm open-port per aprire la porta TCP 80 per l'uso con il server Web NGINX:

az vm open-port --port 80 --resource-group $RESOURCE_GROUP_NAME --name $VM_NAME

Visualizzare il server Web in azione

Usare il Web browser che si preferisce per vedere la pagina iniziale di NGINX predefinita. Usare l'indirizzo IP pubblico della macchina virtuale come indirizzo Web. L'esempio seguente mostra il sito Web NGINX predefinito:

Screenshot che mostra la pagina Web predefinita N G I N X.

In alternativa, eseguire il comando seguente per visualizzare la pagina iniziale di NGINX nel terminale

 curl $IP_ADDRESS

L'esempio seguente mostra il sito Web NGINX predefinito nel terminale come output riuscito:

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

Pulire le risorse

Quando non servono più, è possibile usare il comando az group delete per rimuovere il gruppo di risorse, la macchina virtuale e tutte le risorse correlate.

az group delete --name $RESOURCE_GROUP_NAME --no-wait --yes --verbose

Passaggi successivi

In questa guida introduttiva è stata distribuita una semplice macchina virtuale, è stata aperta una porta di rete per il traffico Web e è stato installato un server Web di base. Per altre informazioni sulle macchine virtuali di Azure, passare all'esercitazione per le VM di Linux.