Rychlý Start: směrování webového provozu pomocí Azure Application Gateway pomocí Azure PowerShellQuickstart: Direct web traffic with Azure Application Gateway using Azure PowerShell

V tomto rychlém startu se dozvíte, jak pomocí Azure PowerShell rychle vytvořit Aplikační bránu.This quickstart shows you how to use Azure PowerShell to quickly create an application gateway. Po vytvoření služby Application Gateway ji otestujete a ujistěte se, že funguje správně.After creating the application gateway, you then test it to make sure it's working correctly. V případě Azure Application Gateway nasměrujete webový provoz aplikace na konkrétní prostředky přiřazením posluchačů k portům, vytvořením pravidel a přidáním prostředků do back-endového fondu.With Azure Application Gateway, you direct your application web traffic to specific resources by assigning listeners to ports, creating rules, and adding resources to a backend pool. V zájmu zjednodušení Tento článek používá jednoduché nastavení s veřejnou front-end IP adresou, základní naslouchací proces, který hostuje jednu lokalitu v této aplikační bráně, dva virtuální počítače používané pro back-end fond a pravidlo základního směrování požadavků.For the sake of simplicity, this article uses a simple setup with a public front-end IP, a basic listener to host a single site on this application gateway, two virtual machines used for the backend pool, and a basic request routing rule.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.If you don't have an Azure subscription, create a free account before you begin.

Poznámka

Tento článek je aktualizovaný a využívá nový modul Az Azure PowerShellu.This article has been updated to use the new Azure PowerShell Az module. Můžete dál využívat modul AzureRM, který bude dostávat opravy chyb nejméně do prosince 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Další informace o kompatibilitě nového modulu Az a modulu AzureRM najdete v tématu Seznámení s novým modulem Az Azure PowerShellu.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Pokyny k instalaci modulu Az najdete v tématu věnovaném instalaci Azure PowerShellu.For Az module installation instructions, see Install Azure PowerShell.

Použití Azure Cloud ShelluUse Azure Cloud Shell

Hostitelé Azure Azure Cloud Shell interaktivní prostředí prostředí, které můžete používat v prohlížeči.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Pro práci se službami Azure můžete použít buď bash, nebo PowerShell s Cloud Shell.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Můžete použít Cloud Shell předinstalované příkazy ke spuštění kódu v tomto článku, aniž byste museli instalovat cokoli do svého místního prostředí.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Spuštění Azure Cloud Shell:To start Azure Cloud Shell:

MožnostOption Příklad nebo propojeníExample/Link
Zvolte Vyzkoušet v pravém horním rohu bloku kódu.Select Try It in the upper-right corner of a code block. Při výběru možnosti vyzkoušet se kód automaticky nezkopíruje do Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Příklad pokusu o Azure Cloud Shell
Přejít na https://shell.azure.comnebo vyberte tlačítko Spustit Cloud Shell a otevřete Cloud Shell v prohlížeči.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. spustit Cloud Shell v novém okněLaunch Cloud Shell in a new window
Vyberte tlačítko Cloud Shell na panelu nabídek v pravém horním rohu Azure Portal.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Tlačítko Cloud Shell na webu Azure Portal

Chcete-li spustit kód v tomto článku v Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Spusťte Cloud Shell.Start Cloud Shell.

  2. Vyberte tlačítko Kopírovat na bloku kódu ke zkopírování kódu.Select the Copy button on a code block to copy the code.

  3. Vložte kód do relace Cloud Shell tak, že vyberete Ctrl+SHIFT+v v systému Windows a Linux nebo vyberete možnost cmd+SHIFT+v v MacOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Vyberte ENTER a spusťte kód.Select Enter to run the code.

PředpokladyPrerequisites

Modul Azure PowerShelluAzure PowerShell module

Pokud se rozhodnete nainstalovat a používat Azure PowerShell v místním prostředí, vyžaduje tento kurz verzi modulu Azure PowerShell 1.0.0 nebo novější.If you choose to install and use Azure PowerShell locally, this tutorial requires the Azure PowerShell module version 1.0.0 or later.

  1. Verzi zjistíte spuštěním příkazu Get-Module -ListAvailable Az.To find the version, run Get-Module -ListAvailable Az. Pokud potřebujete upgrade, přečtěte si téma Instalace modulu Azure PowerShell.If you need to upgrade, see Install Azure PowerShell module.
  2. Pokud chcete vytvořit připojení k Azure, spusťte Login-AzAccount.To create a connection with Azure, run Login-AzAccount.

Skupina prostředkůResource group

V Azure přidělíte související prostředky skupině prostředků.In Azure, you allocate related resources to a resource group. Můžete použít buď existující skupinu prostředků, nebo vytvořit novou.You can either use an existing resource group or create a new one. V tomto příkladu vytvoříte novou skupinu prostředků pomocí rutiny New-AzResourceGroup , jak je znázorněno níže:In this example, you'll create a new resource group by using the New-AzResourceGroup cmdlet as follows:

