Ansluta virtuella nätverk med peering för virtuella nätverk med Hjälp av PowerShell

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 någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

Använda Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet av ett kodblock. Om du väljer Prova kopieras koden inte automatiskt till Cloud Shell. Exempel på Prova för Azure Cloud Shell
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Starta Cloud Shell i ett nytt fönster
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Cloud Shell-knappen i Azure Portal

Så här kör du koden i den här artikeln i Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Kopiera koden genom att klicka på knappen Kopiera på ett kodblock.

  3. Klistra in koden i Cloud Shell-sessionen genom att välja Ctrl+Skift+V på Windows och Linux eller genom att välja Cmd+Skift+V på macOS.

  4. Välj Retur för att köra koden.

Om du väljer att installera och använda PowerShell lokalt kräver den här artikeln Azure PowerShell version 1.0.0 eller senare. Kör Get-Module -ListAvailable Az för att hitta den installerade versionen. Om du behöver uppgradera kan du läsa Install Azure PowerShell module (Installera Azure PowerShell-modul). Om du kör PowerShell lokalt måste du också köra Connect-AzAccount för att skapa en anslutning till Azure.

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 New-AzResourceGroup. I följande exempel skapas en resursgrupp med namnet myResourceGroup på platsen eastus.

New-AzResourceGroup -ResourceGroupName myResourceGroup -Location EastUS

Skapa ett virtuellt nätverk med hjälp av New-AzVirtualNetwork. I följande exempel skapas ett virtuellt nätverk med namnet myVirtualNetwork1 med adressprefixet 10.0.0.0/16.

$virtualNetwork1 = New-AzVirtualNetwork `
  -ResourceGroupName myResourceGroup `
  -Location EastUS `
  -Name myVirtualNetwork1 `
  -AddressPrefix 10.0.0.0/16

Skapa en undernätskonfiguration med Add-AzVirtualNetworkSubnetConfig. I följande exempel skapas en undernätskonfiguration med adressprefixet 10.0.0.0/24:

$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
  -Name Subnet1 `
  -AddressPrefix 10.0.0.0/24 `
  -VirtualNetwork $virtualNetwork1

Skriv undernätskonfigurationen till det virtuella nätverket med Set-AzVirtualNetwork, som skapar undernätet:

$virtualNetwork1 | Set-AzVirtualNetwork

Skapa ett virtuellt nätverk med adressprefixet 10.1.0.0/16 och ett undernät:

# Create the virtual network.
$virtualNetwork2 = New-AzVirtualNetwork `
  -ResourceGroupName myResourceGroup `
  -Location EastUS `
  -Name myVirtualNetwork2 `
  -AddressPrefix 10.1.0.0/16

# Create the subnet configuration.
$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
  -Name Subnet1 `
  -AddressPrefix 10.1.0.0/24 `
  -VirtualNetwork $virtualNetwork2

# Write the subnet configuration to the virtual network.
$virtualNetwork2 | Set-AzVirtualNetwork

Peerkoppla virtuella nätverk

Skapa en peering med Add-AzVirtualNetworkPeering. I följande exempel peer-peers myVirtualNetwork1 till myVirtualNetwork2.

Add-AzVirtualNetworkPeering `
  -Name myVirtualNetwork1-myVirtualNetwork2 `
  -VirtualNetwork $virtualNetwork1 `
  -RemoteVirtualNetworkId $virtualNetwork2.Id

I de utdata som returneras efter att föregående kommando har körts ser du att PeeringState är Initierad. Peering förblir i tillståndet Initierad tills du skapar peering från myVirtualNetwork2 till myVirtualNetwork1. Skapa en peering från myVirtualNetwork2 till myVirtualNetwork1.

Add-AzVirtualNetworkPeering `
  -Name myVirtualNetwork2-myVirtualNetwork1 `
  -VirtualNetwork $virtualNetwork2 `
  -RemoteVirtualNetworkId $virtualNetwork1.Id

I de utdata som returnerades när föregående kommando kördes ser du att PeeringState är Ansluten. Azure ändrade också peering-tillståndet för peering-peering för myVirtualNetwork1-myVirtualNetwork2 till Ansluten. Bekräfta att peering-tillståndet för peering-peering myVirtualNetwork1-myVirtualNetwork2 har ändrats till Ansluten med Get-AzVirtualNetworkPeering.

