Guida introduttiva: Creare una macchina virtuale Linux in Azure con PowerShell

Si applica a: ✔️ Macchine virtuali Linux

Il modulo Azure PowerShell viene usato per creare e gestire le risorse di Azure dalla riga di comando di PowerShell o negli script. Questa guida introduttiva illustra come usare il modulo Azure PowerShell per distribuire una macchina virtuale (VM) Linux in Azure. Questa guida introduttiva usa l'immagine più recente del marketplace Debian. Per vedere in azione la macchina virtuale, viene stabilita anche una connessione SSH alla macchina virtuale e viene installato 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. Selezionare Copia per copiare i blocchi di codice, incollarli in Cloud Shell e premere INVIO per eseguirli.

Creare un gruppo di risorse

Creare un gruppo di risorse di Azure con New-AzResourceGroup. Un gruppo di risorse è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite:

New-AzResourceGroup -Name 'myResourceGroup' -Location 'EastUS'

Creare una macchina virtuale

Verrà generata automaticamente una coppia di chiavi SSH da usare per la connessione alla macchina virtuale. La chiave pubblica creata con -GenerateSshKey verrà archiviata in Azure come risorsa, usando il nome specificato come SshKeyName. La risorsa chiave SSH può essere riutilizzata per la creazione di macchine virtuali aggiuntive. Anche le chiavi pubbliche e private verranno scaricate automaticamente. Quando si crea la coppia di chiavi SSH usando il Cloud Shell, le chiavi vengono archiviate in un account di archiviazione creato automaticamente da Cloud Shell. Non eliminare l'account di archiviazione o la condivisione file al suo interno, fino a quando non sono state recuperate le chiavi o non si perderà l'accesso alla macchina virtuale.

Verrà richiesto un nome utente che verrà usato quando ci si connette alla macchina virtuale. Verrà inoltre richiesta una password, che è possibile lasciare vuota. L'accesso con password per la macchina virtuale è disabilitato quando si usa una chiave SSH.

In questo esempio si crea una macchina virtuale denominata myVM, negli Stati Uniti orientali, usando le dimensioni della macchina virtuale Standard_B2s .

New-AzVm `
    -ResourceGroupName 'myResourceGroup' `
    -Name 'myVM' `
    -Location 'East US' `
    -Image Debian `
    -size Standard_B2s `
    -PublicIpAddressName myPubIP `
    -OpenPorts 80 `
    -GenerateSshKey `
    -SshKeyName mySSHKey

L'output restituirà il percorso della copia locale della chiave SSH. Ad esempio:

Private key is saved to /home/user/.ssh/1234567891
Public key is saved to /home/user/.ssh/1234567891.pub

La distribuzione della macchina virtuale richiederà alcuni minuti. Al termine della distribuzione, passare alla sezione successiva.

Installare NGINX

Per visualizzare la macchina virtuale in azione, installare il server Web NGINX.

Invoke-AzVMRunCommand `
   -ResourceGroupName 'myResourceGroup' `
   -Name 'myVM' `
   -CommandId 'RunShellScript' `
   -ScriptString 'sudo apt-get update && sudo apt-get install -y nginx'

Il -ScriptString parametro richiede la versione o una versione 4.27.0 successiva del Az.Compute modulo.

Visualizzare il server Web in azione

Ottenere l'indirizzo IP pubblico della macchina virtuale:

Get-AzPublicIpAddress -Name myPubIP -ResourceGroupName myResourceGroup | select "IpAddress" 

Usare il Web browser che si preferisce per vedere la pagina iniziale di NGINX predefinita. Immettere l'indirizzo IP pubblico della macchina virtuale come indirizzo Web.

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

Pulire le risorse

Quando non sono più necessari, è possibile rimuovere il gruppo di risorse, la macchina virtuale e tutte le risorse correlate con il cmdlet Remove-AzResourceGroup:

Remove-AzResourceGroup -Name 'myResourceGroup'

Passaggi successivi

In questa guida introduttiva è stata distribuita una macchina virtuale semplice, sono stati creati un gruppo di sicurezza di rete e una regola ed è stato installato un server Web. Per altre informazioni sulle macchine virtuali di Azure, passare all'esercitazione per le VM di Linux.