Gérer le trafic web avec une passerelle d’application à l’aide d’Azure CLI

La passerelle d’application est utilisée pour gérer et sécuriser le trafic web vers les serveurs que vous gérez. Vous pouvez utiliser Azure CLI pour créer une passerelle d’application qui utilise un groupe de machines virtuelles identiques pour les serveurs principaux. Dans cet exemple, le groupe identique contient deux instances de machines virtuelles. Le groupe identique est ajouté au pool principal par défaut de la passerelle d’application.

Dans cet article, vous apprendrez comment :

  • Configurer le réseau
  • Créer une passerelle Application Gateway
  • Créer un groupe de machines virtuelles identiques avec le pool principal par défaut

Si vous préférez, vous pouvez suivre cette procédure en utilisant Azure PowerShell.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

Prérequis

  • Cet tutoriel nécessite la version 2.0.4 ou ultérieure d’Azure CLI. Si vous utilisez Azure Cloud Shell, la version la plus récente est déjà installée.

Créer un groupe de ressources

Un groupe de ressources est un conteneur logique dans lequel les ressources Azure sont déployées et gérées. Créez un groupe de ressources à l’aide de la commande az group create.

L’exemple suivant crée un groupe de ressources nommé myResourceGroupAG à l’emplacement eastus.

az group create --name myResourceGroupAG --location eastus

Créer des ressources réseau

Créez le réseau virtuel nommé myVNet et le sous-réseau nommé myAGSubnet à l’aide de la commande az network vnet create. Vous pouvez ensuite ajouter le sous-réseau nommé myBackendSubnet nécessaire aux serveurs principaux à l’aide de la commande az network vnet subnet create. Créez l’adresse IP publique nommée myAGPublicIPAddress à l’aide de la commande 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

Créer une passerelle Application Gateway

Utilisez la commande az network application-gateway create pour créer la passerelle d’application nommée myAppGateway. Quand vous créez une passerelle d’application avec Azure CLI, vous spécifiez des informations de configuration, telles que la capacité, la référence SKU et les paramètres HTTP. La passerelle d’application est assignée aux myAGSubnet et myPublicIPAddress que vous avez créés.

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

La création de la passerelle d’application peut prendre plusieurs minutes. Une fois la passerelle d’application créée, vous voyez ces nouvelles fonctionnalités :

  • appGatewayBackendPool : une passerelle d’application doit avoir au moins un pool d’adresses backend.
  • appGatewayBackendHttpSettings : spécifie que le port 80 et le protocole HTTP sont utilisés pour la communication.
  • appGatewayHttpListener : écouteur par défaut associé à appGatewayBackendPool.
  • appGatewayFrontendIP - assigne myAGPublicIPAddress à appGatewayHttpListener.
  • rule1 : règle de routage par défaut associée à appGatewayHttpListener.

Crée un groupe de machines virtuelles identiques

Dans cet exemple, vous créez un groupe de machines virtuelles identiques qui fournit des serveurs pour le pool principal dans la passerelle d’application. Les machines virtuelles dans le groupe identique sont associées à myBackendSubnet et appGatewayBackendPool. Pour créer le groupe identique, utilisez la commande 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

Installer NGINX

Vous pouvez maintenant installer NGINX sur le groupe de machines virtuelles identiques de façon à tester la connectivité HTTP vers le pool principal.

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

Tester la passerelle d’application

Pour obtenir l’adresse IP publique de la passerelle d’application, utilisez la commande az network public-ip show. Copiez l’adresse IP publique, puis collez-la dans la barre d’adresses de votre navigateur.

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

Test base URL in application gateway

Nettoyer les ressources

Lorsque vous n’en avez plus besoin, supprimez le groupe de ressources, la passerelle d’application et toutes les ressources associées.

az group delete --name myResourceGroupAG --location eastus

Étapes suivantes

Limiter le trafic web avec un pare-feu d’applications web