Créer une passerelle d’application avec un équilibreur de charge interne (ILB)

Vous pouvez configurer une passerelle Azure Application Gateway Standard v1 avec une adresse IP virtuelle côté Internet ou avec un point de terminaison interne non exposé à Internet, également appelé point de terminaison d’équilibrage de charge interne (ILB). La configuration de la passerelle avec un équilibrage de charge interne est utile pour les applications métier internes non exposées à Internet. Elle est également utile pour les services et niveaux au sein d’une application multiniveau qui se trouve dans une limite de sécurité non exposée à Internet, mais qui requiert tout de même une distribution de charge par tourniquet, une adhérence de session ou une terminaison TLS (Transport Layer Security), anciennement SSL (Secure Sockets Layer).

Cet article vous guide tout au long des étapes pour configurer une passerelle Application Gateway Standard v1 avec un équilibrage de charge interne.

Avant de commencer

Notes

Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

  1. Installez la dernière version du module Azure PowerShell en suivant les instructions d’installation.
  2. Vous créez un réseau virtuel et un sous-réseau pour la passerelle Application Gateway. Assurez-vous qu’aucun ordinateur virtuel ou déploiement cloud n’utilise le sous-réseau. La passerelle Application Gateway doit être seule sur un sous-réseau virtuel.
  3. Les serveurs que vous configurez pour utiliser la passerelle Application Gateway doivent exister ou vous devez créer leurs points de terminaison sur le réseau virtuel ou avec une adresse IP/VIP publique affectée.

Quels sont les éléments nécessaires pour créer une passerelle Application Gateway ?

  • Pool de serveurs principaux : la liste des adresses IP des serveurs principaux. Les adresses IP répertoriées doivent appartenir au réseau virtuel, mais à un sous-réseau différent de la plateforme d’application ou elles doivent correspondre à une adresse IP/VIP publique.
  • Paramètres du pool de serveurs principaux : chaque pool comporte des paramètres comme le port, le protocole et une affinité basée sur les cookies. Ces paramètres sont liés à un pool et sont appliqués à tous les serveurs du pool.
  • Port front-end : il s’agit du port public ouvert qui est ouvert dans la passerelle applicative. Le trafic atteint ce port, puis il est redirigé vers l'un des serveurs principaux.
  • Écouteur : l'écouteur a un port frontal, un protocole (Http ou Https, sensibles à la casse) et le nom du certificat SSL (en cas de configuration du déchargement SSL).
  • Règle : la règle lie l’écouteur et le pool de serveurs principaux et définit le pool de serveurs principaux vers lequel le trafic doit être dirigé lorsqu’il atteint un écouteur spécifique. Actuellement, seule la règle de base est prise en charge. La règle de base est la distribution de charge par tourniquet.

Créer une passerelle Application Gateway

La différence entre l’utilisation d’Azure Classic et celle d’Azure Resource Manager réside dans l’ordre de création de la passerelle Application Gateway et des éléments à configurer. Avec Resource Manager, tous les éléments constitutifs d’une passerelle Application Gateway sont configurés individuellement, puis regroupés pour créer la ressource Application Gateway.

Procédure de création d’une passerelle Application Gateway :

  1. Créer un groupe de ressources pour Resource Manager
  2. Créer un réseau virtuel et un sous-réseau pour la passerelle Application Gateway
  3. Créer un objet de configuration de passerelle Application Gateway
  4. Créer une ressource de passerelle Application Gateway

Créer un groupe de ressources pour Resource Manager

Veillez à passer en mode PowerShell pour utiliser les applets de commande d’Azure Resource Manager. Pour plus d’informations, voir Utilisation de Windows PowerShell avec Azure Resource Manager.

Étape 1

Connect-AzAccount

Étape 2

Vérifiez les abonnements associés au compte.

Get-AzSubscription

Vous êtes invité à vous authentifier à l’aide de vos informations d’identification.

Étape 3 :

Parmi vos abonnements Azure, choisissez celui que vous souhaitez utiliser.