Get-AzVirtualNetworkPeering `
  -ResourceGroupName myResourceGroup `
  -VirtualNetworkName myVirtualNetwork1 `
  | Select PeeringState

Resurser i ett virtuellt nätverk kan inte kommunicera med resurser i det andra virtuella nätverket förrän PeeringState för peering-kopplingarna i båda virtuella nätverken är Ansluten.

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 New-AzVM. I följande exempel skapas en virtuell dator med namnet myVm1 i det virtuella nätverket myVirtualNetwork1. Alternativet -AsJob skapar den virtuella datorn i bakgrunden så att du kan fortsätta till nästa steg. När du uppmanas till det anger du det användarnamn och lösenord som du vill logga in på den virtuella datorn med.

New-AzVm `
  -ResourceGroupName "myResourceGroup" `
  -Location "East US" `
  -VirtualNetworkName "myVirtualNetwork1" `
  -SubnetName "Subnet1" `
  -ImageName "Win2016Datacenter" `
  -Name "myVm1" `
  -AsJob

Skapa den andra virtuella datorn

New-AzVm `
  -ResourceGroupName "myResourceGroup" `
  -Location "East US" `
  -VirtualNetworkName "myVirtualNetwork2" `
  -SubnetName "Subnet1" `
  -ImageName "Win2016Datacenter" `
  -Name "myVm2"

Det tar några minuter att skapa den virtuella datorn. Fortsätt inte med senare steg förrän Azure skapar den virtuella datorn och returnerar utdata till PowerShell.

Anteckning

Azure tillhandahåller en standard-IP för utgående åtkomst för Azure Virtual Machines som inte är tilldelade en offentlig IP-adress eller finns i backend-poolen för en intern Basic-Azure Load Balancer. Standardmekanismen för utgående åtkomst-IP ger en utgående IP-adress som inte kan konfigureras.

Mer information om standardutgående åtkomst finns i Standard för utgående åtkomst i Azure

Standard-IP för utgående åtkomst är inaktiverat när en offentlig IP-adress tilldelas till den virtuella datorn, eller om den virtuella datorn placeras i serverpoolen för en Standard Load Balancer med eller utan regler för utgående trafik. Om en Azure Virtual Network NAT gateway-resurs har tilldelats till undernätet för den virtuella datorn inaktiveras standard-IP för utgående åtkomst.

Virtuella datorer som skapats av VM-skalningsuppsättningar i läget Flexibel orkestrering har inte utgående standardåtkomst.

Mer information om utgående anslutningar i Azure finns i Använda källnätverksadressöversättning (SNAT) för utgående anslutningar.

Kommunicera mellan virtuella datorer

Du kan ansluta till en virtuell dators offentliga IP-adress från Internet. Använd Get-AzPublicIpAddress för att returnera den offentliga IP-adressen för en virtuell dator. I följande exempel returneras den offentliga IP-adressen för den virtuella datorn myVm1:

Get-AzPublicIpAddress `
  -Name myVm1 `
  -ResourceGroupName myResourceGroup | Select IpAddress

Använd följande kommando för att skapa en fjärrskrivbordssession med den virtuella datorn myVm1 från den lokala datorn. Ersätt <publicIpAddress> med IP-adressen som returnerades från föregående kommando.

mstsc /v:<publicIpAddress>

En Remote Desktop Protocol (.rdp)-fil skapas, laddas ned till datorn och öppnas. Ange användarnamnet och lösenordet (du kan behöva välja Fler alternativ och sedan Använd ett annat konto för att ange autentiseringsuppgifterna som du angav när du skapade den virtuella datorn) och klicka sedan på OK. Du kan få en certifikatvarning under inloggningen. Klicka på Ja eller Fortsätt för att fortsätta med anslutningen.

På den virtuella datorn myVm1 aktiverar du Internet Control Message Protocol (ICMP) via Windows-brandväggen så att du kan pinga den här virtuella datorn från myVm2 i ett senare steg med hjälp av PowerShell:

New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4

Ping används för att kommunicera mellan virtuella datorer i den här artikeln, men det rekommenderas inte att tillåta ICMP via Windows-brandväggen för produktionsdistributioner.

Du ansluter till den virtuella datorn myVm2 genom att ange följande kommando från en kommandotolk på den virtuella datorn myVm1:

mstsc /v:10.1.0.4

Eftersom du har aktiverat ping på myVm1 kan du nu pinga den via IP-adress från en kommandotolk på den virtuella datorn myVm2:

ping 10.0.0.4

Du får fyra svar. Koppla från RDP-sessionerna till både myVm1 och myVm2.

Rensa resurser

När resursgruppen inte längre behövs använder du Remove-AzResourcegroup för att ta bort resursgruppen och alla resurser som den innehåller.

Remove-AzResourceGroup -Name myResourceGroup -Force

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 peer-baserade virtuella nätverk. Återanvändbara skript för att slutföra många av de uppgifter som ingår i artiklarna om virtuella nätverk finns i skriptexempel.