Udostępnij za pośrednictwem


Konfigurowanie usługi Application Gateway przy użyciu publicznego adresu IPv6 frontonu przy użyciu programu Azure PowerShell

usługa aplikacja systemu Azure Gateway obsługuje połączenia frontonu z klientami z dwoma stosami (IPv4 i IPv6). Aby korzystać z łączności frontonu IPv6, należy utworzyć nową usługę Application Gateway. Obecnie nie można uaktualnić istniejących bram IPv4 tylko do usługi Application Gateway z podwójnym stosem (IPv4 i IPv6). Ponadto obecnie adresy IPv6 zaplecza nie są obsługiwane.

Aby obsługiwać obsługę frontonu IPv6, należy utworzyć sieć wirtualną z podwójnym stosem. Ta sieć wirtualna z podwójnym stosem ma podsieci zarówno dla protokołów IPv4, jak i IPv6. Sieci wirtualne platformy Azure zapewniają już możliwość podwójnego stosu.

Omówienie

Program Azure PowerShell służy do tworzenia bramy aplikacja systemu Azure IPv6. Testowanie jest wykonywane w celu sprawdzenia, czy działa poprawnie.

Dowiedz się, jak odbywa się:

  • Konfigurowanie sieci z dwoma stosami
  • Tworzenie bramy aplikacji przy użyciu frontonu IPv6
  • Tworzenie zestawu skalowania maszyn wirtualnych z domyślną pulą zaplecza

Program Azure PowerShell służy do tworzenia bramy aplikacja systemu Azure IPv6 i przeprowadzania testów w celu upewnienia się, że działa prawidłowo. Usługa Application Gateway może zarządzać i zabezpieczać ruch internetowy do serwerów, które są obsługiwane. Zestaw skalowania maszyn wirtualnych umożliwia serwerom zaplecza zarządzanie ruchem internetowym. Zestaw skalowania zawiera dwa wystąpienia maszyn wirtualnych, które są dodawane do domyślnej puli zaplecza bramy aplikacji. Aby uzyskać więcej informacji na temat składników bramy aplikacji, zobacz Składniki usługi Application Gateway.

Ten przewodnik Szybki start można również wykonać przy użyciu witryny Azure Portal.

Wymagania wstępne

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

Jeśli zdecydujesz się zainstalować program PowerShell i korzystać z niego lokalnie, ten artykuł wymaga modułu Azure PowerShell w wersji 1.0.0 lub nowszej. Aby dowiedzieć się, jaka wersja jest używana, uruchom polecenie Get-Module -ListAvailable Az. Jeśli konieczne będzie uaktualnienie, zobacz Instalowanie modułu Azure PowerShell. Jeśli używasz programu PowerShell lokalnie, musisz też uruchomić polecenie Login-AzAccount, aby utworzyć połączenie z platformą Azure.

Regiony i dostępność

Usługa IPv6 Application Gateway jest dostępna we wszystkich regionach chmury publicznej, w których jest obsługiwana jednostka SKU usługi Application Gateway w wersji 2. Jest ona również dostępna na platformie Microsoft Azure obsługiwanej przez firmę 21Vianet i Azure Government

Ograniczenia

  • Tylko jednostka SKU w wersji 2 obsługuje fronton z adresami IPv4 i IPv6
  • Zaplecza IPv6 nie są obecnie obsługiwane
  • Usługa IPv6 private Link nie jest obecnie obsługiwana
  • Usługa Application Gateway tylko dla protokołu IPv6 nie jest obecnie obsługiwana. Usługa Application Gateway musi mieć podwójny stos (IPv6 i IPv4)
  • Kontroler ruchu przychodzącego usługi Application Gateway (AGIC) nie obsługuje konfiguracji protokołu IPv6
  • Nie można uaktualnić istniejących bram aplikacji IPv4 do usługi Application Gateway z podwójnym stosem
  • Reguły niestandardowe zapory aplikacji internetowej z warunkiem dopasowania protokołu IPv6 nie są obecnie obsługiwane

Tworzenie grupy zasobów

Grupa zasobów to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi. Utwórz grupę zasobów platformy Azure przy użyciu polecenia New-AzResourceGroup.

