Application Gateway létrehozása TLS-visszafejtéssel az Azure CLI használatával

Az Azure CLI használatával létrehozhat egy alkalmazásátjárót egy TLS-lezáráshoz szükséges tanúsítvánnyal. Háttérkiszolgálók esetén használhat virtuálisgép-méretezési csoportot. Ebben a példában a méretezési csoport két virtuálisgép-példányt tartalmaz, amelyek hozzá lesznek adva az alkalmazásátjáró alapértelmezett háttérkészletéhez.

Ebben a cikkben az alábbiakkal ismerkedhet meg:

  • Önaláírt tanúsítvány létrehozása
  • Hálózat beállítása
  • Alkalmazásátjáró létrehozása a tanúsítvánnyal
  • Virtuálisgép-méretezési csoport létrehozása az alapértelmezett háttérkészlettel

Tetszés szerint az Azure PowerShell használatával végezheti el ezt az eljárást.

If you don't have an Azure subscription, create an Azure free account before you begin.

Előfeltételek

  • Ehhez az oktatóanyaghoz az Azure CLI 2.0.4-es vagy újabb verziója szükséges. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.

Önaláírt tanúsítvány létrehozása

Éles környezetben importálnia kell egy megbízható szolgáltató által aláírt érvényes tanúsítványt. Ebben a cikkben önaláírt tanúsítványt és pfx-fájlt hoz létre az Openssl paranccsal.

openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out appgwcert.crt

Adjon meg olyan értékeket, amelyek a tanúsítvány szempontjából jelentéssel bírnak. Elfogadhatja az alapértelmezett értékeket.

openssl pkcs12 -export -out appgwcert.pfx -inkey privateKey.key -in appgwcert.crt

Adja meg a tanúsítványhoz tartozó jelszót. Ebben a példában az Azure123456! használatban van.

Erőforráscsoport létrehozása

Az erőforráscsoport olyan logikai tároló, amelybe a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat. Hozzon létre egy erőforráscsoportot az az group create paranccsal.

A következő példában létrehozunk egy myResourceGroupAG nevű erőforráscsoportot az eastus helyen.

az group create --name myResourceGroupAG --location eastus

Hálózati erőforrások létrehozása

Hozza létre a myVNet nevű virtuális hálózatot és a myAGSubnet nevű alhálózatot az az network vnet create paranccsal. Ezután hozzáadhatja a háttérkiszolgálók által igényelt myBackendSubnet nevű alhálózatot az az network vnet subnet create használatával. Hozza létre a myAGPublicIPAddress elnevezésű nyilvános IP-címet az az network public-ip create paranccsal.

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

Application Gateway létrehozása

Az az network application-gateway create paranccsal létrehozhatja az alkalmazásátjárót. Amikor az Azure CLI-vel hoz létre egy Application Gatewayt, meg kell adnia bizonyos konfigurációs adatokat, például a kapacitást, az SKU-t, valamint a HTTP-beállításokat.

Az alkalmazásátjáró a korábban létrehozott myAGSubnet alhálózathoz és myAGPublicIPAddress IP-címhez lesz rendelve. Ebben a példában társítja a létrehozott tanúsítványt és annak jelszavát az alkalmazásátjáró létrehozásakor.

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!"

Az alkalmazásátjáró létrehozása néhány percig is eltarthat. Az alkalmazásátjáró létrehozása után a következő új funkcióit láthatja:

  • appGatewayBackendPool – Az Application Gatewayeknek legalább egy háttércímkészlettel kell rendelkezniük.
  • appGatewayBackendHttpSettings – Meghatározza, hogy a kommunikációhoz a rendszer a 80-as portot és egy HTTP-protokollt használ.
  • appGatewayHttpListener – Az appGatewayBackendPool készlethez társított alapértelmezett figyelő.
  • appGatewayFrontendIP – Hozzárendeli a myAGPublicIPAddress IP-címet az appGatewayHttpListener figyelőhöz.
  • rule1 – Az appGatewayHttpListener figyelőhöz rendelt alapértelmezett útválasztási szabály.

Virtuálisgép-méretezési csoport létrehozása

Ebben a példában létrehoz egy virtuálisgép-méretezési csoportot, amely kiszolgálókat biztosít az application gateway alapértelmezett háttérkészletéhez. A méretezési csoportban lévő virtuális gépek a myBackendSubnet alhálózathoz és az appGatewayBackendPool készlethez vannak rendelve. A méretezési csoportot az az vmss create paranccsal hozhatja létre.

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

Az NGINX telepítése

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" }'

Az alkalmazásátjáró tesztelése

Az alkalmazásátjáró nyilvános IP-címének lekéréséhez használhatja az az network public-ip show parancsot.

az network public-ip show \
  --resource-group myResourceGroupAG \
  --name myAGPublicIPAddress \
  --query [ipAddress] \
  --output tsv

Másolja a nyilvános IP-címet, majd illessze be a böngésző címsorába. Ebben a példában az URL-cím a következő: https://52.170.203.149.

Secure warning

Ha önaláírt tanúsítványt használt, a biztonsági figyelmeztetés elfogadásához válassza a Részletek lehetőséget, majd válassza a Továbblépés a weblapra lehetőséget. Ekkor a biztonságos NGINX-webhely a következő példához hasonlóan jelenik meg:

Test base URL in application gateway

Clean up resources

Ha már nincs rá szükség, távolítsa el az erőforráscsoportot, az alkalmazásátjárót és az összes kapcsolódó erőforrást.

az group delete --name myResourceGroupAG --location eastus

Következő lépések

Több webhelyet üzemeltető alkalmazásátjáró létrehozása