Anslut virtuella nätverk med peering för virtuella nätverk med hjälp av Azure CLI
Du kan ansluta virtuella nätverk till varandra med peerkoppling. När virtuella nätverk har peerkopplats kan resurser i båda virtuella nätverken kommunicera med varandra, med samma svarstid och bandbredd som om resurserna fanns i samma virtuella nätverk.
I den här artikeln kan du se hur du:
Skapa två virtuella nätverk
Koppla samman två virtuella nätverk med en peerkoppling
Distribuera en virtuell dator (VM) till varje virtuellt nätverk
Kommunicera mellan virtuella datorer
Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
- Den här artikeln kräver version 2.0.28 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.
Skapa virtuella nätverk
Innan du skapar ett virtuellt nätverk måste du skapa en resursgrupp för det virtuella nätverket och alla andra resurser som skapas i den här artikeln. Skapa en resursgrupp med az group create. I följande exempel skapas en resursgrupp med namnet test-rg på platsen eastus .
az group create \
--name test-rg \
--location eastus
Skapa ett virtuellt nätverk med kommandot az network vnet create. I följande exempel skapas ett virtuellt nätverk med namnet vnet-1 med adressprefixet 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
Skapa ett virtuellt nätverk med namnet vnet-2 med adressprefixet 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
Peerkoppla virtuella nätverk
Peerings upprättas mellan virtuella nätverks-ID:n. Hämta ID:t för varje virtuellt nätverk med az network vnet show och lagra ID:t i en variabel.
# 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)
Skapa en peering från vnet-1 till vnet-2 med az network vnet peering create. Om parametern --allow-vnet-access
inte anges upprättas en peering, men ingen kommunikation kan flöda genom den.
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
I utdata som returneras efter att föregående kommando har körts ser du att peeringState initieras. Peering förblir i tillståndet Initierad tills du skapar peering från vnet-2 till vnet-1. Skapa en peering från vnet-2 till 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
I utdata som returneras efter att föregående kommando har körts ser du att peeringStateAnslut. Azure ändrade också peeringtillståndet för peering-peering vnet-1-to-vnet-2 till Anslut ed. Bekräfta att peeringtillståndet för peering-peering vnet-1-to-vnet-2 ändrades till Anslut ed med 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
Resurser i ett virtuellt nätverk kan inte kommunicera med resurser i det andra virtuella nätverket förrän peeringState för peerings i båda de virtuella nätverken Anslut.
Skapa virtuella datorer
Skapa en virtuell dator i varje virtuellt nätverk så att du kan kommunicera mellan dem i ett senare steg.
Skapa den första virtuella datorn
Skapa en virtuell dator med az vm create. I följande exempel skapas en virtuell dator med namnet vm-1 i det virtuella nätverket vnet-1 . Om det inte redan finns SSH-nycklar på en standardnyckelplats skapar kommandot dem. Om du vill använda en specifik uppsättning nycklar använder du alternativet --ssh-key-value
. Alternativet --no-wait
skapar den virtuella datorn i bakgrunden, så att du kan fortsätta till nästa steg.
az vm create \
--resource-group test-rg \
--name vm-1 \
--image Ubuntu2204 \
--vnet-name vnet-1 \
--subnet subnet-1 \
--generate-ssh-keys \
--no-wait
Skapa den andra virtuella datorn
Skapa en virtuell dator i det virtuella nätverket vnet-2 .
az vm create \
--resource-group test-rg \
--name vm-2 \
--image Ubuntu2204 \
--vnet-name vnet-2 \
--subnet subnet-1 \
--generate-ssh-keys
Det tar några minuter att skapa den virtuella datorn. När den virtuella datorn har skapats visar Azure CLI information som liknar följande exempel:
{
"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"
}
Anteckna publicIpAddress. Den här adressen används för att komma åt den virtuella datorn från Internet i ett senare steg.
Kommentar
Azure tillhandahåller en standard-IP för utgående åtkomst för virtuella datorer som antingen inte har tilldelats någon offentlig IP-adress eller som finns i serverdelspoolen för en intern grundläggande Azure-lastbalanserare. Ip-mekanismen för utgående åtkomst har en utgående IP-adress som inte kan konfigureras.
Standard-IP för utgående åtkomst inaktiveras när någon av följande händelser inträffar:
- En offentlig IP-adress tilldelas till den virtuella datorn.
- Den virtuella datorn placeras i serverdelspoolen för en standardlastbalanserare, med eller utan regler för utgående trafik.
- En Azure NAT Gateway-resurs tilldelas till den virtuella datorns undernät.
Virtuella datorer som du skapar med hjälp av vm-skalningsuppsättningar i flexibelt orkestreringsläge har inte standardåtkomst till utgående trafik.
Mer information om utgående anslutningar i Azure finns i Standardutgående åtkomst i Azure och Använda SNAT (Source Network Address Translation) för utgående anslutningar.
Kommunicera mellan virtuella datorer
Använd följande kommando för att skapa en SSH-session med den virtuella datorn vm-2 . Ersätt <publicIpAddress>
med den offentliga IP-adressen för den virtuella datorn. I föregående exempel är den offentliga IP-adressen 13.90.242.231.
ssh <publicIpAddress>
Pinga den virtuella datorn i vnet-1.
ping 10.0.0.4 -c 4
Du får fyra svar.
Stäng SSH-sessionen till den virtuella datorn vm-2 .
Rensa resurser
När den inte längre behövs använder du az group delete för att ta bort resursgruppen och alla resurser som den innehåller.
az group delete \
--name test-rg \
--yes
Nästa steg
I den här artikeln har du lärt dig hur du ansluter två nätverk i samma Azure-region med peering för virtuella nätverk. Du kan också peerkoppla virtuella nätverk i olika regioner som stöds och i olika Azure-prenumerationer, samt skapa nav- och ekernätverksdesigner med peerkoppling. Mer information om peerkoppling av virtuella nätverk finns i Översikt över peerkoppling av virtuella nätverk och Hantera peerkopplingar av virtuella nätverk.
Du kan ansluta din egen dator till ett virtuellt nätverk via ett VPN och interagera med resurser i ett virtuellt nätverk eller i peerkopplade virtuella nätverk. För återanvändbara skript för att slutföra många av de uppgifter som beskrivs i artiklarna om virtuella nätverk, se skriptexempel.