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 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.

Koncepční diagram nastavení rychlého startu

Tento rychlý start můžete dokončit také pomocí Azure PowerShellu nebo webu Azure Portal.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure 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:

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é).

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 vytvoříte skupinu prostředků s názvem myResourceGroupAG v umístění eastus.

az group create --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. 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:

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é).

K vytvoření virtuální sítě a podsítě použijte az network vnet create. Spuštěním vytvořte az network public-ip create 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 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 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.

Ve službě Azure Cloud Shell 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 back-endových fondů . Určuje požadovaný back-endový fond.
  • 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í procesy. Určuje výchozí naslouchací proces přidružený k appGatewayBackendPool.
  • appGatewayFrontendIP: Nachází se na stránce konfigurace front-endových IP adres . Přiřadí myAGPublicIPAddress appGatewayHttpListener.
  • rule1: Nachází se na stránce Pravidla . Určuje výchozí pravidlo směrování přidružené k appGatewayHttpListener.

Otestová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. ​ Otestová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čištění prostředků

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