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


Webes forgalom átirányítása az URL-cím alapján az Azure CLI használatával

A webes forgalmat kezelő informatikai rendszergazdaként szeretne segíteni az ügyfeleknek és a felhasználóknak a szükséges információk lehető leggyorsabb beszerzésében. A felhasználói élmény optimalizálásának egyik módja a különböző típusú webes forgalom különböző kiszolgálói erőforrásokhoz való átirányítása. Ez a cikk bemutatja, hogyan állíthatja be és konfigurálhatja az Application Gateway útválasztását az Azure CLI használatával az alkalmazás különböző típusú forgalmához. Az útválasztás ezután az URL-cím alapján különböző kiszolgálókészletekre irányítja a forgalmat.

URL-útválasztási példa

Ebből a cikkből megtudhatja, hogyan:

  • Erőforráscsoport létrehozása a szükséges hálózati erőforrásokhoz
  • A hálózati erőforrások létrehozása
  • Application Gateway létrehozása az alkalmazásból érkező forgalomhoz
  • Kiszolgálókészletek és útválasztási szabályok megadása a különböző típusú forgalomhoz
  • Méretezési csoport létrehozása minden készlethez, hogy a készlet automatikusan skálázható legyen
  • Teszt futtatása annak ellenőrzéséhez, hogy a különböző típusú forgalom a megfelelő készletbe kerül-e

Tetszés szerint ezt az eljárást az Azure PowerShell vagy az Azure Portal használatával hajthatja végre.

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 group create használatával.

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 a használatával az network vnet create. Ezután, a segítségével, adjon hozzá egy az network vnet subnet create, amelyre a háttérkiszolgálóknak van szükségük. Hozza létre a myAGPublicIPAddress nevű nyilvános IP-címet a használatával az network public-ip create.

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

Az alkalmazásátjáró létrehozása URL-térképpel

A az network application-gateway create nevű alkalmazásátjáró létrehozásához használható. 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 application gateway a myAGSubnethez és a myAGPublicIPAddresshez van rendelve.

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 több percig is eltarthat. Az Application Gateway létrehozása után az alábbi új funkciók láthatók:

Tulajdonság Leírás
appGatewayBackendPool Az application gatewaynek legalább egy háttércímkészletet kell tartalmaznia.
appGatewayBackendHttpSettings Megadja, hogy a 80-s port és a HTTP protokoll használható-e a kommunikációhoz.
appGatewayHttpListener Az appGatewayBackendPoolhoz társított alapértelmezett figyelő
appGatewayFrontendIP Az appGatewayHttpListenerhez hozzárendeli a myAGPublicIPAddress-t.
szabály1 Az appGatewayHttpListenerhez társított alapértelmezett útválasztási szabály.

Kép- és video-háttérkészletek és port hozzáadása

Adja hozzá az imagesBackendPool és a videoBackendPool nevű háttérkészleteket az alkalmazás-átjáróhoz a az network application-gateway address-pool create használatával. A készletek frontend portját a az network application-gateway frontend-port create segítségével 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 port8080

Háttérfigyelő hozzáadása

Adja hozzá a backendListener nevű háttérrendszer-figyelőt, amely szükséges a forgalom az network application-gateway http-listener create irányításához.

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

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. Hozzon létre imagePathRule és videoPathRule nevű URL-elérési utakat az network application-gateway url-path-map create és az network application-gateway url-path-map rule create használatával.

az network application-gateway url-path-map create \
  --gateway-name myAppGateway \
  --name myPathMap \
  --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 myPathMap \
  --paths /video/* \
  --address-pool videoBackendPool \
  --http-settings appGatewayBackendHttpSettings

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

Az útválasztási szabály az URL-térképeket a létrehozott figyelővel társítja. Adjon hozzá egy szabály2 nevű szabályt a következővel az network application-gateway rule create: .

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

Virtuális gép-méretezési csoportok létrehozása

Ebben a cikkben három virtuálisgép-méretezési csoportot hoz létre, amelyek támogatják a létrehozott három háttérkészletet. Létrehozhat myvmss1, myvmss2 és myvmss3 nevű méretezési csoportokat. Minden méretezési csoport két virtuálisgép-példányt tartalmaz, ahol telepíti az NGINX-et.

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 azureuser \
    --admin-password Azure123456! \
    --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 Application Gateway 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 vagy http://40.121.222.19:8080/video/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-t http://<ip-cím>:8080/video/test.htmlformára, cserélje le az ip-címét <ip-címre>, és az alábbi példához hasonlót kell látnia.

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

Erőforrások tisztítása

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

az group delete --name myResourceGroupAG

Következő lépések

Application Gateway létrehozása URL-alapú átirányítással