Udostępnij za pośrednictwem


Łączenie sieci wirtualnych za pomocą komunikacji równorzędnej sieci wirtualnych przy użyciu interfejsu wiersza polecenia platformy Azure

Sieci wirtualne możesz łączyć ze sobą za pomocą komunikacji równorzędnej sieci wirtualnych. Po połączeniu sieci wirtualnych za pomocą komunikacji równorzędnej zasoby w obu sieciach wirtualnych mogą komunikować się ze sobą przy takim samym opóźnieniu i z taką samą przepustowością, jakby zasoby były w tej samej sieci wirtualnej.

W tym artykule omówiono sposób wykonywania następujących zadań:

  • Tworzenie dwóch sieci wirtualnych

  • Łączenie dwóch sieci wirtualnych za pomocą komunikacji równorzędnej sieci wirtualnych

  • Wdrażanie maszyny wirtualnej w każdej sieci wirtualnej

  • Nawiązywanie komunikacji między maszynami wirtualnymi

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.

Wymagania wstępne

  • Ten artykuł wymaga wersji 2.0.28 lub nowszej interfejsu wiersza polecenia platformy Azure. W przypadku korzystania z usługi Azure Cloud Shell najnowsza wersja jest już zainstalowana.

Tworzenie sieci wirtualnych

Przed utworzeniem sieci wirtualnej należy utworzyć grupę zasobów dla sieci wirtualnej i wszystkie inne zasoby utworzone w tym artykule. Utwórz grupę zasobów za pomocą polecenia az group create. Poniższy przykład tworzy grupę zasobów o nazwie test-rg w lokalizacji eastus .

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

Utwórz sieć wirtualną za pomocą polecenia az network vnet create. Poniższy przykład tworzy sieć wirtualną o nazwie vnet-1 z prefiksem adresu 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

Utwórz sieć wirtualną o nazwie vnet-2 z prefiksem adresu 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

Tworzenie komunikacji równorzędnej sieci wirtualnych

Komunikacja równorzędna jest ustanawiana między identyfikatorami sieci wirtualnych. Uzyskaj identyfikator każdej sieci wirtualnej za pomocą polecenia az network vnet show i zapisz identyfikator w zmiennej.

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

Utwórz komunikację równorzędną z sieci vnet-1 do vnet-2 za pomocą polecenia az network vnet peering create. --allow-vnet-access Jeśli parametr nie zostanie określony, zostanie nawiązana komunikacja równorzędna, ale żadna komunikacja nie może przez nią przepływać.

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

W danych wyjściowych zwróconych po wykonaniu poprzedniego polecenia zobaczysz, że element peeringState jest inicjowany. Komunikacja równorzędna pozostaje w stanie Zainicjowane do momentu utworzenia komunikacji równorzędnej z sieci vnet-2 do sieci wirtualnej-1. Utwórz komunikację równorzędną z sieci wirtualnej vnet-2 do sieci 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

W danych wyjściowych zwróconych po wykonaniu poprzedniego polecenia zobaczysz, że element peeringState ma wartość Connected( Połączono). Platforma Azure zmieniła również stan komunikacji równorzędnej sieci wirtualnej vnet-1-to-vnet-2 na połączoną. Upewnij się, że stan komunikacji równorzędnej dla komunikacji równorzędnej vnet-1-to-vnet-2 został zmieniony na Połączono z 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

Zasoby w jednej sieci wirtualnej nie mogą komunikować się z zasobami w drugiej sieci wirtualnej, dopóki komunikacja równorzędnaState dla komunikacji równorzędnej w obu sieciach wirtualnych jest połączona.

Tworzenie maszyn wirtualnych

Utwórz maszynę wirtualną w każdej sieci wirtualnej, dzięki czemu będzie można komunikować się między nimi w kolejnym kroku.

Tworzenie pierwszej maszyny wirtualnej