New-AzResourceGroup -Name myResourceGroupAG -Location eastus

Konfigurowanie podsieci z dwoma stosami i podsieci zaplecza

Skonfiguruj podsieci o nazwach myBackendSubnet i myAGSubnet przy użyciu polecenia New-AzVirtualNetworkSubnetConfig.

$AppGwSubnetPrefix = @("10.0.0.0/24", "ace:cab:deca::/64")
$appgwSubnet = New-AzVirtualNetworkSubnetConfig `
-Name myAGSubnet -AddressPrefix $AppGwSubnetPrefix
$backendSubnet = New-AzVirtualNetworkSubnetConfig `
-Name myBackendSubnet -AddressPrefix  10.0.1.0/24

Tworzenie sieci wirtualnej z podwójnym stosem

$VnetPrefix = @("10.0.0.0/16", "ace:cab:deca::/48")
$vnet = New-AzVirtualNetwork `
-Name myVNet `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-AddressPrefix $VnetPrefix `
-Subnet @($appgwSubnet, $backendSubnet)

Tworzenie publicznych adresów IP frontonu usługi Application Gateway

$pipv4 = New-AzPublicIpAddress `
-Name myAGPublicIPAddress4 `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-Sku 'Standard' `
-AllocationMethod 'Static' `
-IpAddressVersion 'IPv4' `
-Force

$pipv6 = New-AzPublicIpAddress `
-Name myAGPublicIPAddress6 `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-Sku 'Standard' `
-AllocationMethod 'Static' `
-IpAddressVersion 'IPv6' `
-Force

Tworzenie konfiguracji i portów ip

Skojarz poprzednio utworzoną podsieć myAGSubnet z bramą aplikacji przy użyciu polecenia New-AzApplicationGatewayIPConfiguration. Przypisz element myAGPublicIPAddress do bramy aplikacji przy użyciu polecenia New-AzApplicationGatewayFrontendIPConfig.

$vnet   = Get-AzVirtualNetwork `
-ResourceGroupName myResourceGroupAG `
-Name myVNet
$subnet = Get-AzVirtualNetworkSubnetConfig `
-VirtualNetwork $vnet `
-Name myAGSubnet
$gipconfig = New-AzApplicationGatewayIPConfiguration `
-Name myAGIPConfig `
-Subnet $subnet
$fipconfigv4 = New-AzApplicationGatewayFrontendIPConfig `
-Name myAGFrontendIPv4Config `
-PublicIPAddress $pipv4
$fipconfigv6 = New-AzApplicationGatewayFrontendIPConfig `
-Name myAGFrontendIPv6Config `
-PublicIPAddress $pipv6
$frontendport = New-AzApplicationGatewayFrontendPort `
-Name myAGFrontendIPv6Config `
-Port 80

Tworzenie puli zaplecza i ustawień

Utwórz pulę zaplecza o nazwie appGatewayBackendPool dla bramy aplikacji przy użyciu polecenia New-AzApplicationGatewayBackendAddressPool. Skonfiguruj ustawienia pul adresów zaplecza przy użyciu polecenia New-AzApplicationGatewayBackendHttp Ustawienia.

$backendPool = New-AzApplicationGatewayBackendAddressPool `
-Name myAGBackendPool
$poolSettings = New-AzApplicationGatewayBackendHttpSetting `
-Name myPoolSettings `
-Port 80 `
-Protocol Http `
-CookieBasedAffinity Enabled `
-RequestTimeout 30

Tworzenie odbiornika domyślnego i reguły domyślnej

Odbiornik jest wymagany, aby brama aplikacji mogła właściwie kierować ruch do puli zaplecza. W tym przykładzie utworzysz podstawowy odbiornik, który nasłuchuje ruchu pod głównym adresem URL.

Utwórz odbiornik o nazwie mydefaultListener przy użyciu polecenia New-AzApplicationGatewayHttpListener z wcześniej utworzoną konfiguracją frontonu i portem frontonu. Reguła jest wymagana, aby odbiornik wiedział, której puli zaplecza używać dla ruchu przychodzącego. Utwórz podstawową regułę o nazwie rule1 przy użyciu polecenia New-AzApplicationGatewayRequestRoutingRule.

$listenerv4 = New-AzApplicationGatewayHttpListener `
-Name myAGListnerv4 `
-Protocol Http `
-FrontendIPConfiguration $fipconfigv4 `
-FrontendPort $frontendport
$listenerv6 = New-AzApplicationGatewayHttpListener `
-Name myAGListnerv6 `
-Protocol Http `
-FrontendIPConfiguration $fipconfigv6 `
-FrontendPort $frontendport
$frontendRulev4 = New-AzApplicationGatewayRequestRoutingRule `
-Name ruleIPv4 `
-RuleType Basic `
-Priority 10 `
-HttpListener $listenerv4 `
-BackendAddressPool $backendPool `
-BackendHttpSettings $poolSettings 
$frontendRulev6 = New-AzApplicationGatewayRequestRoutingRule `
-Name ruleIPv6 `
-RuleType Basic `
-Priority 1 `
-HttpListener $listenerv6 `
-BackendAddressPool $backendPool `
-BackendHttpSettings $poolsettings

Tworzenie bramy aplikacji

Po utworzeniu niezbędnych zasobów pomocniczych możesz określić parametry bramy aplikacji przy użyciu polecenia New-AzApplicationGatewaySku. Nowa brama aplikacji jest tworzona przy użyciu polecenia New-AzApplicationGateway. Tworzenie bramy aplikacji trwa kilka minut.

$sku = New-AzApplicationGatewaySku `
  -Name Standard_v2 `
  -Tier Standard_v2 `
  -Capacity 2