New-AzResourceGroup -Name myResourceGroupAG -Location eastus

Požadované síťové prostředkyRequired network resources

Aby mohl Azure komunikovat mezi prostředky, které vytvoříte, potřebuje virtuální síť.For Azure to communicate between the resources that you create, it needs a virtual network. Podsíť aplikační brány může obsahovat jenom aplikační brány.The application gateway subnet can contain only application gateways. Žádné další prostředky nejsou povoleny.No other resources are allowed. Můžete buď vytvořit novou podsíť pro Application Gateway nebo použít stávající.You can either create a new subnet for Application Gateway or use an existing one. V tomto příkladu vytvoříte v tomto příkladu dvě podsítě: jednu pro aplikační bránu a druhou pro back-end servery.In this example, you create two subnets in this example: one for the application gateway, and another for the backend servers. IP adresu front-endu Application Gateway můžete nakonfigurovat tak, aby byla veřejná nebo soukromá jako na základě vašeho případu použití.You can configure the Frontend IP of the Application Gateway to be Public or Private as per your use case. V tomto příkladu zvolíte veřejnou front-end IP adresu.In this example, you'll choose a Public Frontend IP.

  1. Vytvořte konfiguraci podsítě voláním New-AzVirtualNetworkSubnetConfig.Create the subnet configurations by calling New-AzVirtualNetworkSubnetConfig.
  2. Vytvořte virtuální síť s konfiguracemi podsítě voláním New-AzVirtualNetwork.Create the virtual network with the subnet configurations by calling New-AzVirtualNetwork.
  3. Vytvořte veřejnou IP adresu voláním New-AzPublicIpAddress.Create the public IP address by calling New-AzPublicIpAddress.
$agSubnetConfig = New-AzVirtualNetworkSubnetConfig `
  -Name myAGSubnet `
  -AddressPrefix 10.0.1.0/24
$backendSubnetConfig = New-AzVirtualNetworkSubnetConfig `
  -Name myBackendSubnet `
  -AddressPrefix 10.0.2.0/24
New-AzVirtualNetwork `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myVNet `
  -AddressPrefix 10.0.0.0/16 `
  -Subnet $agSubnetConfig, $backendSubnetConfig
New-AzPublicIpAddress `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myAGPublicIPAddress `
  -AllocationMethod Static `
  -Sku Standard

Vytvoření Application GatewayCreate an application gateway

Vytvoření konfigurací IP adres a front-endového portuCreate the IP configurations and frontend port

  1. Pomocí New-AzApplicationGatewayIPConfiguration vytvořte konfiguraci, která přidruží podsíť, kterou jste vytvořili s aplikační bránou.Use New-AzApplicationGatewayIPConfiguration to create the configuration that associates the subnet you created with the application gateway.
  2. Pomocí New-AzApplicationGatewayFrontendIPConfig vytvořte konfiguraci, která přiřadí veřejnou IP adresu, kterou jste předtím vytvořili ve službě Application Gateway.Use New-AzApplicationGatewayFrontendIPConfig to create the configuration that assigns the public IP address that you previously created to the application gateway.
  3. Pomocí New-AzApplicationGatewayFrontendPort přiřaďte port 80 pro přístup k aplikační bráně.Use New-AzApplicationGatewayFrontendPort to assign port 80 to access the 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

Vytvoření back-endového fonduCreate the backend pool

  1. Pomocí New-AzApplicationGatewayBackendAddressPool vytvořte fond back-end pro aplikační bránu.Use New-AzApplicationGatewayBackendAddressPool to create the backend pool for the application gateway. Back-end fond bude nyní prázdný a při vytváření síťových adaptérů back-end serveru v následující části je přidáte do fondu back-end.The backend pool will be empty for now and while you create the backend server NICs in the next section, you will add them to the backend pool.
  2. Nakonfigurujte nastavení pro fond back-end pomocí New-AzApplicationGatewayBackendHttpSetting.Configure the settings for the backend pool with New-AzApplicationGatewayBackendHttpSetting.
$address1 = Get-AzNetworkInterface -ResourceGroupName myResourceGroupAG -Name myNic1
$address2 = Get-AzNetworkInterface -ResourceGroupName myResourceGroupAG -Name myNic2
$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í pravidlaCreate the listener and add a rule

Azure vyžaduje naslouchací proces, aby mohla služba Application Gateway povolit směrování provozu odpovídajícím způsobem do back-endového fondu.Azure requires a listener to enable the application gateway for routing traffic appropriately to the backend pool. Azure také vyžaduje pravidlo pro naslouchací proces, aby věděli, který back-end fond chcete použít pro příchozí provoz.Azure also requires a rule for the listener to know which backend pool to use for incoming traffic.

  1. Vytvořte naslouchací proces pomocí New-AzApplicationGatewayHttpListener s dříve vytvořeným portem front-end a front-endu.Create a listener by using New-AzApplicationGatewayHttpListener with the frontend configuration and frontend port that you previously created.
  2. Pomocí New-AzApplicationGatewayRequestRoutingRule vytvořte pravidlo s názvem rule1.Use New-AzApplicationGatewayRequestRoutingRule to create a rule named rule1.