Utwórz maszynę wirtualną za pomocą polecenia az vm create. Poniższy przykład tworzy maszynę wirtualną o nazwie vm-1 w sieci wirtualnej vnet-1 . Jeśli klucze SSH nie istnieją jeszcze w domyślnej lokalizacji kluczy, to polecenie je utworzy. Aby użyć określonego zestawu kluczy, użyj opcji --ssh-key-value. Opcja --no-wait tworzy maszynę wirtualną w tle, aby móc przejść do następnego kroku.

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

Tworzenie drugiej maszyny wirtualnej

Utwórz maszynę wirtualną w sieci wirtualnej vnet-2 .

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

W ciągu kilku minut zostanie utworzona maszyna wirtualna. Po utworzeniu maszyny wirtualnej interfejs wiersza polecenia platformy Azure wyświetla informacje podobne do następującego przykładu:

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

Zanotuj wartość adresu publicIpAddress. Ten adres jest używany do uzyskiwania dostępu do maszyny wirtualnej z Internetu w późniejszym kroku.

Uwaga

Platforma Azure udostępnia domyślny adres IP dostępu wychodzącego dla maszyn wirtualnych, które nie są przypisane do publicznego adresu IP lub znajdują się w puli zaplecza wewnętrznego podstawowego modułu równoważenia obciążenia platformy Azure. Domyślny mechanizm adresów IP dostępu wychodzącego zapewnia wychodzący adres IP, który nie jest konfigurowalny.

Domyślny adres IP dostępu wychodzącego jest wyłączony, gdy wystąpi jedno z następujących zdarzeń:

  • Publiczny adres IP jest przypisywany do maszyny wirtualnej.
  • Maszyna wirtualna jest umieszczana w puli zaplecza standardowego modułu równoważenia obciążenia z regułami ruchu wychodzącego lub bez tych reguł.
  • Zasób usługi Azure NAT Gateway jest przypisywany do podsieci maszyny wirtualnej.

Maszyny wirtualne tworzone przy użyciu zestawów skalowania maszyn wirtualnych w trybie elastycznej aranżacji nie mają domyślnego dostępu wychodzącego.

Aby uzyskać więcej informacji na temat połączeń wychodzących na platformie Azure, zobacz Domyślny dostęp wychodzący na platformie Azure i Używanie źródłowego tłumaczenia adresów sieciowych (SNAT) dla połączeń wychodzących.

Nawiązywanie komunikacji między maszynami wirtualnymi

Użyj następującego polecenia, aby utworzyć sesję SSH z maszyną wirtualną vm-2 . Zastąp <publicIpAddress> ciąg publicznym adresem IP maszyny wirtualnej. W poprzednim przykładzie publiczny adres IP to 13.90.242.231.

ssh <publicIpAddress>

Wyślij polecenie ping do maszyny wirtualnej w sieci wirtualnej-1.

ping 10.0.0.4 -c 4

Otrzymasz cztery odpowiedzi.

Zamknij sesję SSH z maszyną wirtualną vm-2 .

Czyszczenie zasobów

Gdy grupa zasobów nie jest już potrzebna, użyj polecenia az group delete , aby usunąć grupę zasobów i wszystkie zawarte w niej zasoby.

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

Następne kroki

W tym artykule przedstawiono sposób łączenia dwóch sieci w tym samym regionie świadczenia usługi Azure za pomocą komunikacji równorzędnej sieci wirtualnych. Możesz też nawiązać komunikację równorzędną między sieciami wirtualnymi w różnych obsługiwanych regionach i w różnych subskrypcjach platformy Azure, a także utworzyć projekty sieci w topologii gwiazdy z komunikacją równorzędną. Aby dowiedzieć się więcej na temat komunikacji równorzędnej sieci wirtualnych, zobacz Virtual network peering overview (Omówienie komunikacji równorzędnej sieci wirtualnych) i Manage virtual network peerings (Zarządzanie komunikacją równorzędną sieci wirtualnych).

Możesz połączyć własny komputer z siecią wirtualną za pośrednictwem sieci VPN i wchodzić w interakcje z zasobami w sieci wirtualnej lub w równorzędnych sieciach wirtualnych. Aby użyć skryptów wielokrotnego użytku w celu wykonania wielu zadań opisanych w artykułach dotyczących sieci wirtualnej, zobacz przykłady skryptów.