New-AzApplicationGateway `
-Name myipv6AppGW `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-BackendAddressPools $backendPool `
-BackendHttpSettingsCollection $poolsettings `
-FrontendIpConfigurations @($fipconfigv4, $fipconfigv6) `
-GatewayIpConfigurations $gipconfig `
-FrontendPorts $frontendport `
-HttpListeners @($listenerv4, $listenerv6) `
-RequestRoutingRules @($frontendRulev4, $frontendRulev6) `
-Sku $sku `
-Force

Serwery zaplecza

Po utworzeniu bramy aplikacji możesz utworzyć maszyny wirtualne zaplecza do hostowania witryn internetowych. Zaplecze może składać się z kart sieciowych, zestawów skalowania maszyn wirtualnych, publicznych adresów IP, wewnętrznych adresów IP, w pełni kwalifikowanych nazw domen (FQDN) i wielodostępnych zapleczy, takich jak usługa aplikacja systemu Azure Service.

Tworzenie dwóch maszyn wirtualnych

W tym przykładzie utworzysz dwie maszyny wirtualne do użycia jako serwery zaplecza dla bramy aplikacji. Usługi IIS są zainstalowane na maszynach wirtualnych, aby sprawdzić, czy platforma Azure pomyślnie utworzyła bramę aplikacji. Zestaw skalowania jest przypisywany do puli zaplecza podczas konfigurowania ustawień adresu IP.

Aby utworzyć maszyny wirtualne, uzyskamy niedawno utworzoną konfigurację puli zaplecza usługi Application Gateway za pomocą polecenia Get-AzApplicationGatewayBackendAddressPool. Te informacje są używane do:

  • Utwórz interfejs sieciowy za pomocą polecenia New-AzNetworkInterface.
  • Utwórz konfigurację maszyny wirtualnej za pomocą polecenia New-AzVMConfig.
  • Utwórz maszyny wirtualne za pomocą polecenia New-AzVM.

Uwaga

Po uruchomieniu poniższego przykładu kodu w celu utworzenia maszyn wirtualnych platforma Azure wyświetli monit o podanie poświadczeń. Wprowadź nazwę użytkownika i hasło. Tworzenie maszyn wirtualnych trwa kilka minut.

