Rychlý start: Směrování webového provozu pomocí brány Aplikace Azure Gateway pomocí Azure PowerShellu

V tomto rychlém startu pomocí Azure PowerShellu vytvoříte aplikační bránu. Pak ho otestujete, abyste měli jistotu, že funguje správně.

Aplikační brána směruje webový provoz aplikací na konkrétní prostředky v back-endovém fondu. Přiřadíte naslouchací procesy k portům, vytvoříte pravidla a přidáte prostředky do back-endového fondu. Pro zjednodušení tento článek používá jednoduché nastavení s veřejnou front-endovou IP adresou, základním naslouchacím procesem pro hostování jedné lokality ve službě Application Gateway, základním pravidlem směrování požadavků a dvěma virtuálními počítači v back-endovém fondu.

application gateway resources

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

Požadavky

Azure Cloud Shell

Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. Předinstalované příkazy Cloud Shellu můžete použít ke spuštění kódu v tomto článku, aniž byste museli instalovat cokoli do místního prostředí.

Spuštění služby Azure Cloud Shell:

Možnost Příklad nebo odkaz
Vyberte Vyzkoušet v pravém horním rohu bloku kódu nebo příkazu. Výběrem možnosti Vyzkoušet se kód ani příkaz automaticky nekopíruje do Cloud Shellu. Screenshot that shows an example of Try It for Azure Cloud Shell.
Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči. Button to launch Azure Cloud Shell.
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Použití Azure Cloud Shellu:

  1. Spusťte Cloud Shell.

  2. Výběrem tlačítka Kopírovat v bloku kódu (nebo bloku příkazů) zkopírujte kód nebo příkaz.

  3. Vložte kód nebo příkaz do relace Cloud Shellu tak, že ve Windows a Linuxu vyberete ctrl+Shift+V nebo vyberete Cmd+Shift+V v macOS.

  4. Stisknutím klávesy Enter spusťte kód nebo příkaz.

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Připojení k Azure

Pokud se chcete připojit pomocí Azure, spusťte Connect-AzAccountpříkaz .

Vytvoření skupiny zdrojů

V Azure přidělíte související prostředky ke skupině prostředků. Můžete použít existující skupinu prostředků nebo vytvořit novou.

Pokud chcete vytvořit novou skupinu prostředků, použijte rutinu New-AzResourceGroup :

New-AzResourceGroup -Name myResourceGroupAG -Location eastus

Vytvoření síťových prostředků

Aby Služba Azure komunikuje mezi prostředky, které vytvoříte, potřebuje virtuální síť. Podsíť aplikační brány může obsahovat pouze aplikační brány. Nejsou povoleny žádné další prostředky. Můžete buď vytvořit novou podsíť pro Službu Application Gateway, nebo použít existující. V tomto příkladu vytvoříte dvě podsítě: jednu pro aplikační bránu a druhou pro back-endové servery. Ip adresu front-endu služby Application Gateway můžete nakonfigurovat tak, aby byla veřejná nebo soukromá podle vašeho případu použití. V tomto příkladu zvolíte veřejnou IP adresu front-endu.

  1. Vytvořte konfigurace podsítě pomocí New-AzVirtualNetworkSubnetConfig.
  2. Vytvořte virtuální síť s konfigurací podsítě pomocí New-AzVirtualNetwork.
  3. Vytvořte veřejnou IP adresu pomocí New-AzPublicIpAddresspříkazu .

Poznámka:

Zásady koncového bodu služby virtuální sítě se v současné době nepodporují v podsíti služby Application Gateway.

$agSubnetConfig = New-AzVirtualNetworkSubnetConfig `
  -Name myAGSubnet `
  -AddressPrefix 10.21.0.0/24
$backendSubnetConfig = New-AzVirtualNetworkSubnetConfig `
  -Name myBackendSubnet `
  -AddressPrefix 10.21.1.0/24
New-AzVirtualNetwork `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myVNet `
  -AddressPrefix 10.21.0.0/16 `
  -Subnet $agSubnetConfig, $backendSubnetConfig
New-AzPublicIpAddress `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myAGPublicIPAddress `
  -AllocationMethod Static `
  -Sku Standard

Vytvoření brány Application Gateway

Vytvoření konfigurací IP adres a front-endového portu

  1. Slouží New-AzApplicationGatewayIPConfiguration k vytvoření konfigurace, která přidruží podsíť, kterou jste vytvořili ke službě Application Gateway.
  2. Slouží New-AzApplicationGatewayFrontendIPConfig k vytvoření konfigurace, která přiřadí veřejnou IP adresu, kterou jste předtím vytvořili pro aplikační bránu.
  3. Slouží New-AzApplicationGatewayFrontendPort k přiřazení portu 80 pro přístup ke službě Application Gateway.
$vnet   = Get-AzVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name myAGSubnet
$pip    = Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress 
$gipconfig = New-AzApplicationGatewayIPConfiguration `
  -Name myAGIPConfig `
  -Subnet $subnet
$fipconfig = New-AzApplicationGatewayFrontendIPConfig `
  -Name myAGFrontendIPConfig `
  -PublicIPAddress $pip
$frontendport = New-AzApplicationGatewayFrontendPort `
  -Name myFrontendPort `
  -Port 80

Poznámka:

