Wdrażanie aplikacji podwójnego stosu IPv6 w sieci wirtualnej platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure
W tym artykule pokazano, jak wdrożyć aplikację z podwójnym stosem (IPv4 + IPv6) przy użyciu usługa Load Balancer w warstwie Standardowa na platformie Azure, która obejmuje sieć wirtualną z podwójnym stosem z podsiecią podwójnego stosu, usługa Load Balancer w warstwie Standardowa z podwójnymi konfiguracjami frontonu (IPv4 + IPv6), maszyny wirtualne z kartami sieciowymi z konfiguracją dwóch adresów IP, regułami podwójnej grupy zabezpieczeń sieci i podwójnymi publicznymi adresami IP.
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
Wymagania wstępne
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
- Ten artykuł wymaga wersji 2.0.49 lub nowszej interfejsu wiersza polecenia platformy Azure. W przypadku korzystania z usługi Azure Cloud Shell najnowsza wersja jest już zainstalowana.
Tworzenie grupy zasobów
Przed utworzeniem sieci wirtualnej z podwójnym stosem należy utworzyć grupę zasobów za pomocą polecenia az group create. Poniższy przykład tworzy grupę zasobów o nazwie DsResourceGroup01 w lokalizacji eastus :
az group create \
--name DsResourceGroup01 \
--location eastus
Tworzenie publicznych adresów IP protokołu IPv4 i IPv6 dla modułu równoważenia obciążenia
Aby uzyskać dostęp do punktów końcowych IPv4 i IPv6 w Internecie, potrzebne są publiczne adresy IP protokołu IPv4 i IPv6 dla modułu równoważenia obciążenia. Utwórz publiczny adres IP za pomocą polecenia az network public-ip create. Poniższy przykład tworzy publiczny adres IP IPv4 i IPv6 o nazwie dsPublicIP_v4 i dsPublicIP_v6 w grupie zasobów DsResourceGroup01 :
# Create an IPV4 IP address
az network public-ip create \
--name dsPublicIP_v4 \
--resource-group DsResourceGroup01 \
--location eastus \
--sku STANDARD \
--allocation-method static \
--version IPv4
# Create an IPV6 IP address
az network public-ip create \
--name dsPublicIP_v6 \
--resource-group DsResourceGroup01 \
--location eastus \
--sku STANDARD \
--allocation-method static \
--version IPv6
Tworzenie publicznych adresów IP dla maszyn wirtualnych
Aby zdalnie uzyskać dostęp do maszyn wirtualnych w Internecie, potrzebne są publiczne adresy IP protokołu IPv4 dla maszyn wirtualnych. Utwórz publiczny adres IP za pomocą polecenia az network public-ip create.
az network public-ip create \
--name dsVM0_remote_access \
--resource-group DsResourceGroup01 \
--location eastus \
--sku Standard \
--allocation-method static \
--version IPv4
az network public-ip create \
--name dsVM1_remote_access \
--resource-group DsResourceGroup01 \
--location eastus \
--sku Standard \
--allocation-method static \
--version IPv4
Tworzenie usługi Load Balancer w warstwie Standardowa
W tej sekcji skonfigurujesz podwójny adres IP frontonu (IPv4 i IPv6) oraz pulę adresów zaplecza dla modułu równoważenia obciążenia, a następnie utworzysz usługa Load Balancer w warstwie Standardowa.
Tworzenie modułu równoważenia obciążenia
Utwórz usługa Load Balancer w warstwie Standardowa za pomocą polecenia az network lb create o nazwie dsLB zawierającej pulę frontonu o nazwie dsLbFrontEnd_v4, pulę zaplecza o nazwie dsLbBackEndPool_v4 skojarzoną z publicznym adresem IP IPv4 dsPublicIP_v4 utworzonym w poprzednim kroku.
az network lb create \
--name dsLB \
--resource-group DsResourceGroup01 \
--sku Standard \
--location eastus \
--frontend-ip-name dsLbFrontEnd_v4 \
--public-ip-address dsPublicIP_v4 \
--backend-pool-name dsLbBackEndPool_v4
Tworzenie frontonu IPv6
Utwórz adres IP frontonu IPV6 za pomocą polecenia az network lb frontend-ip create. Poniższy przykład tworzy konfigurację adresu IP frontonu o nazwie dsLbFrontEnd_v6 i dołącza adres dsPublicIP_v6:
az network lb frontend-ip create \
--lb-name dsLB \
--name dsLbFrontEnd_v6 \
--resource-group DsResourceGroup01 \
--public-ip-address dsPublicIP_v6
Konfigurowanie puli adresów zaplecza IPv6
Utwórz pule adresów zaplecza IPv6 za pomocą polecenia az network lb address-pool create. Poniższy przykład obejmuje tworzenie puli adresów zaplecza o nazwie dsLbBackEndPool_v6 w celu uwzględnienia maszyn wirtualnych z konfiguracjami kart interfejsu sieciowego IPv6:
az network lb address-pool create \
--lb-name dsLB \
--name dsLbBackEndPool_v6 \
--resource-group DsResourceGroup01
Tworzenie sondy kondycji
Utwórz sondę kondycji za pomocą polecenia az network lb probe create w celu monitorowania kondycji maszyn wirtualnych.
az network lb probe create -g DsResourceGroup01 --lb-name dsLB -n dsProbe --protocol tcp --port 3389
Tworzenie reguły modułu równoważenia obciążenia
Reguła modułu równoważenia obciążenia służy do definiowania sposobu dystrybucji ruchu do maszyn wirtualnych. Zdefiniuj konfigurację adresu IP frontonu na potrzeby ruchu przychodzącego oraz pulę adresów IP zaplecza do odbierania ruchu, wraz z wymaganym portem źródłowym i docelowym.
Utwórz regułę modułu równoważenia obciążenia za pomocą polecenia az network lb rule create. Poniższy przykład tworzy reguły modułu równoważenia obciążenia o nazwie dsLBrule_v4 i dsLBrule_v6 oraz równoważy ruch na porcie TCP 80 do konfiguracji adresów IP frontonu IPv4 i IPv6:
az network lb rule create \
--lb-name dsLB \
--name dsLBrule_v4 \
--resource-group DsResourceGroup01 \
--frontend-ip-name dsLbFrontEnd_v4 \
--protocol Tcp \
--frontend-port 80 \
--backend-port 80 \
--probe-name dsProbe \
--backend-pool-name dsLbBackEndPool_v4
az network lb rule create \
--lb-name dsLB \
--name dsLBrule_v6 \
--resource-group DsResourceGroup01 \
--frontend-ip-name dsLbFrontEnd_v6 \
--protocol Tcp \
--frontend-port 80 \
--backend-port 80 \
--probe-name dsProbe \
--backend-pool-name dsLbBackEndPool_v6
Tworzenie zasobów sieciowych
Przed wdrożeniem niektórych maszyn wirtualnych należy utworzyć pomocnicze zasoby sieciowe — zestaw dostępności, sieciową grupę zabezpieczeń, sieć wirtualną i wirtualne karty sieciowe.
Tworzenie zestawu dostępności
Aby zwiększyć dostępność aplikacji, umieść maszyny wirtualne w zestawie dostępności.
Aby utworzyć zestaw dostępności, użyj polecenia az vm availability-set create. Poniższy przykład tworzy zestaw dostępności o nazwie dsAVset:
az vm availability-set create \
--name dsAVset \
--resource-group DsResourceGroup01 \
--location eastus \
--platform-fault-domain-count 2 \
--platform-update-domain-count 2
Tworzenie sieciowej grupy zabezpieczeń
Utwórz sieciową grupę zabezpieczeń dla reguł, które zarządzają komunikacją przychodzącą i wychodzącą w sieci wirtualnej.
Tworzenie sieciowej grupy zabezpieczeń
Tworzenie sieciowej grupy zabezpieczeń za pomocą polecenia az network nsg create
az network nsg create \
--name dsNSG1 \
--resource-group DsResourceGroup01 \
--location eastus
Tworzenie reguły sieciowej grupy zabezpieczeń dla połączeń przychodzących i wychodzących
Utwórz regułę sieciowej grupy zabezpieczeń, aby zezwolić na połączenia RDP za pośrednictwem portu 3389, połączenia internetowego za pośrednictwem portu 80 i dla połączeń wychodzących za pomocą polecenia az network nsg rule create.
# Create inbound rule for port 3389
az network nsg rule create \
--name allowRdpIn \
--nsg-name dsNSG1 \
--resource-group DsResourceGroup01 \
--priority 100 \
--description "Allow Remote Desktop In" \
--access Allow \
--protocol "*" \
--direction Inbound \
--source-address-prefixes "*" \
--source-port-ranges "*" \
--destination-address-prefixes "*" \
--destination-port-ranges 3389
# Create inbound rule for port 80
az network nsg rule create \
--name allowHTTPIn \
--nsg-name dsNSG1 \
--resource-group DsResourceGroup01 \
--priority 200 \
--description "Allow HTTP In" \
--access Allow \
--protocol "*" \
--direction Inbound \
--source-address-prefixes "*" \
--source-port-ranges 80 \
--destination-address-prefixes "*" \
--destination-port-ranges 80
# Create outbound rule
az network nsg rule create \
--name allowAllOut \
--nsg-name dsNSG1 \
--resource-group DsResourceGroup01 \
--priority 300 \
--description "Allow All Out" \
--access Allow \
--protocol "*" \
--direction Outbound \
--source-address-prefixes "*" \
--source-port-ranges "*" \
--destination-address-prefixes "*" \
--destination-port-ranges "*"
Tworzenie sieci wirtualnej
Utwórz sieć wirtualną za pomocą polecenia az network vnet create. Poniższy przykład tworzy sieć wirtualną o nazwie dsVNET z podsieciami dsSubNET_v4 i dsSubNET_v6:
# Create the virtual network
az network vnet create \
--name dsVNET \
--resource-group DsResourceGroup01 \
--location eastus \
--address-prefixes "10.0.0.0/16" "fd00:db8:deca::/48"
# Create a single dual stack subnet
az network vnet subnet create \
--name dsSubNET \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--address-prefixes "10.0.0.0/24" "fd00:db8:deca:deed::/64" \
--network-security-group dsNSG1
Tworzenie kart sieciowych
Utwórz wirtualne karty sieciowe dla każdej maszyny wirtualnej za pomocą polecenia az network nic create. Poniższy przykład tworzy wirtualną kartę sieciową dla każdej maszyny wirtualnej. Każda karta sieciowa ma dwie konfiguracje adresów IP (1 konfiguracja IPv4, 1 konfiguracja IPv6). Konfiguracja protokołu IPV6 jest tworzona za pomocą polecenia az network nic ip-config create.
# Create NICs
az network nic create \
--name dsNIC0 \
--resource-group DsResourceGroup01 \
--network-security-group dsNSG1 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv4 \
--lb-address-pools dsLbBackEndPool_v4 \
--lb-name dsLB \
--public-ip-address dsVM0_remote_access
az network nic create \
--name dsNIC1 \
--resource-group DsResourceGroup01 \
--network-security-group dsNSG1 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv4 \
--lb-address-pools dsLbBackEndPool_v4 \
--lb-name dsLB \
--public-ip-address dsVM1_remote_access
# Create IPV6 configurations for each NIC
az network nic ip-config create \
--name dsIp6Config_NIC0 \
--nic-name dsNIC0 \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name dsLB
az network nic ip-config create \
--name dsIp6Config_NIC1 \
--nic-name dsNIC1 \
--resource-group DsResourceGroup01 \
--vnet-name dsVNET \
--subnet dsSubNet \
--private-ip-address-version IPv6 \
--lb-address-pools dsLbBackEndPool_v6 \
--lb-name dsLB
Tworzenie maszyn wirtualnych
Utwórz maszyny wirtualne za pomocą polecenia az vm create. Poniższy przykład tworzy dwie maszyny wirtualne i wymagane składniki sieci wirtualnej, jeśli jeszcze nie istnieją.
Utwórz maszynę wirtualną dsVM0 w następujący sposób:
az vm create \
--name dsVM0 \
--resource-group DsResourceGroup01 \
--nics dsNIC0 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest
Utwórz maszynę wirtualną dsVM1 w następujący sposób:
az vm create \
--name dsVM1 \
--resource-group DsResourceGroup01 \
--nics dsNIC1 \
--size Standard_A2 \
--availability-set dsAVset \
--image MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest
Wyświetlanie sieci wirtualnej podwójnego stosu IPv6 w witrynie Azure Portal
Sieć wirtualną podwójnego stosu IPv6 można wyświetlić w witrynie Azure Portal w następujący sposób:
- Na pasku wyszukiwania portalu wprowadź ciąg dsVnet.
- Gdy pozycja myVirtualNetwork pojawi się w wynikach wyszukiwania, wybierz ją. Spowoduje to uruchomienie strony Przegląd sieci wirtualnej z podwójnym stosem o nazwie dsVnet. Sieć wirtualna z podwójnym stosem pokazuje dwie karty sieciowe z konfiguracjami IPv4 i IPv6 znajdującymi się w podsieci podwójnej stosu o nazwie dsSubnet.
Czyszczenie zasobów
Gdy grupa zasobów, maszyna wirtualna i wszystkie pokrewne zasoby nie będą już potrzebne, można je usunąć za pomocą polecenia az group delete.
az group delete --name DsResourceGroup01
Następne kroki
W tym artykule utworzono usługa Load Balancer w warstwie Standardowa z konfiguracją podwójnego adresu IP frontonu (IPv4 i IPv6). Utworzono również dwie maszyny wirtualne, które zawierały karty sieciowe z dwiema konfiguracjami adresów IP (IPV4 + IPv6), które zostały dodane do puli zaplecza modułu równoważenia obciążenia. Aby dowiedzieć się więcej o obsłudze protokołu IPv6 w sieciach wirtualnych platformy Azure, zobacz Co to jest protokół IPv6 dla usługi Azure Virtual Network?