Select-AzSubscription -Subscriptionid "GUID of subscription"

Étape 4

Créez un groupe de ressources (ignorez cette étape si vous utilisez un groupe de ressources existant)

New-AzResourceGroup -Name appgw-rg -location "West US"

Azure Resource Manager requiert que tous les groupes de ressources spécifient un emplacement. Ce dernier est utilisé comme emplacement par défaut des ressources de ce groupe. Assurez-vous que toutes les commandes pour la création d’une passerelle Application Gateway utilisent le même groupe de ressources.

Dans l’exemple précédent, nous avons créé un groupe de ressources appelé « appgw-rg », ainsi que l’emplacement « USA Ouest ».

Créer un réseau virtuel et un sous-réseau pour la passerelle Application Gateway

L’exemple ci-après indique comment créer un réseau virtuel à l’aide de Resource Manager :

Étape 1

$subnetconfig = New-AzVirtualNetworkSubnetConfig -Name subnet01 -AddressPrefix 10.0.0.0/24

Attribue la plage d’adresses 10.0.0.0/24 à une variable subnet à utiliser pour créer un réseau virtuel.

Étape 2

$vnet = New-AzVirtualNetwork -Name appgwvnet -ResourceGroupName appgw-rg -Location "West US" -AddressPrefix 10.0.0.0/16 -Subnet $subnetconfig

Crée un réseau virtuel nommé « appgwvnet » dans le groupe de ressources « appw-rg » pour la région « USA Ouest » à l’aide du préfixe 10.0.0.0/16 avec le sous-réseau 10.0.0.0/24.

Étape 3 :

$subnet = $vnet.subnets[0]

Assigne l’objet de sous-réseau à la variable $subnet pour les étapes suivantes.

Créer un objet de configuration de passerelle Application Gateway

Étape 1

$gipconfig = New-AzApplicationGatewayIPConfiguration -Name gatewayIP01 -Subnet $subnet

Crée une configuration IP de passerelle Application Gateway nommée « gatewayIP01 ». Au démarrage, Application Gateway sélectionne une adresse IP du sous-réseau configuré, et route le trafic réseau vers les adresses IP du pool d’adresses IP back-end. Gardez à l’esprit que chaque instance utilise une adresse IP unique.

Étape 2

$pool = New-AzApplicationGatewayBackendAddressPool -Name pool01 -BackendIPAddresses 10.1.1.8,10.1.1.9,10.1.1.10

Configure le pool d’adresses IP back-end nommé « pool01 » avec les adresses IP « 10.1.1.8, 10.1.1.9, 10.1.1.10 ». Il s’agit des adresses IP qui recevront le trafic réseau provenant du point de terminaison IP front-end. Remplacez les adresses IP précédentes pour ajouter vos propres points de terminaison d’adresse IP d’application.

Étape 3 :

$poolSetting = New-AzApplicationGatewayBackendHttpSettings -Name poolsetting01 -Port 80 -Protocol Http -CookieBasedAffinity Disabled

Cette étape permet de configurer les paramètres de passerelle Application Gateway « poolsetting01 » pour le trafic réseau à charge équilibrée dans le pool de back-ends.

Étape 4

$fp = New-AzApplicationGatewayFrontendPort -Name frontendport01  -Port 80

Cette étape permet de configurer le port d’adresses IP front-end nommé « frontendport01 » pour l’équilibrage de charge interne.

Étape 5

$fipconfig = New-AzApplicationGatewayFrontendIPConfig -Name fipconfig01 -Subnet $subnet

Cette étape permet de créer la configuration IP front-end nommée « fipconfig01 » et lui associe une adresse IP privée à partir du sous-réseau du réseau virtuel actuel.

Étape 6

$listener = New-AzApplicationGatewayHttpListener -Name listener01  -Protocol Http -FrontendIPConfiguration $fipconfig -FrontendPort $fp

Cette étape permet de créer l’écouteur nommé « listener01 » et associe le port front-end à la configuration IP front-end.

Étape 7

