Verbinding maken virtuele netwerken met peering van virtuele netwerken met behulp van PowerShell

U kunt virtuele netwerken met elkaar verbinden met virtueel-netwerk peering. Wanneer virtuele netwerken als peers zijn gekoppeld, kunnen resources in beide virtuele netwerken met elkaar communiceren met dezelfde latentie en bandbreedte als wanneer de resources zich in hetzelfde virtuele netwerk zouden bevinden.

In dit artikel leert u het volgende:

  • Twee virtuele netwerken maken

  • Twee virtuele netwerken koppelen met virtueel-netwerkpeering

  • Een virtuele machine (VM) implementeren op elk van de virtuele netwerken

  • Communicatie tussen virtuele machines

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Azure Cloud Shell

Azure host Azure Cloud Shell, een interactieve shell-omgeving die u via uw browser kunt gebruiken. U kunt Bash of PowerShell gebruiken met Cloud Shell om met Azure-services te werken. U kunt de vooraf geïnstalleerde Cloud Shell-opdrachten gebruiken om de code in dit artikel uit te voeren zonder dat u iets hoeft te installeren in uw lokale omgeving.

Om Azure Cloud Shell op te starten:

Optie Voorbeeld/koppeling
Selecteer Uitproberen in de rechterbovenhoek van een code- of opdrachtblok. Als u Try It selecteert, wordt de code of opdracht niet automatisch gekopieerd naar Cloud Shell. Schermopname van een voorbeeld van Probeer het nu voor Azure Cloud Shell.
Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. Knop om Azure Cloud Shell te starten.
Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. Schermopname van de knop Cloud Shell in Azure Portal

Azure Cloud Shell gebruiken:

  1. Start Cloud Shell.

  2. Selecteer de knop Kopiëren op een codeblok (of opdrachtblok) om de code of opdracht te kopiëren.

  3. Plak de code of opdracht in de Cloud Shell-sessie door Ctrl+Shift+V in Windows en Linux te selecteren of door Cmd+Shift+V te selecteren in macOS.

  4. Selecteer Enter om de code of opdracht uit te voeren.

Als u PowerShell lokaal wilt installeren en gebruiken, is voor dit artikel versie 1.0.0 of hoger van de Azure PowerShell-module vereist. Voer Get-Module -ListAvailable Az uit om te kijken welke versie is geïnstalleerd. Als u PowerShell wilt upgraden, raadpleegt u De Azure PowerShell-module installeren. Als u PowerShell lokaal uitvoert, moet u ook Connect-AzAccount uitvoeren om verbinding te kunnen maken met Azure.

Virtuele netwerken maken

Voordat u een virtueel netwerk maakt, moet u een resourcegroep maken voor het virtuele netwerk en alle andere resources die in dit artikel zijn gemaakt. Maak een resourcegroep met behulp van de opdracht New-AzResourceGroup. In het volgende voorbeeld wordt een resourcegroep met de naam test-rg gemaakt op de locatie eastus .

$resourceGroup = @{
    Name = "test-rg"
    Location = "EastUS"
}
New-AzResourceGroup @resourceGroup

Maak een virtueel netwerk met New-AzVirtualNetwork. In het volgende voorbeeld wordt een virtueel netwerk met de naam vnet-1 gemaakt met het adresvoorvoegsel 10.0.0.0/16.

$vnet1 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    Name = "vnet-1"
    AddressPrefix = "10.0.0.0/16"
}
$virtualNetwork1 = New-AzVirtualNetwork @vnet1

Maak een subnetconfiguratie met Add-AzVirtualNetworkSubnetConfig. In het volgende voorbeeld wordt een subnetconfiguratie gemaakt met een adresvoorvoegsel 10.0.0.0/24 :

