Guida introduttiva: Usare l'interfaccia della riga di comando di Azure per creare una rete virtuale
Questa guida introduttiva illustra come creare una rete virtuale usando l'interfaccia della riga di comando di Azure, l'interfaccia della riga di comando di Azure. Si creano quindi due macchine virtuali (VM) nella rete, si connettono in modo sicuro alle macchine virtuali da Internet e si avviano le comunicazioni private tra le macchine virtuali.
Una rete virtuale rappresenta il blocco costitutivo fondamentale per le reti private di Azure. Il servizio Rete virtuale di Microsoft Azure consente alle risorse di Azure, come le VM, di comunicare in modo sicuro tra loro e con Internet.
Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
Prerequisiti
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido su Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Quando richiesto, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
Creare un gruppo di risorse
Usare az group create per creare un gruppo di risorse per ospitare la rete virtuale. Usare il codice seguente per creare un gruppo di risorse denominato test-rg nell'area di Azure eastus2 :
az group create \
--name test-rg \
--location eastus2
Creare una rete virtuale e una subnet
Usare az network vnet create per creare una rete virtuale denominata vnet-1 con una subnet denominata subnet-1 nel gruppo di risorse test-rg :
az network vnet create \
--name vnet-1 \
--resource-group test-rg \
--address-prefix 10.0.0.0/16 \
--subnet-name subnet-1 \
--subnet-prefixes 10.0.0.0/24
Distribuire Azure Bastion
Azure Bastion usa il browser per connettersi alle VM nella rete virtuale tramite Secure Shell (SSH) o Remote Desktop Protocol (RDP) usando i relativi indirizzi IP privati. Le VM non necessitano di indirizzi IP pubblici, software client o configurazione speciale.
La tariffa oraria inizia dal momento in cui viene distribuito Bastion, a prescindere dall'utilizzo dei dati in uscita. Per altre informazioni, vedere Prezzi e SKU. Se si distribuisce Bastion nel corso di un'esercitazione o di un test, è consigliabile eliminare questa risorsa dopo averla usata. Per altre informazioni su Bastion, vedere Che cos'è Azure Bastion?.
Usare az network vnet subnet create per creare una subnet Bastion per la rete virtuale. Questa subnet è riservata esclusivamente alle risorse Bastion e deve essere denominata AzureBastionSubnet.
az network vnet subnet create \ --name AzureBastionSubnet \ --resource-group test-rg \ --vnet-name vnet-1 \ --address-prefix 10.0.1.0/26
Creare un indirizzo IP pubblico per Bastion. Questo indirizzo IP viene usato per connettersi all'host Bastion da Internet. Usare az network public-ip create per creare un indirizzo IP pubblico denominato public-ip nel gruppo di risorse test-rg :
az network public-ip create \ --resource-group test-rg \ --name public-ip \ --sku Standard \ --location eastus2 \ --zone 1 2 3
Usare az network bastion create per creare un host Bastion in AzureBastionSubnet per la rete virtuale:
az network bastion create \ --name bastion \ --public-ip-address public-ip \ --resource-group test-rg \ --vnet-name vnet-1 \ --location eastus2
La distribuzione delle risorse Bastion richiede circa 10 minuti. È possibile creare macchine virtuali nella sezione successiva mentre Bastion viene distribuito nella rete virtuale.
Creare macchine virtuali
Usare az vm create per creare due macchine virtuali denominate vm-1 e vm-2 nella subnet subnet-1 della rete virtuale. Quando vengono richieste le credenziali, immettere i nomi utente e le password per le macchine virtuali.
Per creare la prima macchina virtuale, usare il comando seguente:
az vm create \ --resource-group test-rg \ --admin-username azureuser \ --authentication-type password \ --name vm-1 \ --image Ubuntu2204 \ --public-ip-address ""
Per creare la seconda macchina virtuale, usare il comando seguente:
az vm create \ --resource-group test-rg \ --admin-username azureuser \ --authentication-type password \ --name vm-2 \ --image Ubuntu2204 \ --public-ip-address ""
Suggerimento
È anche possibile usare l'opzione --no-wait
per creare una macchina virtuale in background mentre si continua con altre attività.
La creazione delle macchine virtuali può richiedere alcuni minuti. Dopo aver creato ogni macchina virtuale, l'interfaccia della riga di comando di Azure restituisce un output simile al messaggio seguente:
{
"fqdns": "",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/vm-2",
"location": "eastus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.5",
"publicIpAddress": "",
"resourceGroup": "test-rg"
"zones": ""
}
Nota
Le macchine virtuali in una rete virtuale con un host Bastion non necessitano di indirizzi IP pubblici. Bastion fornisce l'indirizzo IP pubblico e le macchine virtuali usano indirizzi IP privati per comunicare all'interno della rete. È possibile rimuovere gli indirizzi IP pubblici da qualsiasi macchina virtuale in reti virtuali ospitate da Bastion. Per altre informazioni, vedere Annullare l'associazione di un indirizzo IP pubblico da una macchina virtuale di Azure.
Nota
Azure fornisce un IP di accesso in uscita predefinito per le macchine virtuali a cui non è stato assegnato un indirizzo IP pubblico o che si trovano nel pool back-end di un servizio del bilanciamento del carico di base di Azure. Il meccanismo dell'IP di accesso in uscita predefinito fornisce un IP in uscita non configurabile.
L'IP di accesso in uscita predefinito è disabilitato quando si verifica uno degli eventi seguenti:
- Alla macchina virtuale viene assegnato un indirizzo IP pubblico.
- La macchina virtuale è posizionata nel pool back-end di un servizio di bilanciamento del carico standard, con o senza regole in uscita.
- Una risorsa del gateway NAT di Azure viene assegnata alla subnet della macchina virtuale.
Le macchine virtuali create usando set di scalabilità di macchine virtuali in modalità di orchestrazione flessibile non hanno l'accesso in uscita predefinito.
Per altre informazioni sulle connessioni in uscita in Azure, vedere Accesso in uscita predefinito in Azure e Uso di Source Network Address Translation (SNAT) per le connessioni in uscita.
Connettersi a una macchina virtuale
Nel portale, cercare e selezionare Macchine virtuali.
Nella pagina Macchine virtuali selezionare vm-1.
Nella scheda Panoramica per vm-1 selezionare Connetti.
Nella pagina Connetti alla macchina virtuale selezionare la scheda Bastion.
Selezionare Usa Bastion.
Immettere il nome utente e la password indicati durante la creazione della macchina virtuale e quindi selezionare Connetti.
Avviare la comunicazione tra le macchine virtuali
Al prompt bash per vm-1 immettere
ping -c 4 vm-2
.Si riceverà una risposta simile al messaggio seguente:
azureuser@vm-1:~$ ping -c 4 vm-2 PING vm-2.3bnkevn3313ujpr5l1kqop4n4d.cx.internal.cloudapp.net (10.0.0.5) 56(84) bytes of data. 64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=1 ttl=64 time=1.83 ms 64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=2 ttl=64 time=0.987 ms 64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=3 ttl=64 time=0.864 ms 64 bytes from vm-2.internal.cloudapp.net (10.0.0.5): icmp_seq=4 ttl=64 time=0.890 ms
Chiudere la connessione Bastion a vm-1.
Ripetere i passaggi in Connetti alla macchina virtuale per connettersi a vm-2.
Al prompt bash per vm-2 immettere
ping -c 4 vm-1
.Si riceverà una risposta simile al messaggio seguente:
azureuser@vm-2:~$ ping -c 4 vm-1 PING vm-1.3bnkevn3313ujpr5l1kqop4n4d.cx.internal.cloudapp.net (10.0.0.4) 56(84) bytes of data. 64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=1 ttl=64 time=0.695 ms 64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=2 ttl=64 time=0.896 ms 64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=3 ttl=64 time=3.43 ms 64 bytes from vm-1.internal.cloudapp.net (10.0.0.4): icmp_seq=4 ttl=64 time=0.780 ms
Chiudere la connessione Bastion a vm-2.
Pulire le risorse
Al termine della rete virtuale e delle macchine virtuali, usare az group delete per rimuovere il gruppo di risorse e tutte le relative risorse:
az group delete \
--name test-rg \
--yes
Passaggi successivi
In questa guida introduttiva è stata creata una rete virtuale con una subnet predefinita che contiene due macchine virtuali. È stato distribuito il servizio Bastion ed è stato usato per connettersi alle macchine virtuali e stabilire la comunicazione tra le macchine virtuali. Per altre informazioni sulle impostazioni della rete virtuale, vedere Creare, modificare o eliminare una rete virtuale.
La comunicazione privata tra macchine virtuali in una rete virtuale è illimitata per impostazione predefinita. Per altre informazioni sulla configurazione di vari tipi di comunicazioni di rete delle macchine virtuali, passare all'articolo successivo: