Rychlý start: Směrování webového provozu pomocí služby Azure Application Gateway – Azure CLI
V tomto rychlém startu pomocí Azure CLI vytvoříte aplikační bránu. Pak ho otestujete, abyste měli jistotu, že funguje správně.
Aplikační brána směruje webový provoz aplikací na konkrétní prostředky v back-endovém fondu. Přiřadíte naslouchací procesy k portům, vytvoříte pravidla a přidáte prostředky do back-endového fondu. Pro zjednodušení tento článek používá jednoduché nastavení s veřejnou front-endovou IP adresou, základním naslouchacím procesem pro hostování jedné lokality ve službě Application Gateway, základním pravidlem směrování požadavků a dvěma virtuálními počítači v back-endovém fondu.
Tento rychlý start můžete dokončit také pomocí Azure PowerShellu nebo webu Azure Portal.
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 článek vyžaduje verzi 2.0.4 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.
Poznámka:
Front-end služby Application Gateway teď podporuje IP adresy se dvěma zásobníky (Preview). Teď můžete vytvořit až čtyři front-endové IP adresy: dvě IPv4 adresy (veřejné a soukromé) a dvě IPv6 adresy (veřejné a soukromé).
Vytvořit skupinu zdrojů
V Azure přidělíte související prostředky ke skupině prostředků. 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ů
Aby Služba Azure komunikuje mezi prostředky, které vytvoříte, potřebuje virtuální síť. Podsíť aplikační brány může obsahovat pouze aplikační brány. Nejsou povoleny žádné další prostředky. Můžete buď vytvořit novou podsíť pro Službu Application Gateway, nebo použít existující. V tomto příkladu vytvoříte dvě podsítě: jednu pro aplikační bránu a druhou pro back-endové servery. Front-endovou IP adresu služby Application Gateway můžete nakonfigurovat tak, aby byla veřejná nebo soukromá podle vašeho případu použití. V tomto příkladu zvolíte veřejnou IP adresu front-endu.
Poznámka:
Front-end služby Application Gateway teď podporuje IP adresy se dvěma zásobníky (Public Preview). Teď můžete vytvořit až čtyři front-endové IP adresy: dvě IPv4 adresy (veřejné a soukromé) a dvě IPv6 adresy (veřejné a soukromé).
K vytvoření virtuální sítě a podsítě použijte az network vnet create
. Spuštěním vytvořte az network public-ip create
veřejnou IP adresu.
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
Vytvoření back-endových serverů
Back-end může obsahovat síťové karty, škálovací sady virtuálních počítačů, veřejné IP adresy, interní IP adresy, plně kvalifikované názvy domén (FQDN) a back-endy s více tenanty, jako je Aplikace Azure Service. V tomto příkladu vytvoříte dva virtuální počítače, které se použijí jako back-endové servery pro aplikační bránu. Na virtuální počítače také nainstalujete NGINX a otestujete aplikační bránu.
Vytvoření dvou virtuálních počítačů
Nainstalujte webový server NGINX na virtuální počítače, abyste ověřili úspěšné vytvoření aplikační brány. Konfigurační soubor cloud-init můžete použít k instalaci serveru NGINX a spuštění aplikace Hello World Node.js na virtuálním počítači s Linuxem. Další informace o cloud-init najdete v tématu Podpora cloud-init pro virtuální počítače v Azure.
Ve službě Azure Cloud Shell zkopírujte a vložte následující konfiguraci do souboru s názvem cloud-init.txt. Zadáním editoru cloud-init.txt soubor vytvořte.
#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
Vytvořte síťová rozhraní pomocí az network nic create
příkazu . K vytvoření virtuálních počítačů použijete 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
Vytvoření služby Application Gateway
Vytvoření aplikační brány pomocí az network application-gateway create
. Při vytváření aplikační brány pomocí Azure CLI zadáte informace o konfiguraci, jako je kapacita, skladová položka (například: Basic
) a nastavení HTTP. Azure pak přidá privátní IP adresy síťových rozhraní jako servery v back-endovém fondu aplikační brány.
V tomto příkladu se používá skladová položka Standard v2.
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
Vytvoření aplikační brány azure může trvat až 30 minut. Po vytvoření můžete v části Nastavení na stránce Application Gateway zobrazit následující nastavení:
- appGatewayBackendPool: Nachází se na stránce back-endových fondů . Určuje požadovaný back-endový fond.
- appGatewayBackendHttpSettings: Nachází se na stránce nastavení HTTP. Určuje, že aplikační brána používá pro komunikaci port 80 a protokol HTTP.
- appGatewayHttpListener: Nachází se na stránce Naslouchací procesy. Určuje výchozí naslouchací proces přidružený k appGatewayBackendPool.
- appGatewayFrontendIP: Nachází se na stránce konfigurace front-endových IP adres . Přiřadí myAGPublicIPAddress appGatewayHttpListener.
- rule1: Nachází se na stránce Pravidla . Určuje výchozí pravidlo směrování přidružené k appGatewayHttpListener.
Otestování aplikační brány
I když Azure k vytvoření aplikační brány nevyžaduje webový server NGINX, nainstalovali jste ho v tomto rychlém startu a ověřili, jestli Azure úspěšně vytvořila aplikační bránu. Pokud chcete získat veřejnou IP adresu nové aplikační brány, použijte az network public-ip show
.
az network public-ip show \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--query [ipAddress] \
--output tsv
Zkopírujte a vložte veřejnou IP adresu do adresního řádku prohlížeče.
Při aktualizaci prohlížeče by se měl zobrazit název druhého virtuálního počítače. To znamená, že se služba Application Gateway úspěšně vytvořila a může se připojit k back-endu.
Vyčištění prostředků
Pokud už nepotřebujete prostředky, které jste vytvořili pomocí služby Application Gateway, odstraňte skupinu prostředků pomocí az group delete
příkazu. Když odstraníte skupinu prostředků, odstraníte také aplikační bránu a všechny související prostředky.
az group delete --name myResourceGroupAG