Rychlý start: Směrování webového provozu pomocí služby Azure Application Gateway – Azure CLIQuickstart: Direct web traffic with Azure Application Gateway - Azure CLI

V tomto rychlém startu použijete azure cli k vytvoření aplikační brány.In this quickstart, you use Azure CLI to create an application gateway. Pak jej 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 aplikací na konkrétní prostředky v back-endovém fondu.The application gateway directs application web traffic to specific resources in a backend pool. Naslouchací procesy přiřazujete k portům, vytváříte pravidla a přidáváte prostředky do back-endového fondu.You assign listeners to ports, create rules, and add resources to a backend pool. Z důvodu jednoduchosti tento článek používá jednoduché nastavení s veřejnou front-endovou IP adresou, základní naslouchací proces pro hostování jedné sítě na aplikační bráně, základní pravidlo směrování požadavků a dva virtuální počítače v back-endovém fondu.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 the application gateway, a basic request routing rule, and two virtual machines in the backend pool.

Tento rychlý start můžete taky dokončit pomocí Azure PowerShellu nebo portálu Azure.You can also complete this quickstart using Azure PowerShell or the Azure portal.

Použití Azure Cloud ShelluUse Azure Cloud Shell

Azure hostuje Azure Cloud Shell, interaktivní prostředí prostředí, které můžete použít prostřednictvím prohlížeče.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Ke službě Azure můžete použít bash nebo PowerShell s Cloud Shellem.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Předinstalované příkazy prostředí Cloud Shell můžete použít ke spuštění kódu v tomto článku, aniž byste museli nic instalovat do 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í prostředí Azure Cloud Shell:To start Azure Cloud Shell:

MožnostOption Příklad/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ěrem try It se automaticky nezkopíruje kód do Cloud Shellu.Selecting Try It doesn't automatically copy the code to Cloud Shell. Příklad vyzkoušení pro Azure Cloud Shell
Přejděte https://shell.azure.comna položku , nebo vyberte tlačítko Spustit cloudové prostředí a otevřete cloudové prostředí ve svém 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í prostředí Cloud Shell v novém okněLaunch Cloud Shell in a new window
Vyberte tlačítko Cloud Shell na řádku nabídek v pravém horním bodě webu portálu Azure.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

Spuštění kódu v tomto článku v Prostředí Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Spusťte prostředí Cloud Shell.Start Cloud Shell.

  2. Chcete-li kód zkopírovat, vyberte tlačítko Kopírovat na bloku kódu.Select the Copy button on a code block to copy the code.

  3. Vložte kód do relace prostředí Cloud Shell výběrem Ctrl+Shift+V ve Windows a Linuxu nebo výběrem 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. Chcete-li kód spustit, vyberte Enter.Select Enter to run the code.

PožadavkyPrerequisites

Vytvoření skupiny prostředkůCreate resource group

V Azure přidělujete související prostředky skupině prostředků.In Azure, you allocate related resources to a resource group. Vytvořte skupinu az group createprostředků pomocí aplikace .Create a resource group by using az group create.

V následujícím příkladu vytvoříte skupinu prostředků s názvem myResourceGroupAG v umístění eastus.The following example creates a resource group named myResourceGroupAG in the eastus location.

az group create --name myResourceGroupAG --location eastus

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

Pro 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 pouze aplikační brány.The application gateway subnet can contain only application gateways. Nejsou povoleny žádné další prostředky.No other resources are allowed. Můžete buď vytvořit novou podsíť pro aplikační bránu, nebo použít existují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 servery back-endu.In this example, you create two subnets: one for the application gateway, and another for the backend servers. Front-endovou IP adresu aplikační brány můžete nakonfigurovat jako veřejnou nebo soukromou podle 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-endovou IP adresu.In this example, you'll choose a Public Frontend IP address.

Chcete-li vytvořit virtuální síť az network vnet createa podsíť, použijte .To create the virtual network and subnet, use az network vnet create. Spuštěním az network public-ip create vytvořte veřejnou IP adresu.Run az network public-ip create to create the public IP address.

