Sdílet prostřednictvím


Rychlý start: Směrování webového provozu pomocí služby Azure Application Gateway – Azure CLI

V tomto rychlém startu pomocí Azure CLI 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 backendovém poolu. 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 PowerShellu nebo webu Azure Portal.

Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.

Požadavky

  • Tento článek vyžaduje verzi 2.0.4 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.

Poznámka:

Frontend služby Application Gateway teď podporuje dual-stack IP adresy (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řit skupinu zdrojů

V Azure přidělíte související prostředky ke skupině prostředků. Vytvořte skupinu prostředků pomocí příkazu az group create.

V následujícím příkladu se vytvoří skupina prostředků s názvem myResourceGroupAG v lokalitě eastus.

az group create --name myResourceGroupAG --location eastus

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

Aby služba Azure mohla komunikovat 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. Front-endovou IP adresu 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.

Poznámka:

Frontend služby Application Gateway nyní podporuje duální IP adresy (Veřejný náhled). 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é).

K vytvoření virtuální sítě a podsítě použijte az network vnet create. Spusťte az network public-ip create a vytvořte veřejnou IP adresu.

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

Vytvoření back-endových serverů

Back-end může obsahovat 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. 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 NGINX a otestujete aplikační bránu.

Vytvoření dvou virtuálních počítačů

Nainstalujte webový server NGINX na virtuální počítače, abyste ověřili úspěšné vytvoření aplikační brány. Konfigurační soubor cloud-init můžete použít k instalaci serveru NGINX a spuštění aplikace Hello World Node.js na virtuálním počítači s Linuxem. Další informace o cloud-init najdete v tématu Podpora cloud-init pro virtuální počítače v Azure.

V Azure Cloud Shellu zkopírujte a vložte následující konfiguraci do souboru s názvem cloud-init.txt. Zadáním editoru cloud-init.txt soubor vytvořte.

#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á rozhraní pomocí az network nic createpříkazu . K vytvoření virtuálních počítačů použijete 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 Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys \
    --custom-data cloud-init.txt
done

Vytvoření služby Application Gateway

Vytvoření aplikační brány pomocí az network application-gateway create. Při vytváření aplikační brány pomocí Azure CLI zadáte informace o konfiguraci, jako je kapacita, skladová položka (například: Basic) a nastavení HTTP. Azure pak přidá privátní IP adresy síťových rozhraní jako servery v back-endovém fondu aplikační brány.

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

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 \
  --public-ip-address myAGPublicIPAddress \
  --vnet-name myVNet \
  --subnet myAGSubnet \
  --servers "$address1" "$address2" \
  --priority 100

Vytvoření aplikační brány azure může trvat až 30 minut. Po vytvoření můžete v části Nastavení na stránce Application Gateway zobrazit následující nastavení:

  • appGatewayBackendPool: Nachází se na stránce skupin back-endů. Určuje požadovaný back-end pool.
  • appGatewayBackendHttpSettings: Nachází se na stránce nastavení HTTP . Určuje, že aplikační brána používá pro komunikaci port 80 a protokol HTTP.
  • appGatewayHttpListener: Nachází se na stránce Naslouchací. Určuje výchozí naslouchající přidružený k appGatewayBackendPool.
  • appGatewayFrontendIP: Nachází se na stránce konfigurace front-endových IP adres . Přiřadí objekt myAGPublicIPAddress k appGatewayHttpListener.
  • rule1: Nachází se na stránce Pravidla . Určuje výchozí pravidlo směrování přidružené k appGatewayHttpListener.

Poznámka:

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.

Testování aplikační brány

I když Azure k vytvoření aplikační brány nevyžaduje webový server NGINX, nainstalovali jste ho v tomto rychlém startu a ověřili, jestli Azure úspěšně vytvořila aplikační bránu. Pokud chcete získat veřejnou IP adresu nové aplikační brány, použijte 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. Testování aplikační brány

Při aktualizaci prohlížeče by se měl zobrazit název druhého virtuálního počítače. To znamená, že se služba Application Gateway úspěšně vytvořila a může se připojit k back-endu.

Vyčistěte zdroje

Pokud už nepotřebujete prostředky, které jste vytvořili pomocí služby Application Gateway, odstraňte skupinu prostředků pomocí az group delete příkazu. Když odstraníte skupinu prostředků, odstraníte také aplikační bránu a všechny související prostředky.

az group delete --name myResourceGroupAG

Další kroky