Herstellen von Verbindungen zwischen virtuellen Netzwerken durch Peerings für virtuelle Netzwerke mit der Azure CLI

Sie können durch Peering virtueller Netzwerke Verbindungen zwischen virtuellen Netzwerken herstellen. Sobald ein Peering zwischen virtuellen Netzwerken eingerichtet wurde, können Ressourcen in beiden virtuellen Netzwerken untereinander mit der gleichen Latenz und Bandbreite kommunizieren, als befänden sie sich im selben virtuellen Netzwerk.

In diesem Artikel werden folgende Vorgehensweisen behandelt:

  • Erstellen zweier virtueller Netzwerke

  • Herstellen einer Verbindung zwischen zwei virtuellen Netzwerken mit einem Peering virtueller Netzwerke

  • Bereitstellen eines virtuellen Computers (VM) in jedem virtuellen Netzwerk

  • Kommunikation zwischen VMs

Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Azure-Konto, bevor Sie beginnen.

Voraussetzungen

  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.

  • Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.

    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.

    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.

  • Für diesen Artikel ist mindestens Version 2.0.28 der Azure CLI erforderlich. Bei Verwendung von Azure Cloud Shell ist die aktuelle Version bereits installiert.

Erstellen virtueller Netzwerke

Vor der Erstellung eines virtuellen Netzwerks müssen Sie eine Ressourcengruppe für das virtuelle Netzwerk und alle anderen in diesem Artikel erstellten Ressourcen erstellen. Erstellen Sie mit az group create eine Ressourcengruppe. Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen test-rg am Standort eastus erstellt.

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

Erstellen Sie mit az network vnet create ein virtuelles Netzwerk: Im folgenden Beispiel wird ein virtuelles Netzwerk namens vnet-1 mit dem Adresspräfix 10.0.0.0/16 erstellt.

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

Erstellen Sie ein virtuelles Netzwerk namens vnet-2 mit dem Adresspräfix 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

Einrichten eines Peerings von virtuellen Netzwerken

Peerings werden zwischen virtuellen Netzwerk-IDs eingerichtet. Rufen Sie die ID jedes virtuellen Netzwerks mit az network vnet show ab, und speichern Sie die ID in einer Variable.

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

Erstellen Sie mit az network vnet peering create ein Peering von vnet-1 zu vnet-2. Wenn der --allow-vnet-access-Parameter nicht angegeben ist, wird zwar ein Peering eingerichtet, es ist jedoch keine Kommunikation darüber möglich.

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 der Ausgabe, die nach der Ausführung des vorherigen Befehl zurückgegeben wird, können Sie sehen, dass peeringState auf Initiiert steht. Das Peering verbleibt im Zustand Initiiert, bis Sie das Peering von vnet-2 zu vnet-1 erstellen. Erstellen Sie ein Peering von vnet-2 zu 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 der Ausgabe, die nach der Ausführung des vorherigen Befehl zurückgegeben wird, können Sie sehen, dass peeringState auf Verbunden steht. Azure hat auch den Peeringstatus des Peerings vnet-1-to-vnet-2 in Verbunden geändert. Überprüfen Sie mit az network vnet peering show, ob der Peeringstatus für das Peering vnet-1-to-vnet-2 in Verbunden geändert wurde.

az network vnet peering show \
  --name vnet-1-to-vnet-2 \
  --resource-group test-rg \
  --vnet-name vnet-1 \
  --query peeringState

Ressourcen in einem virtuellen Netzwerk können erst dann mit Ressourcen im anderen virtuellen Netzwerk kommunizieren, wenn der peeringState für die Peerings in beiden virtuellen Netzwerken Verbunden lautet.

Erstellen von virtuellen Computern

Erstellen Sie eine VM in jedem virtuellen Netzwerk, damit in einem späteren Schritt die Kommunikation untereinander möglich ist.

Erstellen des ersten virtuellen Computers