az network vnet create \
  --name myVNet \
  --resource-group myResourceGroupAG \
  --location eastus \
  --address-prefix 10.0.0.0/16 \
  --subnet-name myAGSubnet \
  --subnet-prefix 10.0.1.0/24
az network vnet subnet create \
  --name myBackendSubnet \
  --resource-group myResourceGroupAG \
  --vnet-name myVNet   \
  --address-prefix 10.0.2.0/24
az network public-ip create \
  --resource-group myResourceGroupAG \
  --name myAGPublicIPAddress \
  --allocation-method Static \
  --sku Standard

Vytvoření back-endových serverůCreate the backend servers

Back-end může mít síťové karty, škálovací sady virtuálních počítačů, veřejné IP adresy, interní IP adresy, plně kvalifikované názvy domén (FQDN) a back-endy s více tenanty, jako je Azure App Service.A backend can have 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, které se použijí jako back-endové servery pro aplikační bránu.In this example, you create two virtual machines to use as backend servers for the application gateway. Službu IIS můžete také nainstalovat do virtuálních počítačů a otestovat bránu aplikace.You also install IIS on the virtual machines to test the application gateway.

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

Nainstalujte webový server NGINX do virtuálních počítačů a ověřte, zda byla aplikační brána úspěšně vytvořena.Install the NGINX web server on the virtual machines to verify the application gateway was successfully created. K instalaci NGINX a spuštění aplikace Node.js "Hello World" na virtuálním počítači s Linuxem můžete použít konfigurační soubor cloud-init.You can use a cloud-init configuration file to install NGINX and run a "Hello World" Node.js app on a Linux virtual machine. Další informace o cloud-init, najdete v tématu Podpora Cloud-init pro virtuální počítače v Azure.For more information about cloud-init, see Cloud-init support for virtual machines in Azure.

Ve svém Prostředí Azure Cloud Shell zkopírujte a vložte následující konfiguraci do souboru s názvem cloud-init.txt.In your Azure Cloud Shell, copy and paste the following configuration into a file named cloud-init.txt. Chcete-li soubor vytvořit, zadejte editor cloud-init.txt.Enter editor cloud-init.txt to create the file.

#cloud-config
package_upgrade: true
packages:
  - nginx
  - nodejs
  - npm
write_files:
  - owner: www-data:www-data
  - path: /etc/nginx/sites-available/default
    content: |
      server {
        listen 80;
        location / {
          proxy_pass http://localhost:3000;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection keep-alive;
          proxy_set_header Host $host;
          proxy_cache_bypass $http_upgrade;
        }
      }
  - owner: azureuser:azureuser
  - path: /home/azureuser/myapp/index.js
    content: |
      var express = require('express')
      var app = express()
      var os = require('os');
      app.get('/', function (req, res) {
        res.send('Hello World from host ' + os.hostname() + '!')
      })
      app.listen(3000, function () {
        console.log('Hello world app listening on port 3000!')
      })
runcmd:
  - service nginx restart
  - cd "/home/azureuser/myapp"
  - npm init
  - npm install express -y
  - nodejs index.js

Vytvořte síťová az network nic createrozhraní s programem .Create the network interfaces with az network nic create. Chcete-li vytvořit virtuální az vm createpočítače, použijte .To create the virtual machines, you use az vm create.

for i in `seq 1 2`; do
  az network nic create \
    --resource-group myResourceGroupAG \
    --name myNic$i \
    --vnet-name myVNet \
    --subnet myBackendSubnet
  az vm create \
    --resource-group myResourceGroupAG \
    --name myVM$i \
    --nics myNic$i \
    --image UbuntuLTS \
    --admin-username azureuser \
    --generate-ssh-keys \
    --custom-data cloud-init.txt
done

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

Vytvořte aplikační az network application-gateway createbránu pomocí aplikace .Create an application gateway using az network application-gateway create. Při vytváření aplikační brány pomocí příkazového příkazu k řešení Azure zadáte informace o konfiguraci, jako je kapacita, skladová položka a nastavení HTTP.When you create an application gateway with the Azure CLI, you specify configuration information, such as capacity, SKU, and HTTP settings. Azure pak přidá privátní IP adresy síťových rozhraní jako servery v back-endovém fondu aplikační brány.Azure then adds the private IP addresses of the network interfaces as servers in the backend pool of the application gateway.

