Delen via


Virtuele netwerken verbinden met peering van virtuele netwerken met behulp van de Azure CLI

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, kunt u een gratis Azure-account maken voordat u begint.

Vereisten

  • Voor dit artikel is versie 2.0.28 of hoger van Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.

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 maken met az group create. In het volgende voorbeeld wordt een resourcegroep met de naam test-rg gemaakt op de locatie eastus .

az group create \
    --name test-rg \
    --location eastus

Maak een virtueel netwerk met az network vnet create. In het volgende voorbeeld wordt een virtueel netwerk met de naam vnet-1 gemaakt met het adresvoorvoegsel 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

Maak een virtueel netwerk met de naam vnet-2 met het adresvoorvoegsel 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 van virtuele netwerken

Peerings worden tot stand gebracht tussen virtuele netwerk-id's. Haal de id van elk virtueel netwerk op met az network vnet show en sla de id op in een variabele.

# 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)

Maak een peering van vnet-1 naar vnet-2 met az network vnet peering create. Als de --allow-vnet-access parameter niet is opgegeven, wordt er een peering tot stand gebracht, maar kan er geen communicatie doorstromen.

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

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.

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

In de uitvoer die wordt geretourneerd nadat de vorige opdracht is uitgevoerd, ziet u dat de peeringState is verbonden. Azure heeft ook de peeringstatus van de peering van vnet-1-naar-vnet-2-peering gewijzigd in Connected. Controleer of de peeringstatus voor de peering van vnet-1-naar-vnet-2 is gewijzigd in Connected with 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

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 verbonden.

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 az vm create. In het volgende voorbeeld wordt een virtuele machine met de naam vm-1 gemaakt in het virtuele netwerk vnet-1 . Als SSH-sleutels niet al bestaan op de standaardsleutellocatie, worden ze met deze opdracht gemaakt. Als u een specifieke set sleutels wilt gebruiken, gebruikt u de optie --ssh-key-value. Met --no-wait de optie maakt u de VIRTUELE machine op de achtergrond, zodat u verder kunt gaan met de volgende stap.

az vm create \
  --resource-group test-rg \
  --name vm-1 \
  --image Ubuntu2204 \
  --vnet-name vnet-1 \
  --subnet subnet-1 \
  --generate-ssh-keys \
  --no-wait

De tweede VM maken

Maak een virtuele machine in het virtuele vnet-2-netwerk .

az vm create \
  --resource-group test-rg \
  --name vm-2 \
  --image Ubuntu2204 \
  --vnet-name vnet-2 \
  --subnet subnet-1 \
  --generate-ssh-keys

Het maken van de virtuele machine duurt een paar minuten. Nadat de VIRTUELE machine is gemaakt, toont de Azure CLI informatie die vergelijkbaar is met het volgende voorbeeld:

{
  "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"
}

Let op het openbare IP-adres. Dit adres wordt in een latere stap gebruikt voor toegang tot de virtuele machine vanaf internet.

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

Gebruik de volgende opdracht om een SSH-sessie te maken met de VM-2-VM . Vervang <publicIpAddress> door het openbare IP-adres van uw VIRTUELE machine. In het vorige voorbeeld is het openbare IP-adres 13.90.242.231.

ssh <publicIpAddress>

Ping de VIRTUELE machine in vnet-1.

ping 10.0.0.4 -c 4

U ontvangt vier antwoorden.

Sluit de SSH-sessie met de VM-2-VM .

Resources opschonen

Wanneer u deze niet meer nodig hebt, gebruikt u az group delete om de resourcegroep en alle resources die deze bevat te verwijderen.

az group delete \
    --name test-rg \
    --yes

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.