Dodawanie aplikacji IPv4 do protokołu IPv6 w sieci wirtualnej platformy Azure przy użyciu programu PowerShell
W tym artykule pokazano, jak dodać łączność IPv6 z istniejącą aplikacją IPv4 w sieci wirtualnej platformy Azure przy użyciu usługa Load Balancer w warstwie Standardowa i publicznego adresu IP. Uaktualnienie w miejscu obejmuje:
- Przestrzeń adresowa IPv6 dla sieci wirtualnej i podsieci
- usługa Load Balancer w warstwie Standardowa z konfiguracjami frontonu IPv4 i IPV6
- Maszyny wirtualne z kartami sieciowymi, które mają konfigurację IPv4 i IPv6
- Publiczny adres IP IPv6, dzięki czemu moduł równoważenia obciążenia ma łączność IPv6 z Internetem
Azure Cloud Shell
Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.
Aby uruchomić środowisko Azure Cloud Shell:
Opcja | Przykład/link |
---|---|
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. | |
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. | |
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. |
Aby użyć usługi Azure Cloud Shell:
Uruchom usługę Cloud Shell.
Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.
Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając Ctrl+Shift V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift++V w systemie macOS.
Wybierz Enter, aby uruchomić kod lub polecenie.
Jeśli zdecydujesz się zainstalować program PowerShell i korzystać z niego lokalnie, ten artykuł wymaga modułu Azure PowerShell w wersji 6.9.0 lub nowszej. Uruchom polecenie Get-Module -ListAvailable Az
, aby dowiedzieć się, jaka wersja jest zainstalowana. Jeśli konieczne będzie uaktualnienie, zobacz Instalowanie modułu Azure PowerShell. Jeśli używasz programu PowerShell lokalnie, musisz też uruchomić polecenie Connect-AzAccount
, aby utworzyć połączenie z platformą Azure.
Wymagania wstępne
W tym artykule założono, że wdrożono usługa Load Balancer w warstwie Standardowa zgodnie z opisem w przewodniku Szybki start: Tworzenie usługa Load Balancer w warstwie Standardowa — Azure PowerShell.
Pobieranie grupy zasobów
Przed utworzeniem sieci wirtualnej z podwójnym stosem należy pobrać grupę zasobów za pomocą polecenia Get-AzResourceGroup.
$rg = Get-AzResourceGroup -ResourceGroupName "myResourceGroupSLB"
Tworzenie adresów IP IPv6
Utwórz publiczny adres IPv6 przy użyciu polecenia New-AzPublicIpAddress dla usługa Load Balancer w warstwie Standardowa. Poniższy przykład tworzy publiczny adres IP IPv6 o nazwie PublicIP_v6 w grupie zasobów myResourceGroupSLB :
$PublicIP_v6 = New-AzPublicIpAddress `
-Name "PublicIP_v6" `
-ResourceGroupName $rg.ResourceGroupName `
-Location $rg.Location `
-Sku Standard `
-AllocationMethod Static `
-IpAddressVersion IPv6
Konfigurowanie frontonu modułu równoważenia obciążenia
Pobierz istniejącą konfigurację modułu równoważenia obciążenia, a następnie dodaj nowy adres IP IPv6 przy użyciu polecenia Add-AzLoadBalancerFrontendIpConfig w następujący sposób:
# Retrieve the load balancer configuration
$lb = Get-AzLoadBalancer -ResourceGroupName $rg.ResourceGroupName -Name "MyLoadBalancer"
# Add IPv6 components to the local copy of the load balancer configuration
$lb | Add-AzLoadBalancerFrontendIpConfig `
-Name "dsLbFrontEnd_v6" `
-PublicIpAddress $PublicIP_v6
#Update the running load balancer with the new frontend
$lb | Set-AzLoadBalancer
Konfigurowanie puli zaplecza modułu równoważenia obciążenia
Utwórz pulę zaplecza na lokalnej kopii konfiguracji modułu równoważenia obciążenia i zaktualizuj uruchomiony moduł równoważenia obciążenia przy użyciu nowej konfiguracji puli zaplecza w następujący sposób:
$lb | Add-AzLoadBalancerBackendAddressPoolConfig -Name "LbBackEndPool_v6"
# Update the running load balancer with the new backend pool
$lb | Set-AzLoadBalancer
Konfigurowanie reguł modułu równoważenia obciążenia
Pobierz istniejącą konfigurację frontonu modułu równoważenia obciążenia i puli zaplecza, a następnie dodaj nowe reguły równoważenia obciążenia przy użyciu polecenia Add-AzLoadBalancerRuleConfig.
# Retrieve the updated (live) versions of the frontend and backend pool
$frontendIPv6 = Get-AzLoadBalancerFrontendIpConfig -Name "dsLbFrontEnd_v6" -LoadBalancer $lb
$backendPoolv6 = Get-AzLoadBalancerBackendAddressPoolConfig -Name "LbBackEndPool_v6" -LoadBalancer $lb
# Create new LB rule with the frontend and backend
$lb | Add-AzLoadBalancerRuleConfig `
-Name "dsLBrule_v6" `
-FrontendIpConfiguration $frontendIPv6 `
-BackendAddressPool $backendPoolv6 `
-Protocol Tcp `
-FrontendPort 80 `
-BackendPort 80
#Finalize all the load balancer updates on the running load balancer
$lb | Set-AzLoadBalancer
Dodawanie zakresów adresów IPv6
Dodaj zakresy adresów IPv6 do sieci wirtualnej i podsieci obsługującej maszyny wirtualne w następujący sposób:
#Add IPv6 ranges to the VNET and subnet
#Retreive the VNET object
$vnet = Get-AzVirtualNetwork -ResourceGroupName $rg.ResourceGroupName -Name "myVnet"
#Add IPv6 prefix to the VNET
$vnet.addressspace.addressprefixes.add("fd00:db8:deca::/48")
#Update the running VNET
$vnet | Set-AzVirtualNetwork
#Retrieve the subnet object from the local copy of the VNET
$subnet= $vnet.subnets[0]
#Add IPv6 prefix to the Subnet (subnet of the VNET prefix, of course)
$subnet.addressprefix.add("fd00:db8:deca::/64")
#Update the running VNET with the new subnet configuration
$vnet | Set-AzVirtualNetwork
Dodawanie konfiguracji protokołu IPv6 do karty sieciowej
Skonfiguruj wszystkie karty sieciowe maszyny wirtualnej przy użyciu adresu IPv6 przy użyciu polecenia Add-AzNetworkInterfaceIpConfig w następujący sposób:
#Retrieve the NIC objects
$NIC_1 = Get-AzNetworkInterface -Name "myNic1" -ResourceGroupName $rg.ResourceGroupName
$NIC_2 = Get-AzNetworkInterface -Name "myNic2" -ResourceGroupName $rg.ResourceGroupName
$NIC_3 = Get-AzNetworkInterface -Name "myNic3" -ResourceGroupName $rg.ResourceGroupName
#Add an IPv6 IPconfig to NIC_1 and update the NIC on the running VM
$NIC_1 | Add-AzNetworkInterfaceIpConfig -Name MyIPv6Config -Subnet $vnet.Subnets[0] -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6
$NIC_1 | Set-AzNetworkInterface
#Add an IPv6 IPconfig to NIC_2 and update the NIC on the running VM
$NIC_2 | Add-AzNetworkInterfaceIpConfig -Name MyIPv6Config -Subnet $vnet.Subnets[0] -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6
$NIC_2 | Set-AzNetworkInterface
#Add an IPv6 IPconfig to NIC_3 and update the NIC on the running VM
$NIC_3 | Add-AzNetworkInterfaceIpConfig -Name MyIPv6Config -Subnet $vnet.Subnets[0] -PrivateIpAddressVersion IPv6 -LoadBalancerBackendAddressPool $backendPoolv6
$NIC_3 | Set-AzNetworkInterface
Wyświetlanie sieci wirtualnej z podwójnym stosem IPv6 w witrynie Azure Portal
Sieć wirtualną IPv6 z podwójnym stosem można wyświetlić w witrynie Azure Portal w następujący sposób:
Na pasku wyszukiwania portalu wprowadź sieci wirtualne i
W oknie Sieci wirtualne wybierz pozycję myVNet.
Wybierz pozycję Połączone urządzenia w obszarze Ustawienia , aby wyświetlić dołączone interfejsy sieciowe. Sieć wirtualna z podwójnym stosem przedstawia trzy karty sieciowe z konfiguracjami IPv4 i IPv6.
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 Remove-AzResourceGroup.
Remove-AzResourceGroup -Name MyAzureResourceGroupSLB
Następne kroki
W tym artykule zaktualizowano istniejącą usługa Load Balancer w warstwie Standardowa przy użyciu konfiguracji adresu IP frontonu IPv4 do konfiguracji podwójnego stosu (IPv4 i IPv6). Dodano również konfiguracje IPv6 do kart sieciowych maszyn wirtualnych w puli zaplecza i do sieci wirtualnej, która je hostuje. 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?