Rychlý start: Směrování webového provozu pomocí brány Aplikace Azure lication 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.
Tento rychlý start můžete dokončit také pomocí Azure CLI nebo webu Azure Portal.
Poznámka:
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é).
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Azure PowerShell verze 1.0.0 nebo novější (pokud používáte Azure PowerShell místně).
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. | |
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. | |
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. |
Použití Azure Cloud Shellu:
Spusťte Cloud Shell.
Výběrem tlačítka Kopírovat v bloku kódu (nebo bloku příkazů) zkopírujte kód nebo příkaz.
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.
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-AzAccount
pří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.
- Vytvořte konfigurace podsítě pomocí
New-AzVirtualNetworkSubnetConfig
. - Vytvořte virtuální síť s konfigurací podsítě pomocí
New-AzVirtualNetwork
. - Vytvořte veřejnou IP adresu pomocí
New-AzPublicIpAddress
pří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
V tomto příkladu se používá skladová položka Standard v2.
Vytvoření konfigurací IP adres a front-endového portu
- Slouží
New-AzApplicationGatewayIPConfiguration
k vytvoření konfigurace, která přidruží podsíť, kterou jste vytvořili ke službě Application Gateway. - 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. - 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
- 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. - Nakonfigurujte nastavení back-endového fondu pomocí
New-AzApplicationGatewayBackendHttpSetting
ná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.
- Vytvořte naslouchací proces pomocí
New-AzApplicationGatewayHttpListener
konfigurace front-endu a front-endového portu, který jste vytvořili dříve. - 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:
- Slouží
New-AzApplicationGatewaySku
k zadání parametrů pro aplikační bránu. - 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 Tier
hodnot Name
můžete upravit tak, aby používaly jinou skladovou položku. Například: Basic
.
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čů
- Získejte nedávno vytvořenou konfiguraci back-endového fondu služby Application Gateway pomocí
Get-AzApplicationGatewayBackendAddressPool
nástroje . - Vytvoření síťového rozhraní s .
New-AzNetworkInterface
- Vytvořte konfiguraci virtuálního počítače pomocí
New-AzVMConfig
příkazu . - Vytvořte virtuální počítač pomocí
New-AzVM
pří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:
- Spuštěním příkazu získejte
Get-AzPublicIPAddress
veřejnou IP adresu služby Application Gateway. - 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
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