$rule = New-AzApplicationGatewayRequestRoutingRule -Name rule01 -RuleType Basic -BackendHttpSettings $poolSetting -HttpListener $listener -BackendAddressPool $pool

Cette étape permet de créer la règle d’acheminement d’équilibrage de charge nommée « rule01 » qui configure le comportement d’équilibrage de charge.

Étape 8

$sku = New-AzApplicationGatewaySku -Name Standard_Small -Tier Standard -Capacity 2

Cette étape permet de configurer la taille d’instance de la passerelle Application Gateway.

Remarque

La valeur par défaut pour la capacité est 2. Pour le nom de la référence (SKU), vous pouvez choisir entre Standard_Small, Standard_Medium et Standard_Large.

Créer une passerelle Application Gateway avec New-AzureApplicationGateway

Créez une passerelle Application Gateway avec tous les éléments de configuration de la procédure précédente. Dans notre exemple, la passerelle Application Gateway est appelée « appgwtest ».

$appgw = New-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg -Location "West US" -BackendAddressPools $pool -BackendHttpSettingsCollection $poolSetting -FrontendIpConfigurations $fipconfig  -GatewayIpConfigurations $gipconfig -FrontendPorts $fp -HttpListeners $listener -RequestRoutingRules $rule -Sku $sku

Cette étape permet de créer une passerelle Application Gateway avec tous les éléments de configuration de la procédure précédente. Dans notre exemple, la passerelle Application Gateway est appelée « appgwtest ».

Supprimer une passerelle Application Gateway

Pour supprimer une passerelle Application Gateway, vous devez effectuer les opérations suivantes dans l’ordre :

  1. Utilisez l’applet de commande Stop-AzApplicationGateway pour arrêter la passerelle.
  2. Utilisez l’applet de commande Remove-AzApplicationGateway pour supprimer la passerelle.
  3. Vérifiez que la passerelle a été supprimée à l’aide de l’applet de commande Get-AzureApplicationGateway.

Étape 1

Obtenez l’objet de passerelle Application Gateway et associez-le à une variable « $getgw ».

$getgw =  Get-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg

Étape 2

Utilisez Stop-AzApplicationGateway pour arrêter la passerelle Application Gateway. Cet exemple montre l'applet de commande Stop-AzApplicationGateway sur la première ligne, suivie de la sortie.

Stop-AzApplicationGateway -ApplicationGateway $getgw  
VERBOSE: 9:49:34 PM - Begin Operation: Stop-AzureApplicationGateway
VERBOSE: 10:10:06 PM - Completed Operation: Stop-AzureApplicationGateway
Name       HTTP Status Code     Operation ID                             Error
----       ----------------     ------------                             ----
Successful OK                   ce6c6c95-77b4-2118-9d65-e29defadffb8

Une fois la passerelle Application Gateway dans un état arrêté, utilisez l’applet de commande Remove-AzApplicationGateway pour supprimer le service.

Remove-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg -Force
VERBOSE: 10:49:34 PM - Begin Operation: Remove-AzureApplicationGateway
VERBOSE: 10:50:36 PM - Completed Operation: Remove-AzureApplicationGateway
Name       HTTP Status Code     Operation ID                             Error
----       ----------------     ------------                             ----
Successful OK                   055f3a96-8681-2094-a304-8d9a11ad8301

Remarque

Il est possible d’utiliser le commutateur -force pour supprimer le message de confirmation de suppression.

Pour vérifier que le service a été supprimé, vous pouvez utiliser l’applet de commande Get-AzApplicationGateway. Cette étape n'est pas requise.

Get-AzApplicationGateway -Name appgwtest -ResourceGroupName appgw-rg
VERBOSE: 10:52:46 PM - Begin Operation: Get-AzureApplicationGateway

Get-AzureApplicationGateway : ResourceNotFound: The gateway doesn't exist.

Étapes suivantes

Si vous souhaitez configurer le déchargement SSL, consultez Configuration d’une passerelle Application Gateway pour le déchargement SSL.

Si vous souhaitez plus d'informations sur les options d'équilibrage de charge en général, consultez :