Megosztás a következőn keresztül:


Oktatóanyag: Alkalmazásátjáró létrehozása URL-útvonalalapú átirányítással az Azure CLI használatával

Az Azure CLI-vel url-útvonalalapú útválasztási szabályokat konfigurálhat egy application gateway létrehozásakor. Ebben az oktatóanyagban virtuális gép-méretezési készletek használatával hoz létre háttérkészleteket. Ezután létre kell hoznia az URL-útválasztási szabályokat, amelyek biztosítják, hogy a webes forgalom a megfelelő háttérkészletbe legyen átirányítva.

Ebben az oktatóanyagban a következőket sajátíthatja el:

  • A hálózat beállítása
  • Application Gateway létrehozása
  • Adjon hozzá figyelőket és útválasztási szabályokat
  • Virtuális gépek skálacsoportjainak létrehozása háttérkészletekhez

Az alábbi példa a 8080 és a 8081 portról érkező és ugyanazon háttérkészletek felé irányuló helyforgalmat mutatja be:

Példa az Application Gateway URL-útválasztási példájára.

Tetszés szerint elvégezheti ezt az oktatóanyagot az Azure PowerShell használatával.

Ha még nem rendelkezik Azure-fiókkal, első lépésként hozzon létre egy ingyenes fiókot.

Előfeltételek

  • Ehhez az oktatóanyaghoz az Azure CLI 2.0.4-es vagy újabb verziója szükséges. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.

Erőforráscsoport létrehozása

Az erőforráscsoport egy logikai tároló, amelyben az Azure-erőforrások üzembe helyezése és felügyelete történik. Hozzon létre egy erőforráscsoportot az az group create paranccsal.

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

Hozza létre a myVNet nevű virtuális hálózatot és a myAGSubnet nevű alhálózatot az az network vnet create paranccsal. Ezután hozzáadhatja a háttérkiszolgálók által igényelt myBackendSubnet nevű alhálózatot az az network vnet subnet create használatával. Hozza létre a myAGPublicIPAddress elnevezésű nyilvános IP-címet az az network public-ip create paranccsal.

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

Application Gateway létrehozása

Az az network application-gateway create használatával hozza létre a myAppGateway nevű application gatewayt. Amikor az Azure CLI-vel hoz létre egy Application Gatewayt, meg kell adnia bizonyos konfigurációs adatokat, például a kapacitást, az SKU-t, valamint a HTTP-beállításokat. Az myAGSubnethez és myPublicIPAddresshez rendelésre került az application gateway, amelyeket korábban létrehozott.

az network application-gateway create \
  --name myAppGateway \
  --location eastus \
  --resource-group myResourceGroupAG \
  --vnet-name myVNet \
  --subnet myAGsubnet \
  --capacity 2 \
  --sku Standard_v2 \
  --http-settings-cookie-based-affinity Disabled \
  --frontend-port 80 \
  --http-settings-port 80 \
  --http-settings-protocol Http \
  --public-ip-address myAGPublicIPAddress \
  --priority 100

Az alkalmazásátjáró létrehozása néhány percig is eltarthat. Az Application Gateway létrehozása után az alábbi új funkciók láthatók:

  • appGatewayBackendPool – Az Application Gatewayeknek legalább egy háttércímkészlettel kell rendelkezniük.
  • appGatewayBackendHttpSettings – Meghatározza, hogy a kommunikációhoz a rendszer a 80-as portot és egy HTTP-protokollt használ.
  • appGatewayHttpListener – Az appGatewayBackendPool készlethez társított alapértelmezett figyelő.
  • appGatewayFrontendIP – Hozzárendeli a myAGPublicIPAddress IP-címet az appGatewayHttpListener figyelőhöz.
  • rule1 – Az appGatewayHttpListener figyelőhöz rendelt alapértelmezett útválasztási szabály.

Háttér-pools és portok hozzáadása

Az az network application-gateway address-pool create használatával az alkalmazás átjáróhoz hozzáadhat címkészleteket a imagesBackendPool és a videoBackendPool néven. Az előtér portokat a készletekhez az az network application-gateway frontend-port create használatával adhatja hozzá.

az network application-gateway address-pool create \
  --gateway-name myAppGateway \
  --resource-group myResourceGroupAG \
  --name imagesBackendPool

az network application-gateway address-pool create \
  --gateway-name myAppGateway \
  --resource-group myResourceGroupAG \
  --name videoBackendPool

az network application-gateway frontend-port create \
  --port 8080 \
  --gateway-name myAppGateway \
  --resource-group myResourceGroupAG \
  --name bport

az network application-gateway frontend-port create \
  --port 8081 \
  --gateway-name myAppGateway \
  --resource-group myResourceGroupAG \
  --name rport

Adja hozzá a figyelőket és a szabályokat

Figyelők hozzáadása

Adja hozzá a backendListener és redirectedListener nevű háttérhallgatókat, amelyek szükségesek a forgalom irányításához az network application-gateway http-listener create használatával.

az network application-gateway http-listener create \
  --name backendListener \
  --frontend-ip appGatewayFrontendIP \
  --frontend-port bport \
  --resource-group myResourceGroupAG \
  --gateway-name myAppGateway

az network application-gateway http-listener create \
  --name redirectedListener \
  --frontend-ip appGatewayFrontendIP \
  --frontend-port rport \
  --resource-group myResourceGroupAG \
  --gateway-name myAppGateway

Az alapértelmezett URL-útvonaltérkép hozzáadása

Az URL-útvonaltérképek biztosítják, hogy adott URL-címek adott háttérkészletekhez legyenek irányítva. Az imagePathRule és videoPathRule nevű URL-útvonaltérképeket az az network application-gateway url-path-map create és az network application-gateway url-path-map rule create parancsok segítségével hozhatja létre.

az network application-gateway url-path-map create \
  --gateway-name myAppGateway \
  --name urlpathmap \
  --paths /images/* \
  --resource-group myResourceGroupAG \
  --address-pool imagesBackendPool \
  --default-address-pool appGatewayBackendPool \
  --default-http-settings appGatewayBackendHttpSettings \
  --http-settings appGatewayBackendHttpSettings \
  --rule-name imagePathRule

az network application-gateway url-path-map rule create \
  --gateway-name myAppGateway \
  --name videoPathRule \
  --resource-group myResourceGroupAG \
  --path-map-name urlpathmap \
  --paths /video/* \
  --address-pool videoBackendPool

Átirányítási konfiguráció hozzáadása

Az az network application-gateway redirect-config create használatával konfigurálhatja a figyelő átirányítását.

az network application-gateway redirect-config create \
  --gateway-name myAppGateway \
  --name redirectConfig \
  --resource-group myResourceGroupAG \
  --type Found \
  --include-path true \
  --include-query-string true \
  --target-listener backendListener

Az átirányítási URL-cím útvonaltérképének hozzáadása

az network application-gateway url-path-map create \
  --gateway-name myAppGateway \
  --name redirectpathmap \
  --paths /images/* \
  --resource-group myResourceGroupAG \
  --redirect-config redirectConfig \
  --rule-name redirectPathRule

Útválasztási szabályok hozzáadása

Az útválasztási szabályok az URL-útvonaltérképeket a létrehozott figyelőkkel társítják. Az defaultRule és redirectedRule nevű szabályokat az az network application-gateway rule create használatával adhatja hozzá.

az network application-gateway rule create \
  --gateway-name myAppGateway \
  --name defaultRule \
  --resource-group myResourceGroupAG \
  --http-listener backendListener \
  --rule-type PathBasedRouting \
  --url-path-map urlpathmap \
  --address-pool appGatewayBackendPool \
  --priority 100

az network application-gateway rule create \
  --gateway-name myAppGateway \
  --name redirectedRule \
  --resource-group myResourceGroupAG \
  --http-listener redirectedListener \
  --rule-type PathBasedRouting \
  --url-path-map redirectpathmap \
  --address-pool appGatewayBackendPool \
  --priority 100

Virtuális gép méretezési készletek létrehozása

Ebben a példában három virtuális gép skálázási készletet hoz létre, amelyek támogatják a három létrehozott háttérellátási készletet. A létrehozott méretezési csoportok neve myvmss1, myvmss2 és myvmss3. Minden méretezési csoport két virtuálisgép-példányt tartalmaz, amelyekre az NGINX-et telepíti.

Cserélje le <az Azure-felhasználót> és <a jelszót> egy tetszőleges felhasználónévre és jelszóra.

for i in `seq 1 3`; do
  if [ $i -eq 1 ]
  then
    poolName="appGatewayBackendPool"
  fi
  if [ $i -eq 2 ]
  then
    poolName="imagesBackendPool"
  fi
  if [ $i -eq 3 ]
  then
    poolName="videoBackendPool"
  fi

  az vmss create \
    --name myvmss$i \
    --resource-group myResourceGroupAG \
    --image Ubuntu2204 \
    --admin-username <azure-user> \
    --admin-password <password> \
    --instance-count 2 \
    --vnet-name myVNet \
    --subnet myBackendSubnet \
    --vm-sku Standard_DS2 \
    --upgrade-policy-mode Automatic \
    --app-gateway myAppGateway \
    --backend-pool-name $poolName
done

Az NGINX telepítése

for i in `seq 1 3`; do
  az vmss extension set \
    --publisher Microsoft.Azure.Extensions \
    --version 2.0 \
    --name CustomScript \
    --resource-group myResourceGroupAG \
    --vmss-name myvmss$i \
    --settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"], "commandToExecute": "./install_nginx.sh" }'

done

Az Application Gateway tesztelése

Az alkalmazásátjáró nyilvános IP-címének lekéréséhez használja az az network public-ip show parancsot. Másolja a nyilvános IP-címet, majd illessze be a böngésző címsorába. Például, http://40.121.222.19, http://40.121.222.19:8080/images/test.htm, http://40.121.222.19:8080/video/test.htmvagy http://40.121.222.19:8081/images/test.htm.

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

Az alap URL-cím tesztelése az alkalmazásátjáróban

Módosítsa az URL-címet a következőre: http://<ip-address>:8080/images/test.html, cserélje le a <ip-address> helyére az ön IP-címét, és az alábbi példához hasonlót kell látnia:

Képek URL-címének tesztelése az alkalmazásátjáróban

Módosítsa az URL-címet http://<ip-cím>:8080/video/test.htmlformátumra, cserélje le az IP-címét a saját ip-címére<>, és az alábbi példához hasonlót kell látnia:

Tesztvideó URL-címe az alkalmazásátjáróban

Most módosítsa az URL-címet erre: http://<ip-address>:8081/images/test.htm. Cserélje le az <ip-address> elem helyére a saját IP-címét, és látnia kell, hogy a forgalom vissza lesz irányítva a képek kiszolgáló háttérkészletére a következő címen: http://<ip-address>:8080/images.

Erőforrások tisztítása

Ha már nincs rá szükség, távolítsa el az erőforráscsoportot, az alkalmazásátjárót és az összes kapcsolódó erőforrást.

az group delete --name myResourceGroupAG

Következő lépések