$defaultlistener = New-AzApplicationGatewayHttpListener `
  -Name myAGListener `
  -Protocol Http `
  -FrontendIPConfiguration $fipconfig `
  -FrontendPort $frontendport
$frontendRule = New-AzApplicationGatewayRequestRoutingRule `
  -Name rule1 `
  -RuleType Basic `
  -HttpListener $defaultlistener `
  -BackendAddressPool $backendPool `
  -BackendHttpSettings $poolSettings

Vytvoření služby Application GatewayCreate the application gateway

Teď, když jste vytvořili potřebné podpůrné prostředky, vytvořte Aplikační bránu:Now that you've created the necessary supporting resources, create the application gateway:

  1. Pomocí New-AzApplicationGatewaySku Určete parametry pro aplikační bránu.Use New-AzApplicationGatewaySku to specify parameters for the application gateway.
  2. Pomocí New-AzApplicationGateway vytvořte Aplikační bránu.Use New-AzApplicationGateway to create the application gateway.
$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é serveryBackend servers

Teď, když jste vytvořili Application Gateway, vytvořte back-end virtuální počítače, které budou hostovat weby.Now that you have created the Application Gateway, create the backend virtual machines which will host the websites. Back-end se může skládat z síťových adaptérů, virtuálních počítačů a virtuálních IP adres, interních IP adres, plně kvalifikovaných názvů domény (FQDN) a back-endu s více klienty, jako je Azure App Service.Backend can be composed of NICs, virtual machine scale sets, public IPs, internal IPs, fully qualified domain names (FQDN), and multi-tenant back-ends like Azure App Service. V tomto příkladu vytvoříte dva virtuální počítače pro Azure, které budou používat jako servery back-end pro službu Application Gateway.In this example, you create two virtual machines for Azure to use as backend servers for the application gateway. Nainstalujete také službu IIS na virtuální počítače a ověříte tak, že Azure úspěšně vytvořil Aplikační bránu.You also install IIS on the virtual machines to verify that Azure successfully created the application gateway.

Vytvoření dvou virtuálních počítačůCreate two virtual machines

  1. Získat nedávno vytvořenou konfiguraci Application Gatewayho fondu back -Endu pomocí Get-AzApplicationGatewayBackendAddressPoolGet the recently created Application Gateway backend pool configuration with Get-AzApplicationGatewayBackendAddressPool
  2. Vytvořte síťové rozhraní pomocí New-AzNetworkInterface.Create a network interface with New-AzNetworkInterface.
  3. Vytvořte konfiguraci virtuálního počítače pomocí New-AzVMConfig.Create a virtual machine configuration with New-AzVMConfig.
  4. Vytvořte virtuální počítač pomocí New-AzVM.Create the virtual machine with New-AzVM.

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ů.When you run the following code sample to create the virtual machines, Azure prompts you for credentials. Zadejte azureuser jako uživatelské jméno a Azure123456!Enter azureuser for the user name and Azure123456! pro heslo:for the password:

$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í brány Application GatewayTest the application gateway

I když služba IIS není nutná k vytvoření aplikační brány, nainstalovali jste se v tomto rychlém startu, abyste ověřili, jestli Azure úspěšně vytvořil Aplikační bránu.Although IIS isn't required to create the application gateway, you installed it in this quickstart to verify whether Azure successfully created the application gateway. Použijte službu IIS k otestování služby Application Gateway:Use IIS to test the application gateway:

  1. Spuštěním rutiny Get-AzPublicIPAddress Získejte veřejnou IP adresu služby Application Gateway.Run Get-AzPublicIPAddress to get the public IP address of the application gateway.
  2. Zkopírujte veřejnou IP adresu a vložte ji do adresního řádku prohlížeče.Copy and paste the public IP address into the address bar of your browser. Když aktualizujete prohlížeč, měl by se zobrazit název virtuálního počítače.When you refresh the browser, you should see the name of the virtual machine. Platná odpověď ověří, že se služba Application Gateway úspěšně vytvořila, a může se úspěšně připojit k back-endu.A valid response verifies that the application gateway was successfully created and it can successfully connect with the backend.
Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress

Otestování aplikační brány

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

Pokud už nepotřebujete prostředky, které jste vytvořili v rámci služby Application Gateway, odeberte skupinu prostředků.When you no longer need the resources that you created with the application gateway, remove the resource group. Odebráním skupiny prostředků odeberete také aplikační bránu a všechny související prostředky.By removing the resource group, you also remove the application gateway and all its related resources.

Pokud chcete odebrat skupinu prostředků, zavolejte rutinu Remove-AzResourceGroup následujícím způsobem:To remove the resource group, call the Remove-AzResourceGroup cmdlet as follows:

Remove-AzResourceGroup -Name myResourceGroupAG

Další krokyNext steps