Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Jako správce IT, který spravuje webový provoz, chcete zákazníkům a uživatelům pomoct co nejrychleji získat potřebné informace. Jedním ze způsobů, jak můžete jejich zážitek optimalizovat, je směrovat různé druhy webového provozu na různé serverové prostředky. V tomto článku se dozvíte, jak pomocí Azure CLI nastavit a nakonfigurovat směrování služby Application Gateway pro různé typy provozu z vaší aplikace. Směrování pak nasměruje provoz do různých skupin serverů na základě adresy URL.
V tomto článku získáte informace o těchto tématech:
- Vytvořte skupinu prostředků pro síťové prostředky, které potřebujete
- Vytvoření síťových prostředků
- Vytvoření aplikační brány pro provoz přicházející z vaší aplikace
- Specifikujte fondy serverů a pravidla směrování pro různé typy provozu
- Vytvořte škálovací sady pro každý fond, a každému fondu tak umožní automaticky škálovat.
- Proveďte test, abyste ověřili, že různé typy provozu směřují do správného fondu.
Pokud chcete, můžete tento postup provést 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
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Začínáme s Azure Cloud Shellem.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Ověřování v Azure pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Použití a správa rozšíření pomocí Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
- Tento kurz vyžaduje verzi 2.0.4 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.
Vytvoření skupiny zdrojů
Skupina prostředků je logický kontejner, který se používá k nasazení a správě prostředků Azure. Skupinu prostředků vytvoříte 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ů
Pomocí příkazu vytvořte virtuální síť myVNet a podsíť az network vnet create. Potom přidejte podsíť s názvem myBackendSubnet , kterou potřebují back-endové servery pomocí az network vnet subnet create. Pomocí příkazu vytvořte veřejnou IP adresu 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
Vytvoření aplikační brány s mapou adres URL
Pomocí příkazu az network application-gateway create vytvořte aplikační bránu myAppGateway. Při vytváření aplikační brány pomocí Azure CLI zadáte konfigurační informace, jako je kapacita, SKU a nastavení HTTP. Aplikační brána je přiřazená k podsítě myAGSubnet a myAGPublicIPAddress.
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
Vytvoření aplikační brány může trvat několik minut. Po vytvoření aplikační brány se zobrazí tyto nové funkce:
| Funkce | Popis |
|---|---|
| appGatewayBackendPool | Aplikační brána musí mít alespoň jeden back-endový fond adres. |
| Nastavení HTTP back-endu pro bránu aplikace | Určuje, že ke komunikaci se používá port 80 a protokol HTTP. |
| appGatewayHttpListener | Výchozí posluchač přidružený k appGatewayBackendPool. |
| brána uživatelského rozhraní aplikace IP | Přiřadí myAGPublicIPAddress k appGatewayHttpListener. |
| rule1 | Výchozí pravidlo směrování přidružené k naslouchacímu procesu appGatewayHttpListener. |
Přidání back-endových fondů a portu pro obrázky a videa
Pomocí přidejte do aplikační brány záložní fondy pojmenované imagesBackendPool a az network application-gateway address-pool create. Pomocí příkazu az network application-gateway frontend-port create přidejte pro fondy front-endový port.
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
Přidat backendový posluchač
Přidejte backendový posluchač pojmenovaný backendListener, který je potřeba ke směrování provozu pomocí az network application-gateway http-listener create.
az network application-gateway http-listener create \
--name backendListener \
--frontend-ip appGatewayFrontendIP \
--frontend-port port8080 \
--resource-group myResourceGroupAG \
--gateway-name myAppGateway
Přidat mapu cest URL
Mapy cest URL zajišťují přesměrování konkrétních adres URL na konkrétní back-endové skupiny. Pomocí a vytvořte mapy cest adres URL pojmenované az network application-gateway url-path-map create a az network application-gateway url-path-map rule create.
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
Přidání pravidla směrování
Pravidlo směrování přidruží mapy adres URL k posluchači, který jste vytvořili. Pomocí příkazu přidejte pravidlo 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
Vytvoření škálovacích sad virtuálních počítačů
V tomto článku vytvoříte tři škálovací sady virtuálních počítačů, které podporují tři back-endové pooly, které jste vytvořili. Vytvořené škálovací sady se jmenují myvmss1, myvmss2 a myvmss3. Každá škálovací sada obsahuje dvě instance virtuálních počítačů, na které nainstalujete server NGINX.
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
Instalace serveru NGINX
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
Otestování aplikační brány
K získání veřejné IP adresy aplikační brány použijte příkaz az network public-ip show. Zkopírujte veřejnou IP adresu a pak ji vložte do adresního řádku svého prohlížeče. Příklad: http://40.121.222.19, http://40.121.222.19:8080/images/test.htm nebo http://40.121.222.19:8080/video/test.htm.
az network public-ip show \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--query [ipAddress] \
--output tsv
Změňte adresu URL na http://< ip-address>:8080/images/test.html, nahraďte IP adresu IP< adresou >a měli byste vidět něco jako v následujícím příkladu:
Změňte adresu URL na http://< ip-address>:8080/video/test.html, nahraďte IP adresu IP< adresou >a měli byste vidět něco jako v následujícím příkladu.
Vyčištění prostředků
Pokud už je nepotřebujete, odeberte skupinu prostředků, aplikační bránu a všechny související prostředky.
az group delete --name myResourceGroupAG
Další kroky
Vytvoření aplikační brány se směrováním založeným na cestě URL