Front-end služby Application Gateway teď podporuje IP adresy se dvěma zásobníky (Public Preview). Teď můžete vytvořit až čtyři front-endové IP adresy: dvě IPv4 adresy (veřejné a soukromé) a dvě IPv6 adresy (veřejné a soukromé).

Vytvoření back-endového fondu

  1. Slouží New-AzApplicationGatewayBackendAddressPool k vytvoření back-endového fondu pro aplikační bránu. Back-endový fond je prozatím prázdný. Když vytvoříte síťové karty back-endového serveru v další části, přidáte je do back-endového fondu.
  2. Nakonfigurujte nastavení back-endového fondu pomocí New-AzApplicationGatewayBackendHttpSettingnástroje .
$backendPool = New-AzApplicationGatewayBackendAddressPool `
  -Name myAGBackendPool
$poolSettings = New-AzApplicationGatewayBackendHttpSetting `
  -Name myPoolSettings `
  -Port 80 `
  -Protocol Http `
  -CookieBasedAffinity Enabled `
  -RequestTimeout 30

Vytvoření naslouchacího procesu a přidání pravidla

Azure vyžaduje naslouchací proces, který službě Application Gateway umožní správně směrovat provoz do back-endového fondu. Azure také vyžaduje, aby naslouchací proces věděl, který back-endový fond se má použít pro příchozí provoz.

  1. Vytvořte naslouchací proces pomocí New-AzApplicationGatewayHttpListener konfigurace front-endu a front-endového portu, který jste vytvořili dříve.
  2. Slouží New-AzApplicationGatewayRequestRoutingRule k vytvoření pravidla s názvem rule1.
$defaultlistener = New-AzApplicationGatewayHttpListener `
  -Name myAGListener `
  -Protocol Http `
  -FrontendIPConfiguration $fipconfig `
  -FrontendPort $frontendport
$frontendRule = New-AzApplicationGatewayRequestRoutingRule `
  -Name rule1 `
  -RuleType Basic `
  -Priority 100 `
  -HttpListener $defaultlistener `
  -BackendAddressPool $backendPool `
  -BackendHttpSettings $poolSettings

Vytvoření služby Application Gateway

Teď, když jste vytvořili potřebné podpůrné prostředky, vytvořte aplikační bránu:

  1. Slouží New-AzApplicationGatewaySku k zadání parametrů pro aplikační bránu.
  2. Slouží New-AzApplicationGateway k vytvoření aplikační brány.
$sku = New-AzApplicationGatewaySku `
  -Name Standard_v2 `
  -Tier Standard_v2 `
  -Capacity 2
New-AzApplicationGateway `
  -Name myAppGateway `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -BackendAddressPools $backendPool `
  -BackendHttpSettingsCollection $poolSettings `
  -FrontendIpConfigurations $fipconfig `
  -GatewayIpConfigurations $gipconfig `
  -FrontendPorts $frontendport `
  -HttpListeners $defaultlistener `
  -RequestRoutingRules $frontendRule `
  -Sku $sku

Back-endové servery

Teď, když jste vytvořili službu Application Gateway, vytvořte back-endové virtuální počítače, které budou hostovat weby. Back-end se může skládat z síťových karet, škálovacích sad virtuálních počítačů, veřejné IP adresy, interní IP adresy, plně kvalifikovaných názvů domén (FQDN) a víceklientských back-endů, jako je Aplikace Azure Service.

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. Na virtuální počítače také nainstalujete službu IIS, abyste ověřili, že Azure úspěšně vytvořila aplikační bránu.

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

  1. Získejte nedávno vytvořenou konfiguraci back-endového fondu služby Application Gateway pomocí Get-AzApplicationGatewayBackendAddressPoolnástroje .
  2. Vytvoření síťového rozhraní s .New-AzNetworkInterface
  3. Vytvořte konfiguraci virtuálního počítače pomocí New-AzVMConfigpříkazu .
  4. Vytvořte virtuální počítač pomocí New-AzVMpříkazu .

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 uživatelské jméno a heslo:

$appgw = Get-AzApplicationGateway -ResourceGroupName myResourceGroupAG -Name myAppGateway
$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
}

Otestování aplikační brány

I když služba IIS není nutná k vytvoření aplikační brány, nainstalovali jste ji v tomto rychlém startu, abyste ověřili, jestli Azure úspěšně vytvořila aplikační bránu.

Použití služby IIS k otestování aplikační brány:

  1. Spuštěním příkazu získejte Get-AzPublicIPAddress veřejnou IP adresu služby Application Gateway.
  2. Zkopírujte a vložte veřejnou IP adresu do adresního řádku prohlížeče. Při aktualizaci prohlížeče by se měl zobrazit název virtuálního počítače. Platná odpověď ověří úspěšné vytvoření aplikační brány a úspěšně se připojí k back-endu.
Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress

Test application gateway

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

Pokud už nepotřebujete prostředky, které jste vytvořili pomocí aplikační brány, odstraňte skupinu prostředků. Když odstraníte skupinu prostředků, odstraníte také aplikační bránu a všechny související prostředky.

Pokud chcete odstranit skupinu prostředků, zavolejte rutinu Remove-AzResourceGroup :

Remove-AzResourceGroup -Name myResourceGroupAG

Další kroky