Konfigurace služby Application Gateway s veřejnou IPv6 adresou front-endu pomocí Azure PowerShellu

Aplikace Azure Gateway podporuje připojení front-endu duálního zásobníku (IPv4 a IPv6) z klientů. Pokud chcete používat připojení front-endu IPv6, musíte vytvořit novou službu Application Gateway. V současné době nemůžete upgradovat stávající protokolY IPv4 pouze služby Application Gateway na duální zásobník (IPv4 a IPv6) služby Application Gateway. V současné době se také nepodporují adresy IPv6 back-endu.

Pokud chcete podporovat front-endovou podporu protokolu IPv6, musíte vytvořit virtuální síť se dvěma zásobníky. Tato virtuální síť se dvěma zásobníky má podsítě pro IPv4 i IPv6. Virtuální sítě Azure již poskytují možnosti duálního zásobníku.

Přehled

Azure PowerShell slouží k vytvoření brány Aplikace Azure IPv6. Testování se provádí a ověří, jestli funguje správně.

Získáte informace pro:

Azure PowerShell se používá k vytvoření brány Aplikace Azure IPv6 a k testování, aby se zajistilo, že funguje správně. Application Gateway může spravovat a zabezpečit webový provoz na servery, které spravujete. Škálovací sada virtuálních počítačů je určená pro back-endové servery pro správu webového provozu. Škálovací sada obsahuje dvě instance virtuálních počítačů, které se přidají do výchozího back-endového fondu aplikační brány. Další informace o komponentách aplikační brány najdete v tématu Komponenty služby Application Gateway.

Tento rychlý start můžete dokončit také pomocí webu Azure Portal.

Požadavky

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Pokud se rozhodnete nainstalovat a používat PowerShell místně, tento článek vyžaduje modul Azure PowerShell verze 1.0.0 nebo novější. Verzi zjistíte spuštěním příkazu Get-Module -ListAvailable Az. Pokud potřebujete upgrade, přečtěte si téma Instalace modulu Azure PowerShell. Pokud používáte PowerShell místně, musíte také spustit Login-AzAccount , abyste vytvořili připojení k Azure.

Oblasti a dostupnost

Služba Application Gateway IPv6 je dostupná pro všechny oblasti veřejného cloudu, ve kterých je podporovaná skladová položka služby Application Gateway v2. Je také k dispozici v Microsoft Azure provozovaném společností 21Vianet a Azure Government.

Omezení

  • Pouze skladová položka v2 podporuje front-end s adresami IPv4 i IPv6.
  • Back-endy IPv6 se v současné době nepodporují.
  • Privátní propojení IPv6 se v současné době nepodporuje.
  • Služba Application Gateway pouze s protokolem IPv6 se v současné době nepodporuje. Application Gateway musí být duální zásobník (IPv6 a IPv4).
  • Kontroler příchozího přenosu dat služby Application Gateway (AGIC) nepodporuje konfiguraci protokolu IPv6
  • Stávající služby Application Gateway IPv4 se nedají upgradovat na služby Application Gateway se dvěma zásobníky.
  • Vlastní pravidla WAF s podmínkou shody IPv6 se v současné době nepodporují.

Vytvoření skupiny zdrojů

Skupina prostředků je logický kontejner, ve kterém se nasazují a spravují prostředky Azure. Vytvořte skupinu prostředků Azure pomocí rutiny New-AzResourceGroup.

New-AzResourceGroup -Name myResourceGroupAG -Location eastus

Konfigurace podsítě se dvěma zásobníky a back-endové podsítě

Nakonfigurujte podsítě s názvem myBackendSubnet a myAGSubnet pomocí rutiny 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

Vytvoření virtuální sítě se dvěma zásobníky

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

Vytvoření front-endových veřejných IP adres služby 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

Vytvoření konfigurací IP adres a portů

Přidružte podsíť myAGSubnet , kterou jste předtím vytvořili ke službě Application Gateway pomocí Rutiny New-AzApplicationGatewayIPConfiguration. Přiřaďte aplikační bráně myAGPublicIPAddress pomocí Rutiny 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

Vytvoření back-endového fondu a nastavení

Vytvořte back-endový fond s názvem appGatewayBackendPool pro aplikační bránu pomocí New-AzApplicationGatewayBackendAddressPool. Nakonfigurujte nastavení back-endových fondů adres pomocí Rutiny New-AzApplicationGatewayBackendHttp Nastavení.

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

Vytvoření výchozího naslouchacího procesu a pravidla

Naslouchací proces je potřeba k tomu, aby brána Application Gateway mohla správně směrovat provoz na back-endový fond. V tomto příkladu vytvoříte základní naslouchací proces, který naslouchá provozu na kořenové adrese URL.