address1=$(az network nic show --name myNic1 --resource-group myResourceGroupAG | grep "\"privateIpAddress\":" | grep -oE '[^ ]+$' | tr -d '",')
address2=$(az network nic show --name myNic2 --resource-group myResourceGroupAG | grep "\"privateIpAddress\":" | grep -oE '[^ ]+$' | tr -d '",')
az network application-gateway create \
  --name myAppGateway \
  --location eastus \
  --resource-group myResourceGroupAG \
  --capacity 2 \
  --sku Standard_v2 \
  --http-settings-cookie-based-affinity Enabled \
  --public-ip-address myAGPublicIPAddress \
  --vnet-name myVNet \
  --subnet myAGSubnet \
  --servers "$address1" "$address2"

Vytvoření aplikační brány může azure trvat až 30 minut.It can take up to 30 minutes for Azure to create the application gateway. Po vytvoření můžete zobrazit následující nastavení v části Nastavení na stránce Aplikační brána:After it's created, you can view the following settings in the Settings section of the Application gateway page:

  • appGatewayBackendPool: Nachází se na stránce back-endových fondů.appGatewayBackendPool: Located on the Backend pools page. Určuje požadovaný back-endový fond.It specifies the required backend pool.
  • appGatewayBackendHttpSettings: Nachází se na stránce nastavení HTTP.appGatewayBackendHttpSettings: Located on the HTTP settings page. Určuje, že aplikační brána používá port 80 a protokol HTTP pro komunikaci.It specifies that the application gateway uses port 80 and the HTTP protocol for communication.
  • appGatewayHttpListener: Nachází se na stránce Naslouchací procesy.appGatewayHttpListener: Located on the Listeners page. Určuje výchozí naslouchací proces přidružený k appGatewayBackendPool.It specifies the default listener associated with appGatewayBackendPool.
  • appGatewayFrontendIP: Nachází se na stránce Konfigurace IP front-endu.appGatewayFrontendIP: Located on the Frontend IP configurations page. Přiřazuje adresu myAGPublicIPAddress společnosti appGatewayHttpListener.It assigns myAGPublicIPAddress to appGatewayHttpListener.
  • pravidlo1: Nachází se na stránce Pravidla.rule1: Located on the Rules page. Určuje výchozí pravidlo směrování, které je přidruženo k appGatewayHttpListener.It specifies the default routing rule that's associated with appGatewayHttpListener.

Testování brány Application GatewayTest the application gateway

Přestože Azure k vytvoření aplikační brány nevyžaduje webový server NGINX, nainstalovali jste ho v tomto rychlém startu, abyste ověřili, jestli Azure úspěšně vytvořil aplikační bránu.Although Azure doesn't require an NGINX web server to create the application gateway, you installed it in this quickstart to verify whether Azure successfully created the application gateway. Chcete-li získat veřejnou IP adresu az network public-ip shownové aplikační brány, použijte .To get the public IP address of the new application gateway, use az network public-ip show.

az network public-ip show \
  --resource-group myResourceGroupAG \
  --name myAGPublicIPAddress \
  --query [ipAddress] \
  --output tsv

Zkopírujte a vložte veřejnou IP adresu do adresního řádku prohlížeče.Copy and paste the public IP address into the address bar of your browser.

Otestování aplikační brány

Při aktualizaci prohlížeče, měli byste vidět název druhého virtuálního počítače.When you refresh the browser, you should see the name of the second VM. To znamená, že aplikační brána byla úspěšně vytvořena a může se připojit k back-endu.This indicates the application gateway was successfully created and can connect with the backend.

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

Pokud už nepotřebujete prostředky, které jste vytvořili az group delete pomocí aplikační brány, pomocí příkazu odstraňte skupinu prostředků.When you no longer need the resources that you created with the application gateway, use the az group delete command to delete the resource group. Když odstraníte skupinu prostředků, odstraníte také bránu aplikace a všechny související prostředky.When you delete the resource group, you also delete the application gateway and all its related resources.

az group delete --name myResourceGroupAG

Další krokyNext steps