Erstellen Sie mit az vm create einen virtuellen Computer. Im folgenden Beispiel wird eine VM namens vm-1 im virtuellen Netzwerk vnet-1 erstellt. Wenn SSH-Schlüssel nicht bereits an einem Standardschlüsselspeicherort vorhanden sind, werden sie durch den Befehl erstellt. Um einen bestimmten Satz von Schlüsseln zu verwenden, nutzen Sie die Option --ssh-key-value. Mit der Option --no-wait wird der virtuelle Computer im Hintergrund erstellt, sodass Sie mit dem nächsten Schritt fortfahren können.

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

Erstellen des zweiten virtuellen Computers

Erstellen Sie eine VM im virtuellen Netzwerk vnet-2.

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

Die Erstellung des virtuellen Computers dauert einige Minuten. Nach dem Erstellen der VM zeigt die Azure CLI ähnliche Informationen wie im folgenden Beispiel an:

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

Notieren Sie sich publicIpAddress. Über diese Adresse wird in einem späteren Schritt über das Internet auf den virtuellen Computer zugegriffen.

Hinweis

Azure stellt eine ausgehende Standardzugriffs-IP für VMs bereit, denen keine öffentliche IP-Adresse zugewiesen ist oder die sich im Backendpool eines internen grundlegenden Azure-Lastenausgleichs befinden. Der Mechanismus für Standard-IP-Adressen für den ausgehenden Zugriff stellt eine ausgehende IP-Adresse bereit, die nicht konfigurierbar ist.

Die Standard-IP-Adresse für ausgehenden Zugriff ist deaktiviert, wenn eines der folgenden Ereignisse auftritt:

  • Dem virtuellen Computer wird eine öffentliche IP-Adresse zugewiesen.
  • Die VM wird im Backendpool eines Standardlastenausgleichs platziert (mit oder ohne Ausgangsregeln).
  • Dem Subnetz der VM wird eine Azure NAT Gateway-Ressource zugewiesen.

VMs, die Sie mithilfe von VM-Skalierungsgruppen im Orchestrierungsmodus „Flexibel“ erstellen, haben keinen ausgehenden Standardzugriff.

Weitere Informationen zu ausgehenden Verbindungen in Azure finden Sie unter Standardzugriff in ausgehender Richtung in Azure und Verwenden von SNAT (Source Network Address Translation) für ausgehende Verbindungen.

Kommunikation zwischen VMs

Erstellen Sie mit dem folgenden Befehl eine SSH-Sitzung mit der VM vm-2. Ersetzen Sie <publicIpAddress> durch die öffentliche IP-Adresse der VM. Im vorherigen Beispiel lautet die öffentliche IP-Adresse 13.90.242.231.

ssh <publicIpAddress>

Pingen Sie die VM in vnet-1.

ping 10.0.0.4 -c 4

Sie erhalten vier Antworten.

Schließen Sie die SSH-Sitzung mit der VM vm-2.

Bereinigen von Ressourcen

Wenn die Ressourcengruppe und alle enthaltenen Ressourcen nicht mehr benötigt werden, können Sie sie mit az group delete entfernen.

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

Nächste Schritte

In diesem Artikel haben Sie erfahren, wie zwei Netzwerke in derselben Azure-Region durch das Peering virtueller Netzwerke verbunden werden. Sie können auch virtuelle Netzwerke in unterschiedlichen unterstützten Regionen und verschiedenen Azure-Abonnements durch Peering verbinden und Netzwerke vom Typ „Nabe und Speiche“ mit Peering erstellen. Weitere Informationen zum Peering in virtuellen Netzwerken finden Sie unter Peering in virtuellen Netzwerken und Erstellen, Ändern oder Löschen eines Peerings virtueller Netzwerke.

Sie können über ein VPN eine Verbindung zwischen Ihrem eigenen Computer und einem virtuellen Netzwerk herstellen und mit Ressourcen in einem virtuellen Netzwerk oder in durch Peering verbundenen virtuellen Netzwerken interagieren. Wiederverwendbare Skripts, um viele der in den Artikeln zu virtuellen Netzwerken behandelten Aufgaben durchzuführen, finden Sie unter Azure CLI-Beispiele für Linux-VMs.