Hantera webbtrafik med en programgateway som använder Azure CLI
Programgatewayen används till att hantera och skydda webbtrafiken till de servrar du hanterar. Du kan använda Azure CLI för att skapa en programgateway som använder en VM-skalningsuppsättning för serverdelsservrar. I det här exemplet innehåller skalningsuppsättningen två instanser av virtuella datorer. Skalningsuppsättningen läggs till i programgatewayens standardserverdelspool.
I den här artikeln kan du se hur du:
- Konfigurera nätverket
- Skapa en programgateway
- Skapa en vm-skalningsuppsättning med standardserverdelspoolen
Om du vill kan du slutföra den här proceduren med Hjälp av Azure PowerShell.
Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Snabbstart för Bash i Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör i Windows eller macOS kan du köra Azure CLI i en Docker-container. Mer information finns i Så här kör du Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. Slutför autentiseringsprocessen genom att följa stegen som visas i terminalen. Andra inloggningsalternativ finns i Logga in med Azure CLI.
När du uppmanas att installera Azure CLI-tillägget vid första användningen. Mer information om tillägg finns i Använda tillägg med Azure CLI.
Kör az version om du vill hitta versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
- Den här självstudien kräver version 2.0.4 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.
Skapa en resursgrupp
En resursgrupp är en logisk container där Azure-resurser distribueras och hanteras. Skapa en resursgrupp med az group create.
I följande exempel skapas en resursgrupp med namnet myResourceGroupAG på platsen eastus.
az group create --name myResourceGroupAG --location eastus
Skapa nätverksresurser
Skapa ett virtuellt nätverk med namnet myVNet och ett undernät med namnet myAGSubnet med az network vnet create. Du kan sedan lägga till det undernät med namnet myBackendSubnet som behövs av serverdelsservrarna med az network vnet subnet create. Skapa den offentliga IP-adressen med namnet myAGPublicIPAddress med 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
Skapa en programgateway
Använd az network application-gateway create till att skapa en programgateway med namnet myAppGateway. När du skapar en programgateway med hjälp av Azure CLI anger du konfigurationsinformation, till exempel kapacitet, sku och HTTP-inställningar. Programgatewayen tilldelas till myAGSubnet och myPublicIPAddress som du skapade tidigare.
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
Det kan ta flera minuter att skapa programgatewayen. När programgatewayen har skapats visas följande nya funktioner:
- appGatewayBackendPool – en programgateway måste ha minst en serverdelsadresspool.
- appGatewayBackendHttpSettings – anger att port 80 och ett HTTP-protokoll används för kommunikation.
- appGatewayHttpListener – standardlyssnaren som är associerad med appGatewayBackendPool.
- appGatewayFrontendIP – tilldelar myAGPublicIPAddress till appGatewayHttpListener.
- regel 1 – standardroutningsregel som är associerad med appGatewayHttpListener.
Skapa en VM-skalningsuppsättning
I det här exemplet skapar du en VM-skalningsuppsättning som tillhandahåller servrar för serverdelspoolen i programgatewayen. De virtuella datorerna i skalningsuppsättningen är associerade med undernätet myBackendSubnet och appGatewayBackendPool. Du skapar skalningsuppsättningen med az vmss create.
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
Installera NGINX
Nu kan du installera NGINX på VM-skalningsuppsättningen så att du kan testa HTTP-anslutningen till serverdelspoolen.
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" }'
Testa programgatewayen
Hämta den offentliga IP-adressen för programgatewayen med az network public-ip show. Kopiera den offentliga IP-adressen och klistra in den i webbläsarens adressfält.
az network public-ip show \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--query [ipAddress] \
--output tsv
Rensa resurser
När du inte behöver dem längre tar du bort resursgruppen, programgatewayen och alla relaterade resurser.
az group delete --name myResourceGroupAG --location eastus
Nästa steg
Begränsa webbtrafik med en brandvägg för webbaserade program