$subConfig = @{
    Name = "subnet-1"
    AddressPrefix = "10.0.0.0/24"
    VirtualNetwork = $virtualNetwork1
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subConfig

Schrijf de subnetconfiguratie naar het virtuele netwerk met Set-AzVirtualNetwork, waarmee het subnet wordt gemaakt:

$virtualNetwork1 | Set-AzVirtualNetwork

Maak een virtueel netwerk met een adresvoorvoegsel 10.1.0.0/16 en één subnet:

# Create the virtual network.
$vnet2 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    Name = "vnet-2"
    AddressPrefix = "10.1.0.0/16"
}
$virtualNetwork2 = New-AzVirtualNetwork @vnet2

# Create the subnet configuration.
$subConfig = @{
    Name = "subnet-1"
    AddressPrefix = "10.1.0.0/24"
    VirtualNetwork = $virtualNetwork2
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subConfig

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

Peering van virtuele netwerken

Maak een peering met Add-AzVirtualNetworkPeering. In het volgende voorbeeld wordt vnet-1 gekoppeld aan vnet-2.

$peerConfig1 = @{
    Name = "vnet-1-to-vnet-2"
    VirtualNetwork = $virtualNetwork1
    RemoteVirtualNetworkId = $virtualNetwork2.Id
}
Add-AzVirtualNetworkPeering @peerConfig1

In de uitvoer die wordt geretourneerd nadat de vorige opdracht is uitgevoerd, ziet u dat de PeeringState is gestart. De peering blijft de status Gestart totdat u de peering maakt van vnet-2 naar vnet-1. Maak een peering van vnet-2 naar vnet-1.

$peerConfig2 = @{
    Name = "vnet-2-to-vnet-1"
    VirtualNetwork = $virtualNetwork2
    RemoteVirtualNetworkId = $virtualNetwork1.Id
}
Add-AzVirtualNetworkPeering @peerConfig2

In de uitvoer die wordt geretourneerd nadat de vorige opdracht is uitgevoerd, ziet u dat de PeeringState is Verbinding maken ed. Azure heeft ook de peeringstatus van de peering van vnet-1-naar-vnet-2 gewijzigd in Verbinding maken ed. Controleer of de peeringstatus voor de peering van vnet-1-naar-vnet-2 is gewijzigd in Verbinding maken metGet-AzVirtualNetworkPeering.

$peeringState = @{
    ResourceGroupName = "test-rg"
    VirtualNetworkName = "vnet-1"
}
Get-AzVirtualNetworkPeering @peeringState | Select PeeringState

Resources in het ene virtuele netwerk kunnen pas communiceren met resources in het andere virtuele netwerk als de PeeringState voor de peerings in beide virtuele netwerken is Verbinding maken.

Virtuele machines maken

Maak een VM in elk virtueel netwerk, zodat u er in een latere stap tussen kunt communiceren.

De eerste VM maken

Maak een VM met New-AzVM. In het volgende voorbeeld wordt een virtuele machine met de naam vm-1 gemaakt in het virtuele netwerk vnet-1 . Met -AsJob de optie maakt u de VIRTUELE machine op de achtergrond, zodat u verder kunt gaan met de volgende stap. Wanneer u hierom wordt gevraagd, voert u de gebruikersnaam en het wachtwoord voor de virtuele machine in.

$vm1 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    VirtualNetworkName = "vnet-1"
    SubnetName = "subnet-1"
    ImageName = "Win2019Datacenter"
    Name = "vm-1"
}
New-AzVm @vm1 -AsJob

De tweede VM maken

$vm2 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    VirtualNetworkName = "vnet-2"
    SubnetName = "subnet-1"
    ImageName = "Win2019Datacenter"
    Name = "vm-2"
}
New-AzVm @vm2

Het maken van de virtuele machine duurt een paar minuten. Ga pas verder met de latere stappen als Azure vm-2 maakt en uitvoer retourneert naar PowerShell.

Notitie

Azure biedt een standaard ip-adres voor uitgaande toegang voor VM's waaraan geen openbaar IP-adres is toegewezen of zich in de back-endpool van een interne Azure-load balancer bevinden. Het standaard ip-mechanisme voor uitgaande toegang biedt een uitgaand IP-adres dat niet kan worden geconfigureerd.