$appgw = Get-AzApplicationGateway -ResourceGroupName myResourceGroupAG -Name myipv6AppGW
$backendPool = Get-AzApplicationGatewayBackendAddressPool -Name myAGBackendPool -ApplicationGateway $appgw
$vnet   = Get-AzVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name myBackendSubnet
$cred = Get-Credential
for ($i=1; $i -le 2; $i++)
{
  $nic = New-AzNetworkInterface `
    -Name myNic$i `
    -ResourceGroupName myResourceGroupAG `
    -Location EastUS `
    -Subnet $subnet `
    -ApplicationGatewayBackendAddressPool $backendpool
  $vm = New-AzVMConfig `
    -VMName myVM$i `
    -VMSize Standard_DS2_v2
  Set-AzVMOperatingSystem `
    -VM $vm `
    -Windows `
    -ComputerName myVM$i `
    -Credential $cred
  Set-AzVMSourceImage `
    -VM $vm `
    -PublisherName MicrosoftWindowsServer `
    -Offer WindowsServer `
    -Skus 2016-Datacenter `
    -Version latest
  Add-AzVMNetworkInterface `
    -VM $vm `
    -Id $nic.Id
  Set-AzVMBootDiagnostic `
    -VM $vm `
    -Disable
  New-AzVM -ResourceGroupName myResourceGroupAG -Location EastUS -VM $vm
  Set-AzVMExtension `
    -ResourceGroupName myResourceGroupAG `
    -ExtensionName IIS `
    -VMName myVM$i `
    -Publisher Microsoft.Compute `
    -ExtensionType CustomScriptExtension `
    -TypeHandlerVersion 1.4 `
    -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
    -Location EastUS
}

Znajdowanie publicznego adresu IP usługi Application Gateway

Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress6

Przypisywanie nazwy DNS do adresu IPv6 frontonu

Nazwa DNS ułatwia testowanie bramy aplikacji IPv6. Możesz przypisać publiczną nazwę DNS przy użyciu własnej domeny i rejestratora lub utworzyć nazwę w azure.com.

Użyj następujących poleceń, aby przypisać nazwę w azure.com. Nazwa jest ustawiona na etykietę , którą określisz + region + cloudapp.azure.com. W tym przykładzie rekord AAAA myipv6appgw jest tworzony w przestrzeni nazw eastus.cloudapp.azure.com:

$publicIp = Get-AzPublicIpAddress -Name myAGPublicIPAddress6 -ResourceGroupName myResourceGroupAG
$publicIp.DnsSettings = @{"DomainNameLabel" = "myipv6appgw"}
Set-AzPublicIpAddress -PublicIpAddress $publicIp

Testowanie bramy aplikacji

Wcześniej przypisano nazwę DNS myipv6appgw.eastus.cloudapp.azure.com do publicznego adresu IPv6 bramy aplikacji. Aby przetestować to połączenie:

  1. Za pomocą polecenia cmdlet Invoke-WebRequest wyślij żądanie do frontonu IPv6.
  2. Sprawdź odpowiedź. Prawidłowa odpowiedź maszyny wirtualnej myVM1 lub myVM2 sprawdza, czy brama aplikacji została pomyślnie utworzona i może pomyślnie nawiązać połączenie z zapleczem. W przypadku kilkukrotnego wydania polecenia brama równoważy obciążenie bramy i odpowiada na kolejne żądania z innego serwera zaplecza.
PS C:\> (Invoke-WebRequest -Uri myipv6appgw.eastus.cloudapp.azure.com).Content
myVM2

Ważne

Jeśli połączenie z nazwą DNS lub adresem IPv6 zakończy się niepowodzeniem, może to być spowodowane tym, że nie można przeglądać adresów IPv6 z urządzenia. Aby sprawdzić, czy jest to twój problem, przetestuj również adres IPv4 bramy aplikacji. Jeśli adres IPv4 zostanie pomyślnie połączony, prawdopodobnie nie masz publicznego adresu IPv6 przypisanego do urządzenia. Jeśli tak jest, możesz spróbować przetestować połączenie z maszyną wirtualną z podwójnym stosem.

Czyszczenie zasobów

Gdy grupa zasobów, brama aplikacji i wszystkie powiązane zasoby nie będą już potrzebne, usuń je przy użyciu polecenia Remove-AzResourceGroup.

Remove-AzResourceGroup -Name myResourceGroupAG

Następne kroki