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 tramite -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 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 si perderà l'accesso alla macchina virtuale.

Verrà richiesto un nome utente che verrà usato quando ci si connette alla macchina virtuale. Verrà anche richiesta una password, che è possibile lasciare vuota. L'accesso tramite 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 Debian11 `
    -size Standard_B2s `
    -PublicIpAddressName myPubIP `
    -OpenPorts 80 `
    -GenerateSshKey `
    -SshKeyName mySSHKey

L'output consentirà di specificare 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

Le informazioni sui costi non vengono presentate durante il processo di creazione della macchina virtuale per PowerShell, come per il portale di Azure. Per altre informazioni sul funzionamento dei costi per le macchine virtuali, vedere la pagina Panoramica sull'ottimizzazione dei costi.

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 4.27.0 o 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 showing the N G I N X default web page.

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.