Első lépések – A webes forgalom irányítása az Azure Application Gateway szolgáltatással – Azure CLI

Ebben a rövid útmutatóban az Azure CLI használatával hozhat létre egy alkalmazásátjárót. Ezután tesztelje, hogy megfelelően működik-e.

Az Application Gateway egy háttérkészlet adott erőforrásaira irányítja az alkalmazás webes forgalmát. Figyelőket rendelhet a portokhoz, szabályokat hozhat létre, és erőforrásokat adhat hozzá egy háttérkészlethez. Az egyszerűség kedvéért ez a cikk egy egyszerű beállítást használ egy nyilvános előtérbeli IP-címmel, egy alapszintű figyelővel, amely egyetlen helyet üzemeltet az Application Gatewayen, egy alapszintű kérés-útválasztási szabályt és két virtuális gépet a háttérkészletben.

application gateway resources

Ezt a rövid útmutatót az Azure PowerShell vagy az Azure Portal használatával is elvégezheti.

Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

Előfeltételek

  • Ez a cikk az Azure CLI 2.0.4-es vagy újabb verzióját igényli. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.

Erőforráscsoport létrehozása

Az Azure-ban hozzárendelhet kapcsolódó erőforrásokat egy erőforráscsoporthoz. Erőforráscsoport létrehozása a következő használatával az group create: .

A következő példában létrehozunk egy myResourceGroupAG nevű erőforráscsoportot az eastus helyen.

az group create --name myResourceGroupAG --location eastus

Hálózati erőforrások létrehozása

Ahhoz, hogy az Azure kommunikálhasson a létrehozott erőforrások között, virtuális hálózatra van szüksége. Az Application Gateway alhálózata csak alkalmazásátjárókat tartalmazhat. Más erőforrások nem engedélyezettek. Létrehozhat egy új alhálózatot az Application Gatewayhez, vagy használhat egy meglévőt. Ebben a példában két alhálózatot hoz létre: egyet az application gatewayhez, a másikat a háttérkiszolgálókhoz. Az Application Gateway előtérbeli IP-címét konfigurálhatja úgy, hogy a használati esetnek megfelelően nyilvános vagy privát legyen. Ebben a példában egy nyilvános előtérbeli IP-címet fog választani.

Feljegyzés

Az Application Gateway előtere mostantól támogatja a kettős veremű IP-címeket (nyilvános előzetes verzió). Mostantól legfeljebb négy előtérbeli IP-címet hozhat létre: két IPv4-címet (nyilvános és privát) és két IPv6-címet (nyilvános és privát).

A virtuális hálózat és az alhálózat létrehozásához használja a következőt az network vnet create: . Futtassa az network public-ip create a nyilvános IP-cím létrehozásához.

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

A háttérkiszolgálók létrehozása

A háttérrendszer tartalmazhat hálózati adaptereket, virtuálisgép-méretezési csoportokat, nyilvános IP-címeket, belső IP-címeket, teljes tartományneveket (FQDN) és több-bérlős háttérrendszereket, például Azure-alkalmazás szolgáltatást. Ebben a példában két virtuális gépet hoz létre az Application Gateway háttérkiszolgálójaként. Az NGINX-et a virtuális gépekre is telepítheti az Application Gateway teszteléséhez.

Két virtuális gép létrehozása

Telepítse az NGINX-webkiszolgálót a virtuális gépekre az application gateway sikeres létrehozásának ellenőrzéséhez. A cloud-init konfigurációs fájllal telepítheti az NGINX-et, és futtathat egy ""Helló világ!" alkalmazás" Node.js-alkalmazást Linux rendszerű virtuális gépen. A cloud-init szolgáltatással kapcsolatos további információkért lásd : Cloud-init-támogatás az Azure-beli virtuális gépekhez.

Az Azure Cloud Shellben másolja és illessze be a következő konfigurációt egy cloud-init.txt nevű fájlba. A fájl létrehozásához írja be a cloud-init.txt szerkesztőt.

#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

Hozza létre a hálózati adaptereket a következővel az network nic create: . A virtuális gépek létrehozásához a következőt kell használnia 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

Application Gateway létrehozása

Alkalmazásátjáró létrehozása a következővel az network application-gateway create: . Amikor az Azure CLI-vel hoz létre egy application Gatewayt, meg kell adnia a konfigurációs adatokat, például a kapacitást, az termékváltozatot és a HTTP-beállításokat. Az Azure ezután hozzáadja a hálózati adapterek privát IP-címét kiszolgálóként az Application Gateway háttérkészletében.

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

Az Application Gateway létrehozása akár 30 percet is igénybe vehet. A létrehozás után az Alábbi beállításokat tekintheti meg az Application Gateway lap Gépház szakaszában:

  • appGatewayBackendPool: A Háttérkészletek lapon található. Megadja a szükséges háttérkészletet.
  • appGatewayBackendHttp Gépház: A HTTP-beállítások oldalán található. Meghatározza, hogy az Application Gateway a 80-s portot és a HTTP protokollt használja a kommunikációhoz.
  • appGatewayHttpListener: A Figyelők lapon található. Megadja az appGatewayBackendPoolhoz társított alapértelmezett figyelőt.
  • appGatewayFrontendIP: Az Előtérbeli IP-konfigurációk lapon található. Hozzárendeli a myAGPublicIPAddress parancsot az appGatewayHttpListenerhez.
  • szabály1: A Szabályok lapon található. Megadja az appGatewayHttpListenerhez társított alapértelmezett útválasztási szabályt.

Az alkalmazásátjáró tesztelése

Bár az Azure-nak nincs szüksége NGINX-webkiszolgálóra az application gateway létrehozásához, ebben a rövid útmutatóban telepítette annak ellenőrzéséhez, hogy az Azure sikeresen létrehozta-e az application gatewayt. Az új application gateway nyilvános IP-címének lekéréséhez használja a következőt az network public-ip show: .

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

Másolja és illessze be a nyilvános IP-címet a böngésző címsorába. ​ Test application gateway

A böngésző frissítésekor látnia kell a második virtuális gép nevét. Ez azt jelzi, hogy az application gateway sikeresen létrejött, és csatlakozni tud a háttérrendszerhez.

Az erőforrások eltávolítása

Ha már nincs szüksége az application gatewayrel létrehozott erőforrásokra, a az group delete paranccsal törölje az erőforráscsoportot. Az erőforráscsoport törlésekor az Application Gatewayt és annak összes kapcsolódó erőforrását is törli.

az group delete --name myResourceGroupAG

Következő lépések