Een toepassingsgateway maken met TLS-beëindiging met behulp van de Azure CLI
U kunt de Azure CLI gebruiken om een toepassingsgateway te maken met een certificaat voor TLS-beëindiging. Voor back-endservers kunt u een virtuele-machineschaalset gebruiken. In dit voorbeeld bevat de schaalset twee virtuele-machine-instanties die zijn toegevoegd aan de standaard back-endgroep van de toepassingsgateway.
In dit artikel leert u het volgende:
- Een zelfondertekend certificaat maken
- Een netwerk instellen
- Een toepassingsgateway maken met behulp van het certificaat
- Een virtuele-machineschaalset maken met de standaard back-endpool
U kunt deze procedure desgewenst voltooien met behulp van Azure PowerShell.
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
Vereisten
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
- Voor deze zelfstudie is versie 2.0.4 of hoger van de Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.
Een zelfondertekend certificaat maken
Voor gebruik in de productie, moet u een geldig certificaat importeren dat is ondertekend door een vertrouwde provider. Voor dit artikel maakt u een zelfondertekend certificaat en pfx-bestand met behulp van de opdracht openssl.
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out appgwcert.crt
Voer waarden in die voor uw certificaat van belang zijn. U kunt de standaardwaarden accepteren.
openssl pkcs12 -export -out appgwcert.pfx -inkey privateKey.key -in appgwcert.crt
Voer het wachtwoord voor het certificaat in. In dit voorbeeld wordt Azure123456! gebruikt.
Een brongroep maken
Een resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd. Maak een resourcegroep met de opdracht az group create.
In het volgende voorbeeld wordt de resourcegroep myResourceGroupAG gemaakt op de locatie eastus.
az group create --name myResourceGroupAG --location eastus
Netwerkbronnen maken
Maak het virtuele netwerk myVNet en het subnet myAGSubnet met az network vnet create. Vervolgens kunt u het subnet myBackendSubnet toevoegen dat nodig is voor de back-endservers met behulp van az network vnet subnet create. Maak het openbare IP-adresmyAGPublicIPAddress met 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 \
--location eastus
De toepassingsgateway maken
U kunt az network application-gateway create gebruiken om de toepassingsgateway te maken. Als u met de Azure CLI een toepassingsgateway maakt, geeft u configuratiegegevens op, zoals capaciteit, SKU en HTTP-instellingen.
De toepassingsgateway wordt toegewezen aan myAGSubnet en myAGPublicIPAddress, die u zojuist hebt gemaakt. In dit voorbeeld koppelt u het certificaat dat u hebt gemaakt aan het wachtwoord als u de toepassingsgateway maakt.
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 443 \
--http-settings-port 80 \
--http-settings-protocol Http \
--priority "1" \
--public-ip-address myAGPublicIPAddress \
--cert-file appgwcert.pfx \
--cert-password "Azure123456!"
Het kan enkele minuten duren voordat de toepassingsgateway is gemaakt. Nadat de toepassingsgateway is gemaakt, kunt u de volgende nieuwe functies ervan zien:
- appGatewayBackendPool - Een toepassingsgateway moet minimaal één back-endadresgroep hebben.
- appGatewayBackendHttpSettings: hiermee wordt aangegeven dat voor de communicatie poort 80 en een HTTP-protocol worden gebruikt.
- appGatewayHttpListener: de standaard-listener die aan appGatewayBackendPool is gekoppeld.
- appGatewayFrontendIP: hiermee wordt myAGPublicIPAddress aan appGatewayHttpListener toegewezen.
- rule1 - De standaardrouteringsregel die aan appGatewayHttpListener is gekoppeld.
Een virtuele-machineschaalset maken
In dit voorbeeld maakt u een virtuele-machineschaalset die servers biedt voor de standaardback-endpool in de toepassingsgateway. De virtuele machines in de schaalset worden gekoppeld aan myBackendSubnet en appGatewayBackendPool. U kunt az vmss create gebruiken om de schaalset te maken.
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
NGINX installeren
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" }'
De toepassingsgateway testen
Gebruik az network public-ip show om het openbare IP-adres van de toepassingsgateway op te halen.
az network public-ip show \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--query [ipAddress] \
--output tsv
Kopieer het openbare IP-adres en plak het in de adresbalk van de browser. In dit voorbeeld is https://52.170.203.149 de URL.
Voor het accepteren van de beveiligingswaarschuwing als u een zelfondertekend certificaat hebt gebruikt, selecteert u Details en vervolgens Ga verder naar de webpagina. Uw beveiligde NGINX-site wordt vervolgens weergegeven zoals in het volgende voorbeeld:
Resources opschonen
U kunt de resourcegroep, de toepassingsgateway en alle gerelateerde resources verwijderen als u deze niet meer nodig hebt.
az group delete --name myResourceGroupAG --location eastus
Volgende stappen
Een toepassingsgateway maken waarop meerdere websites worden gehost