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 použijete Azure PowerShell k vytvoření aplikační brány.In this quickstart, you use Azure PowerShell to create an application gateway. Pak ho otestujete, abyste se ujistili, že funguje správně.Then you test it to make sure it works correctly.

Aplikační brána směruje webový provoz aplikace do konkrétních prostředků ve fondu back-end.The application gateway directs application web traffic to specific resources in a backend pool. Posluchačům přiřadíte porty, vytvoříte pravidla a přidáte prostředky do back-endového fondu.You assign listeners to ports, create rules, and add 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 pro hostování jedné lokality na aplikační bráně, pravidla základního směrování požadavku a dva virtuální počítače ve fondu back-end.For the sake of simplicity, this article uses a simple setup with a public front-end IP address, a basic listener to host a single site on the application gateway, a basic request routing rule, and two virtual machines in the backend pool.

Tento rychlý Start můžete také dokončit pomocí Azure CLI nebo Azure Portal.You can also complete this quickstart using Azure CLI or the Azure portal.

PožadavkyPrerequisites

Použití služby Azure Cloud ShellUse Azure Cloud Shell

Azure hostí interaktivní prostředí Azure Cloud Shell, 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 v prostředí Cloud Shell použít buď Bash, nebo PowerShell.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Můžete použít předinstalované příkazy služby Cloud Shell ke spuštění kódu uvedeného 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í služby Azure Cloud Shell:To start Azure Cloud Shell:

MožnostOption Příklad nebo odkazExample/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. Výběr Vyzkoušet automaticky nekopíruje kód do služby Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Příklad Vyzkoušet služby 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.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Spuštění služby Cloud Shell v novém okněLaunch Cloud Shell in a new window
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu 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

Pokud chcete spustit kód uvedený v tomto článku ve službě Azure Cloud Shell, postupujte takto: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 a kód zkopírujte.Select the Copy button on a code block to copy the code.

  3. Vložte kód do relace Cloud Shell pomocí kláves Ctrl+Shift+V ve Windows a Linuxu nebo pomocí kláves Cmd+Shift+V v systému 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. Spusťte kód stisknutím klávesy Enter.Select Enter to run the code.

Poznámka

Tento článek je aktualizovaný, tak aby využíval modul Azure Az PowerShell.This article has been updated to use the Azure Az PowerShell module. Doporučeným modulem PowerShellu pro interakci s Azure je modul Az PowerShell.The Az PowerShell module is the recommended PowerShell module for interacting with Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci Azure PowerShellu.To get started with the Az PowerShell module, see Install Azure PowerShell. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

Připojení k AzureConnect to Azure

Pokud se chcete připojit k Azure, spusťte Connect-AzAccount .To connect with Azure, run Connect-AzAccount.

Vytvoření skupiny prostředkůCreate a 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.

Pokud chcete vytvořit novou skupinu prostředků, použijte New-AzResourceGroup rutinu:To create a new resource group, use the New-AzResourceGroup cmdlet:

New-AzResourceGroup -Name myResourceGroupAG -Location eastus

Vytvoření síťových prostředkůCreate 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 dvě podsítě: jednu pro aplikační bránu a druhou pro back-end servery.You create two subnets in this example: one for the application gateway, and another for the backend servers. Můžete nakonfigurovat IP adresu front-endu Application Gateway tak, aby byla veřejná nebo soukromá, podle vašeho případu použití.You can configure the Frontend IP address of the Application Gateway to be Public or Private as per your use case. V tomto příkladu zvolíte veřejnou IP adresu front-endu.In this example, you'll choose a Public Frontend IP address.

  1. Vytvořte konfigurace podsítě pomocí New-AzVirtualNetworkSubnetConfig .Create the subnet configurations using New-AzVirtualNetworkSubnetConfig.
  2. Vytvořte virtuální síť s konfiguracemi podsítí pomocí New-AzVirtualNetwork .Create the virtual network with the subnet configurations using New-AzVirtualNetwork.
  3. Vytvořte veřejnou IP adresu pomocí New-AzPublicIpAddress .Create the public IP address using New-AzPublicIpAddress.

Poznámka

Zásady koncového bodu služby virtuální sítě se v Application Gateway podsíti v tuto chvíli nepodporují.Virtual network service endpoint policies are currently not supported in an Application Gateway subnet.

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

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

  1. Použijte New-AzApplicationGatewayIPConfiguration k vytvoření konfigurace, 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. Použijte 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.Use New-AzApplicationGatewayFrontendIPConfig to create the configuration that assigns the public IP address that you previously created for the application gateway.
  3. Použijte New-AzApplicationGatewayFrontendPort k přiřazení portu 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. Slouží New-AzApplicationGatewayBackendAddressPool k vytvoření back-end fondu pro aplikační bránu.Use New-AzApplicationGatewayBackendAddressPool to create the backend pool for the application gateway. Back-end fond je nyní prázdný.The backend pool is empty for now. Při vytváření síťových karet serveru back-end v následující části je přidáte do fondu back-end.When you create the backend server NICs in the next section, you'll 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.
$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 konfigurací front-end a portem front-endu, který jste vytvořili dříve.Create a listener using New-AzApplicationGatewayHttpListener with the frontend configuration and frontend port that you previously created.
  2. Použijte New-AzApplicationGatewayRequestRoutingRule k vytvoření pravidla 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. Slouží New-AzApplicationGatewaySku k zadání parametrů pro aplikační bránu.Use New-AzApplicationGatewaySku to specify parameters for the application gateway.
  2. Použijte New-AzApplicationGateway k vytvoření aplikační brány.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 ze síťových adaptérů, virtuálních počítačů s měřítkem, veřejné IP adresy, interní IP adresy, plně kvalifikovaných názvů domény (FQDN) a back-endu s více klienty, jako je Azure App Service.A backend can be composed of NICs, virtual machine scale sets, public IP address, internal IP address, 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, které budou sloužit jako servery back-end pro aplikační bránu.In this example, you create two virtual machines 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ískejte nedávno vytvořenou konfiguraci Application Gatewayho fondu back-endu Get-AzApplicationGatewayBackendAddressPool .Get 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 uživatelské jméno a heslo:Enter a user name and a 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
}

Otestování aplikační brányTest the application gateway

I když služba IIS není nutná k vytvoření služby Application Gateway, nainstalujete ji 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 if 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 Get-AzPublicIPAddress Získejte veřejnou IP adresu aplikační brány.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

Když už nepotřebujete prostředky, které jste vytvořili v rámci služby Application Gateway, odstraňte skupinu prostředků.When you no longer need the resources that you created with the application gateway, delete the resource group. Když odstraníte skupinu prostředků, odstraníte také aplikační bránu a všechny související prostředky.When you delete the resource group, you also delete the application gateway and all its related resources.

Pokud chcete odstranit skupinu prostředků, zavolejte Remove-AzResourceGroup rutinu:To delete the resource group, call the Remove-AzResourceGroup cmdlet:

Remove-AzResourceGroup -Name myResourceGroupAG

Další krokyNext steps