Vytvořte naslouchací proces s názvem mydefaultListener pomocí rutiny New-AzApplicationGatewayHttpListener s konfigurací front-endu a front-endovým portem, který jste vytvořili dříve. Pravidlo je potřeba k tomu, aby naslouchací proces poznal, který back-endový fond má použít pro příchozí provoz. Vytvořte základní pravidlo s názvem rule1 pomocí Rutiny 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

Vytvoření služby Application Gateway

Teď, když jste vytvořili potřebné podpůrné prostředky, můžete zadat parametry pro aplikační bránu pomocí New-AzApplicationGatewaySku. Nová aplikační brána se vytvoří pomocí rutiny New-AzApplicationGateway. Vytvoření aplikační brány trvá několik 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

Back-endové servery

Teď, když jste vytvořili aplikační bránu, můžete vytvořit back-endové virtuální počítače pro hostování webů. Back-end se může skládat z síťových karet, škálovacích sad virtuálních počítačů, veřejných IP adres, interních IP adres, plně kvalifikovaných názvů domén (FQDN) a back-endů s více tenanty, jako je Aplikace Azure Service.

Vytvoření dvou virtuálních počítačů

V tomto příkladu vytvoříte dva virtuální počítače, které se použijí jako back-endové servery pro aplikační bránu. Služba IIS je nainstalovaná na virtuálních počítačích, aby ověřila, že Azure úspěšně vytvořila aplikační bránu. Škálovací sada se přiřadí back-endovému fondu při konfiguraci nastavení IP adresy.

Abychom mohli vytvořit virtuální počítače, získáme nedávno vytvořenou konfiguraci back-endového fondu služby Application Gateway pomocí Rutiny Get-AzApplicationGatewayBackendAddressPool. Tyto informace slouží k:

  • Vytvořte síťové rozhraní pomocí New-AzNetworkInterface.
  • Vytvořte konfiguraci virtuálního počítače pomocí rutiny New-AzVMConfig.
  • Vytvořte virtuální počítače pomocí Rutiny New-AzVM.

Poznámka:

Když spustíte následující ukázku kódu pro vytvoření virtuálních počítačů, Azure vás vyzve k zadání přihlašovacích údajů. Zadejte svoje uživatelské jméno a heslo. Vytvoření virtuálních počítačů trvá několik 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
}

Vyhledání veřejné IP adresy služby Application Gateway

Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress6

Přiřazení názvu DNS k adrese IPv6 front-endu

Název DNS usnadňuje testování aplikační brány IPv6. Veřejný název DNS můžete přiřadit pomocí vlastní domény a registrátora nebo můžete vytvořit název v azure.com.

Pomocí následujících příkazů přiřaďte název v azure.com. Název je nastavený na popisek, který zadáte + oblast + cloudapp.azure.com. V tomto příkladu se vytvoří záznam AAAA myipv6appgw v oboru názvů eastus.cloudapp.azure.com:

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

Otestování aplikační brány

Dříve jsme přiřadili název DNS myipv6appgw.eastus.cloudapp.azure.com veřejné adrese IPv6 aplikační brány. Postup otestování tohoto připojení:

  1. Pomocí rutiny Invoke-WebRequest zadejte požadavek na front-end IPv6.
  2. Zkontrolujte odpověď. Platná odpověď virtuálního počítače myVM1 nebo myVM2 ověří úspěšné vytvoření aplikační brány a úspěšně se připojí k back-endu. Pokud příkaz vydáte několikrát, vyrovnává zatížení brány a reaguje na následné požadavky z jiného back-endového serveru.
PS C:\> (Invoke-WebRequest -Uri myipv6appgw.eastus.cloudapp.azure.com).Content
myVM2

Důležité

Pokud připojení k názvu DNS nebo adrese IPv6 selže, může to být proto, že nemůžete procházet adresy IPv6 ze svého zařízení. Pokud chcete zkontrolovat, jestli se jedná o váš problém, otestujte také adresu IPv4 aplikační brány. Pokud se adresa IPv4 úspěšně připojí, pravděpodobně nemáte přiřazenou veřejnou adresu IPv6 k vašemu zařízení. V takovém případě můžete zkusit otestovat připojení s virtuálním počítačem se dvěma zásobníky.

Vyčištění prostředků

Pokud už ji nepotřebujete, odeberte skupinu prostředků, aplikační bránu a všechny související prostředky pomocí remove-AzResourceGroup.

Remove-AzResourceGroup -Name myResourceGroupAG

Další kroky