Vytvoření aplikační brány s interním přesměrováním pomocí Azure CLI
Pomocí Azure CLI můžete při vytváření aplikační brány nakonfigurovat přesměrování webového provozu. V tomto kurzu definujete back-endový fond pomocí škálovací sady virtuálních počítačů. Potom nakonfigurujete naslouchací procesy a pravidla na základě domén, které vlastníte, aby se zajistilo, že webový provoz dorazí do příslušného fondu. V tomto kurzu se předpokládá, že vlastníte více domén a používáte příklady www.contoso.com a www.contoso.org.
V tomto článku získáte informace o těchto tématech:
- Nastavit síť
- Vytvoření brány Application Gateway
- Přidání naslouchacích procesů a pravidla přesměrování
- Vytvoření škálovací sady virtuálních počítačů s back-endovým fondem
- Vytvořit v doméně záznam CNAME
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
Požadavky
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
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 Přihlášení 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 Využití rozšíření v 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, ve kterém se nasazují a spravují prostředky Azure. 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ů
Pomocí příkazu az network vnet create vytvořte virtuální síť s názvem myVNet a podsíť s názvem myAGSubnet. Potom můžete přidat podsíť s názvem myBackendSubnet , kterou potřebuje back-endový fond serverů, pomocí příkazu az network vnet subnet create. Pomocí příkazu az network public-ip create vytvořte veřejnou IP adresu s názvem myAGPublicIPAddress.
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
Vytvoření brány Application Gateway
K vytvoření aplikační brány s názvem myAppGateway použijte příkaz az network application-gateway create. Při vytváření aplikační brány pomocí Azure CLI zadáte konfigurační údaje, jako je kapacita, skladová položka nebo nastavení HTTP. Aplikační brána je přiřazena k již vytvořené podsíti myAGSubnet a adrese myAGPublicIPAddress.
az network application-gateway create \
--name myAppGateway \
--location eastus \
--resource-group myResourceGroupAG \
--vnet-name myVNet \
--subnet myAGsubnet \
--capacity 2 \
--sku Standard_Medium \
--http-settings-cookie-based-affinity Disabled \
--frontend-port 80 \
--http-settings-port 80 \
--http-settings-protocol Http \
--public-ip-address myAGPublicIPAddress
Vytvoření aplikační brány může trvat několik minut. Po vytvoření aplikační brány se zobrazí tyto její nové funkce:
- appGatewayBackendPool – aplikační brána musí mít aspoň jeden back-endový fond adres.
- appGatewayBackendHttpSettings – určuje, že se ke komunikaci používá port 80 a protokol HTTP.
- appGatewayHttpListener – výchozí naslouchací proces přidružený k appGatewayBackendPool.
- appGatewayFrontendIP – přiřadí adresu myAGPublicIPAddress naslouchacímu procesu appGatewayHttpListener.
- rule1 – výchozí pravidlo směrování přidružené k naslouchacímu procesu appGatewayHttpListener.
Přidání naslouchacích procesů a pravidel
Naslouchací proces je potřeba k tomu, aby brána Application Gateway mohla správně směrovat provoz na back-endový fond. V tomto kurzu vytvoříte dva naslouchací procesy pro dvě domény. V tomto příkladu se naslouchací procesy vytvoří pro domény www.contoso.com a www.contoso.org.
Přidejte back-endové naslouchací procesy, které jsou potřeba ke směrování provozu, příkazem az network application-gateway http-listener create.
az network application-gateway http-listener create \
--name contosoComListener \
--frontend-ip appGatewayFrontendIP \
--frontend-port appGatewayFrontendPort \
--resource-group myResourceGroupAG \
--gateway-name myAppGateway \
--host-name www.contoso.com
az network application-gateway http-listener create \
--name contosoOrgListener \
--frontend-ip appGatewayFrontendIP \
--frontend-port appGatewayFrontendPort \
--resource-group myResourceGroupAG \
--gateway-name myAppGateway \
--host-name www.contoso.org
Přidání konfigurace přesměrování
Přidejte konfiguraci přesměrování, která odesílá provoz z www.contoso.org do naslouchacího procesu pro www.contoso.com ve službě Application Gateway pomocí příkazu az network application-gateway redirect-config create.
az network application-gateway redirect-config create \
--name orgToCom \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--type Permanent \
--target-listener contosoListener \
--include-path true \
--include-query-string true
Přidání pravidel směrování
Pravidla se zpracovávají v pořadí, v jakém se vytvářejí, a provoz se směruje pomocí prvního pravidla, které odpovídá adrese URL odeslané do aplikační brány. Pokud máte například na stejném portu pravidlo založené na základním naslouchacím procesu a pravidlo založené na naslouchacím procesu pro více webů, musí být pravidlo s naslouchacím procesem pro více webů uvedeno před pravidlem se základním naslouchacím procesem, aby fungovalo podle očekávání.
V tomto příkladu vytvoříte dvě nová pravidla a odstraníte výchozí pravidlo, které bylo vytvořeno. Pravidlo přidáte příkazem az network application-gateway rule create.
az network application-gateway rule create \
--gateway-name myAppGateway \
--name contosoComRule \
--resource-group myResourceGroupAG \
--http-listener contosoComListener \
--rule-type Basic \
--address-pool appGatewayBackendPool
az network application-gateway rule create \
--gateway-name myAppGateway \
--name contosoOrgRule \
--resource-group myResourceGroupAG \
--http-listener contosoOrgListener \
--rule-type Basic \
--redirect-config orgToCom
az network application-gateway rule delete \
--gateway-name myAppGateway \
--name rule1 \
--resource-group myResourceGroupAG
Vytvoření škálovacích sad virtuálních počítačů
V tomto příkladu vytvoříte škálovací sadu virtuálních počítačů, která podporuje back-endový fond, který jste vytvořili. Škálovací sada, kterou vytvoříte, má název myvmss a obsahuje dvě instance virtuálních počítačů, na které nainstalujete NGINX.
az vmss create \
--name myvmss \
--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 appGatewayBackendPool
Instalace serveru NGINX
Spusťte tento příkaz v okně prostředí:
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroupAG \
--vmss-name myvmss \
--settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"],
"commandToExecute": "./install_nginx.sh" }'
Vytvoření názvu CNAME v doméně
Jakmile vytvoříte aplikační bránu s veřejnou IP adresou, získáte adresu DNS, kterou můžete použít k vytvoření záznamu CNAME ve své doméně. K získání adresy DNS aplikační brány použijte příkaz az network public-ip show. Zkopírujte hodnotu fqdn z objektu DNESettings a použijte ji jako hodnotu vytvořeného záznamu CNAME. Použití záznamů typu A se nedoporučuje, protože virtuální IP adresa se při restartování aplikační brány může změnit.
az network public-ip show \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--query [dnsSettings.fqdn] \
--output tsv
Otestování aplikační brány
Do adresního řádku prohlížeče zadejte název domény. Například http://www.contoso.com.
Změňte adresu na jinou doménu, například http://www.contoso.org a měli byste vidět, že se provoz přesměroval zpět do naslouchacího procesu pro www.contoso.com.
Další kroky
V tomto kurzu jste se naučili, jak:
- Nastavit síť
- Vytvoření brány Application Gateway
- Přidání naslouchacích procesů a pravidla přesměrování
- Vytvoření škálovací sady virtuálních počítačů s back-endovým fondem
- Vytvořit v doméně záznam CNAME