Connettere reti virtuali con il peering di rete virtuale usando l'interfaccia della riga di comando di Azure
È possibile connettere due reti virtuali tra loro con il peering reti virtuali. Dopo che è stato eseguito il peering, le risorse delle due reti virtuali possono comunicare tra loro con la stessa larghezza di banda e la stessa latenza che sarebbero disponibili se si trovassero nella stessa rete virtuale.
In questo articolo vengono illustrate le operazioni seguenti:
Creare due reti virtuali
Connettere due reti virtuali con un peering di reti virtuali
Distribuire una macchina virtuale in ogni rete virtuale
Stabilire la comunicazione tra le macchine virtuali
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 di 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.
- Questo articolo richiede l'interfaccia della riga di comando di Azure versione 2.0.28 o successiva. Se si usa Azure Cloud Shell, la versione più recente è già installata.
Creare reti virtuali
Prima di creare una rete virtuale, è necessario creare un gruppo di risorse per la rete virtuale e tutte le altre risorse create in questo articolo. Come prima cosa creare un gruppo di risorse con az group create. Nell'esempio seguente viene creato un gruppo di risorse denominato test-rg nella posizione eastus .
az group create \
--name test-rg \
--location eastus
Creare una rete virtuale con az network vnet create. Nell'esempio seguente viene creata una rete virtuale denominata vnet-1 con il prefisso dell'indirizzo 10.0.0.0/16.
az network vnet create \
--name vnet-1 \
--resource-group test-rg \
--address-prefixes 10.0.0.0/16 \
--subnet-name subnet-1 \
--subnet-prefix 10.0.0.0/24
Creare una rete virtuale denominata vnet-2 con il prefisso dell'indirizzo 10.1.0.0/16:
az network vnet create \
--name vnet-2 \
--resource-group test-rg \
--address-prefixes 10.1.0.0/16 \
--subnet-name subnet-1 \
--subnet-prefix 10.1.0.0/24
Peering reti virtuali
I peering vengono stabiliti tra GLI ID di rete virtuale. Ottenere l'ID di ogni rete virtuale con az network vnet show e archiviare l'ID in una variabile.
# Get the id for vnet-1.
vNet1Id=$(az network vnet show \
--resource-group test-rg \
--name vnet-1 \
--query id --out tsv)
# Get the id for vnet-2.
vNet2Id=$(az network vnet show \
--resource-group test-rg \
--name vnet-2 \
--query id \
--out tsv)
Creare un peering da vnet-1 a vnet-2 con az network vnet peering create. Se il --allow-vnet-access
parametro non è specificato, viene stabilito un peering, ma nessuna comunicazione può fluire attraverso di essa.
az network vnet peering create \
--name vnet-1-to-vnet-2 \
--resource-group test-rg \
--vnet-name vnet-1 \
--remote-vnet $vNet2Id \
--allow-vnet-access
Come si può vedere nell'output restituito dopo l'esecuzione del comando precedente, lo stato peeringState è Initiated. Il peering rimane nello stato Avviato fino a quando non si crea il peering da vnet-2 a vnet-1. Creare un peering da vnet-2 a vnet-1.
az network vnet peering create \
--name vnet-2-to-vnet-1 \
--resource-group test-rg \
--vnet-name vnet-2 \
--remote-vnet $vNet1Id \
--allow-vnet-access
Come si può vedere nell'output restituito dopo l'esecuzione del comando precedente, lo stato peeringState è ora Connected. Azure ha anche modificato lo stato di peering del peering vnet-1-to-vnet-2 in Connessione ed. Verificare che lo stato del peering per il peering vnet-1-to-vnet-2 sia stato modificato in Connessione ed con az network vnet peering show.
az network vnet peering show \
--name vnet-1-to-vnet-2 \
--resource-group test-rg \
--vnet-name vnet-1 \
--query peeringState
Le risorse in una rete virtuale non possono comunicare con le risorse nell'altra rete virtuale finché non viene Connessione il peeringState per i peering in entrambe le reti virtuali.
Creare macchine virtuali
Creare una macchina virtuale in ogni rete virtuale per poter stabilire la comunicazione tra di esse in un passaggio successivo.
Creare la prima VM
Creare una VM con il comando az vm create. L'esempio seguente crea una macchina virtuale denominata vm-1 nella rete virtuale vnet-1 . Se le chiavi SSH non esistono già in una posizione predefinita, vengono create dal comando. Per usare un set specifico di chiavi, utilizzare l'opzione --ssh-key-value
. L'opzione --no-wait
crea la macchina virtuale in background, pertanto è possibile continuare con il passaggio successivo.
az vm create \
--resource-group test-rg \
--name vm-1 \
--image Ubuntu2204 \
--vnet-name vnet-1 \
--subnet subnet-1 \
--generate-ssh-keys \
--no-wait
Creare la seconda VM
Creare una macchina virtuale nella rete virtuale vnet-2 .
az vm create \
--resource-group test-rg \
--name vm-2 \
--image Ubuntu2204 \
--vnet-name vnet-2 \
--subnet subnet-1 \
--generate-ssh-keys
La creazione della VM richiede alcuni minuti. Dopo aver creato la macchina virtuale, l'interfaccia della riga di comando di Azure mostra informazioni simili all'esempio seguente:
{
"fqdns": "",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Compute/virtualMachines/vm-2",
"location": "eastus",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.1.0.4",
"publicIpAddress": "13.90.242.231",
"resourceGroup": "test-rg"
}
Prendere nota di publicIpAddress. Questo indirizzo viene usato per accedere alla VM da Internet in un passaggio successivo.
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 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.
Stabilire la comunicazione tra le macchine virtuali
Usare il comando seguente per creare una sessione SSH con la macchina virtuale vm-2 . Sostituire <publicIpAddress>
con l'indirizzo IP pubblico della macchina virtuale. Nell'esempio precedente l'indirizzo IP pubblico è 13.90.242.231.
ssh <publicIpAddress>
Eseguire il ping della macchina virtuale in vnet-1.
ping 10.0.0.4 -c 4
Si riceveranno quattro risposte.
Chiudere la sessione SSH alla macchina virtuale vm-2 .
Pulire le risorse
Quando il gruppo di risorse e tutte le risorse in esso contenute non sono più necessari, usare az group delete per rimuoverli.
az group delete \
--name test-rg \
--yes
Passaggi successivi
In questo articolo è stato illustrato come connettere due reti nella stessa area di Azure con il peering di rete virtuale. È anche possibile creare un peering di reti virtuali in aree supportate diverse e in sottoscrizioni di Azure diverse e creare progettazioni di rete di tipo hub-spoke con peering. Per altre informazioni sul peering di rete virtuale, vedere Peering di rete virtuale e Gestire un peering di rete virtuale.
È possibile connettere il proprio computer a una rete virtuale tramite una VPN e interagire con le risorse in una rete virtuale o in reti virtuali associate tramite peering. Vedere gli esempi di script riutilizzabili per completare molte delle attività illustrate negli articoli relativi alle reti virtuali.