Sdílet prostřednictvím


Rychlý start: Směrování webového provozu pomocí služby Azure Application 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í zařízení k portům, vytvoříte pravidla a přidáte prostředky do základní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.

Koncepční diagram nastavení rychlého startu

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

Note

Front-end služby Application Gateway teď podporuje IP adresy se dvěma zásobníky (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é).

Prerequisites

Azure Cloud Shell

Azure hostuje Azure Cloud Shell, interaktivní prostředí, které můžete použít v prohlížeči. Ke spolupráci se službami Azure můžete použít Bash nebo PowerShell s Cloud Shellem. 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í Azure Cloud Shellu:

Option Example/Link
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. Snímek obrazovky znázorňující příklad možnosti Vyzkoušet pro Azure Cloud Shell
Přejděte do https://shell.azure.comčásti Nebo vyberte tlačítko Spustit Cloud Shell a otevřete Cloud Shell v prohlížeči. Tlačítko pro spuštění Azure Cloud Shellu
Na řádku nabídek v pravém horním rohu webu Azure Portal vyberte tlačítko Cloud Shell. Snímek obrazovky znázorňující tlačítko Cloud Shell na webu 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.

Note

K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Pokud chcete začít, přečtěte si 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 .

Note

Zásady koncového bodu služby virtuální sítě nejsou v současné době podporovány 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řte aplikační bránu

V tomto příkladu se používá skladová položka Standard v2.

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

Note

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í aplikační brány

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

Tip

Hodnoty parametrů a Name hodnot Tier můžete upravit tak, aby používaly jinou skladovou položku. Například: Basic.

Note

Pokud v oblastech podporujících zóny dostupnosti nezadáte zóny během vytváření prostřednictvím rozhraní příkazového řádku, PowerShellu, ARM nebo Bicepu nebo rozhraní REST API – Azure Application Gateway automaticky povolí redundanci zón a distribuuje instance napříč několika zónami dostupnosti, aby se zlepšila odolnost proti chybám.

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 Azure App 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
}

Testová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

Testování aplikační brány

Vyčistěte zdroje

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