Het standaard IP-adres voor uitgaande toegang is uitgeschakeld wanneer een van de volgende gebeurtenissen plaatsvindt:

  • Er wordt een openbaar IP-adres toegewezen aan de VIRTUELE machine.
  • De VIRTUELE machine wordt in de back-endpool van een standaard load balancer geplaatst, met of zonder uitgaande regels.
  • Er wordt een Azure NAT Gateway-resource toegewezen aan het subnet van de VIRTUELE machine.

Virtuele machines die u maakt met behulp van virtuele-machineschaalsets in de flexibele indelingsmodus, hebben geen standaardtoegang voor uitgaand verkeer.

Zie Voor meer informatie over uitgaande verbindingen in Azure standaard uitgaande toegang in Azure en SNAT (Source Network Address Translation) gebruiken voor uitgaande verbindingen.

Communicatie tussen virtuele machines

U kunt verbinding maken met het openbare IP-adres van een virtuele machine via internet. Gebruik Get-AzPublicIpAddress om het openbare IP-adres van een virtuele machine op te halen. In het volgende voorbeeld wordt het openbare IP-adres van de VM-1 geretourneerd:

$ipAddress = @{
    ResourceGroupName = "test-rg"
    Name = "vm-1"
}
Get-AzPublicIpAddress @ipAddress | Select IpAddress

Gebruik de volgende opdracht om een sessie met extern bureaublad te maken met de VM-1 van uw lokale computer. Vervang <publicIpAddress> door het IP-adres dat is geretourneerd met de vorige opdracht.

mstsc /v:<publicIpAddress>

Er wordt een Remote Desktop Protocol-bestand (.rdp) gemaakt en geopend. Voer de gebruikersnaam en het wachtwoord in (mogelijk moet u meer opties selecteren, vervolgens een ander account gebruiken, de referenties opgeven die u hebt ingevoerd bij het maken van de virtuele machine) en vervolgens op OK klikken. Er wordt mogelijk een certificaatwaarschuwing weergegeven tijdens het aanmelden. Klik op Ja of Doorgaan om door te gaan met de verbinding.

Schakel op vm-1 icmp (Internet Control Message Protocol) in via de Windows Firewall, zodat u deze VM in een latere stap kunt pingen vanaf vm-2 met behulp van PowerShell:

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

Hoewel ping wordt gebruikt om te communiceren tussen VM's in dit artikel, wordt het niet aanbevolen ICMP via de Windows Firewall voor productie-implementaties toe te staan.

Als u verbinding wilt maken met vm-2, voert u de volgende opdracht in vanaf een opdrachtprompt op vm-1:

mstsc /v:10.1.0.4

U hebt ping ingeschakeld op vm-1. U kunt nu vm-1 pingen op IP-adres vanaf een opdrachtprompt op vm-2.

ping 10.0.0.4

U ontvangt vier antwoorden. Verbreek uw RDP-sessies met zowel vm-1 als vm-2.

Resources opschonen

Wanneer u deze niet meer nodig hebt, gebruikt u Remove-AzResourcegroup om de resourcegroep en alle resources die deze bevat te verwijderen.

Remove-AzResourceGroup -Name test-rg -Force

Volgende stappen

In dit artikel hebt u geleerd hoe u twee netwerken in dezelfde Azure-regio verbindt met peering van virtuele netwerken. U kunt ook virtuele netwerken in verschillende ondersteunde regio's en in verschillende Azure-abonnementen 'peeren', en peering gebruiken om netwerkontwerpen met een stertopologie te maken. Zie voor meer informatie over virtueel-netwerkpeering Peering op virtueel netwerk en Virtueel-netwerkpeerings beheren.

U kunt uw eigen computer verbinden met een virtueel netwerk via een VPN en communiceren met resources in een virtueel netwerk of in gekoppelde virtuele netwerken. Zie scriptvoorbeelden voor herbruikbare scripts voor het voltooien van veel van de taken die worden behandeld in de artikelen over het virtuele netwerk.