« Azure Application Gateway » : différence entre les versions

De Wiki1000
Aucun résumé des modifications
 
(15 versions intermédiaires par 3 utilisateurs non affichées)
Ligne 2 : Ligne 2 :
La passerelle Azure Application Gateway est un équilibreur de charge de couche 7. Elle assure l’exécution des requêtes HTTP de basculement et de routage des performances entre serveurs locaux ou dans le cloud. Une passerelle Application Gateway offre les fonctionnalités de livraison d’applications suivantes : équilibrage de charge HTTP, affinité de session basée sur les cookies et déchargement SSL (Secure Sockets Layer).
La passerelle Azure Application Gateway est un équilibreur de charge de couche 7. Elle assure l’exécution des requêtes HTTP de basculement et de routage des performances entre serveurs locaux ou dans le cloud. Une passerelle Application Gateway offre les fonctionnalités de livraison d’applications suivantes : équilibrage de charge HTTP, affinité de session basée sur les cookies et déchargement SSL (Secure Sockets Layer).


Voir aussi : https://azure.microsoft.com/fr-fr/services/application-gateway/
Voir aussi :  
* https://azure.microsoft.com/fr-fr/services/application-gateway/


===Pré-requis à la mise en oeuvre d'Application Gateway===
*Il n'existe pas aujourd'hui d'interface sur le portail windows Azure permettant la mise en oeuvre d'Application Gateway, c'est pourquoi il faudra utiliser les les applets de commande Azure Powershell. Il vous faudra télécharger et installer la dernière version des applets ici :
* [https://azure.microsoft.com/fr-fr/downloads/ Applets Azure Powershell]
* [https://azure.microsoft.com/fr-fr/documentation/articles/powershell-install-configure/ Installation et configuration]
Pour vous connectez à votre souscription azure :
<pre>
Get-AzurePublishSettingsFile
Import-AzurePublishSettingsFile "c:\temp\<my setting file>.publishsettings"
select-AzureSubscription "<my subscription name>"
</pre>
*Vous devez disposer d'un réseau virtuel (Virtual network (classic)) qui fonctionne avec un sous-réseau valide. Assurez-vous qu’aucun ordinateur virtuel ou déploiement cloud n’utilise le sous-réseau.
Example de paramétrage :


[[Category:azure]]
[[image:vNetAddr2.JPG]]


===Pré-requis à la mise en oeuvre d'Application Gateway===
[[image:vNetAddrSubnet2.JPG]]


*Il n'existe pas aujourd'hui d'interface sur le portail windows Azure permettant la mise en oeuvre d'Application Gateway, c'est pourquoi il faudra utiliser les les applets de commande Azure Powershell. Il vous faudra télécharger et installer la derniere version des applets ici : [https://azure.microsoft.com/fr-fr/downloads/ Applets Azure Powershell]
<br>
*Vous devez disposer d'un réseau virtuel (Virtual network (classic)) qui fonctionne avec un sous-réseau valide. Assurez-vous qu’aucun ordinateur virtuel ou déploiement cloud n’utilise le sous-réseau. <br>
Example de paramétrage :<br>
[[Fichier:vNetAddr2.JPG]]<br>
[[Fichier:vNetAddrSubnet2.JPG]]
<br>
*Les serveurs que vous configurerez pour utiliser la passerelle Application Gateway doivent avoir un ip privé statique sur le réseau virtuel précédemment paramétré.
*Les serveurs que vous configurerez pour utiliser la passerelle Application Gateway doivent avoir un ip privé statique sur le réseau virtuel précédemment paramétré.
[[Fichier:ipStaticVM.JPG]]
 
[[image:ipStaticVM.JPG]]


===Création de l'Application Gateway===
===Création de l'Application Gateway===
Ligne 23 : Ligne 36 :
*Obtention du nom complet du réseau virtuel  
*Obtention du nom complet du réseau virtuel  


Pour créer votre Application Gateway vous aurez besoins du nom complet du réseau virtuel, nous vous recommandons de faire une extraction des réseaux virtuel afin d'avoir le nom complet. <br>
Pour créer votre Application Gateway vous aurez besoins du nom complet du réseau virtuel, nous vous recommandons de faire une extraction des réseaux virtuel afin d'avoir le nom complet.
 
<pre>
  Get-AzureVNetConfig -ExportToFile "c:\temp\MyAzureVirtNets.netcfg"
  Get-AzureVNetConfig -ExportToFile "c:\temp\MyAzureVirtNets.netcfg"
<br>
</pre>
 
[[Fichier:vNetFullName.jpg]]
[[Fichier:vNetFullName.jpg]]


Ligne 37 : Ligne 53 :
=== Installation d'un certificat SSL ===
=== Installation d'un certificat SSL ===


L'installation d'un certificat est nécessaire à l'exécution d'une Application Gateway écoutant sur le flux Https.<br>
Voici la commande a exécuter pour installer un certificat SSL au format pfx :
Add-AzureApplicationGatewaySslCertificate  -Name LabGwApp -CertificateName LabGwAppCert -Password ******************* -CertificateFile "c:\Users\Jérôme\SSL\AzureApplicationGateway.pfx"


===Paramétrage de l'Application Gateway===
===Paramétrage de l'Application Gateway===


L'application gateway est a présent créé, il faut maintenant la configurer. La configuration s'appuie sur un fichier de paramètres qui sera transmis à l'application gateway via une ligne de commande.
L'application gateway est à présent créé, il faut maintenant la configurer. La configuration s'appuie sur un fichier de paramètres qui sera transmis à l'application gateway via une ligne de commande.


Dans notre exemple nous souhaitons que l'application gateway écoute le flux https sur le port 443 et que les requêtes soient routé vers les serveurs du pool qui sont 192.168.10.4 et 192.168.10.10. Les serveurs du pool écoutent sur le port 80. Afin que l'application gateway puisse fonctionnée sur https il est nécessaire de lui indiqué le certificat qu'elle doit utiliser. Il faut également activer l'affinité de session.
Dans notre exemple nous souhaitons que l'application gateway écoute le flux https sur le port 443 et que les requêtes soient routées vers les serveurs du pool qui sont 192.168.10.4 et 192.168.10.10. Les serveurs du pool écoutent sur le port 80. Afin que l'application gateway puisse fonctionner sur https il est nécessaire de lui indiquer le certificat qu'elle doit utiliser. Il faut également activer l'affinité de session.


*Example de fichier de configuration
*Example de fichier de configuration
Les paramètres en gras sont personnalisable.
Les paramètres en gras sont personnalisables.


  <?xml version="1.0" encoding="utf-8"?>
  <?xml version="1.0" encoding="utf-8"?>
Ligne 94 : Ligne 113 :


  Set-AzureApplicationGatewayConfig -Name LabGwApp -ConfigFile "c:\Users\Jérôme\AzureApplicationGatewway\ConfigFileGatewayApplicationLB.xml"
  Set-AzureApplicationGatewayConfig -Name LabGwApp -ConfigFile "c:\Users\Jérôme\AzureApplicationGatewway\ConfigFileGatewayApplicationLB.xml"
===Démarrage de l'Application Gateway===
Dans les étapes précédentes nous avons créé l'application gateway, intallé le certificat et configuré l'application gateway, à présent il faut démarrer l'application gateway
<pre>
Start-AzureApplicationGateway -Name LabGwApp
</pre>
Une fois l'application Gateway démarré vous pouvez récupérer sa configuration avec la commande :
<pre>
Get-AzureApplicationGateway LabGwApp
</pre>
Le résultat est :
<pre>
Name          : AppGwTest
Description  :
VnetName      : testvnet1
Subnets      : {Subnet-1}
InstanceCount : 2
GatewaySize  : Medium
State        : Running
Vip          : 138.91.xx.xx
DnsName      : appgw-xxxxxxxx-xxx-xxxx-xxxx-xxxxxxxxxxxx.cloudapp.net
</pre>
Le nom DNS de la gateway est la valeur à configurer dans votre DNS
===Paramétrage des VMs du pool===
Chaque serveur du pool doit disposer de la même configuration applicative. Cela signifie qu'il faudra installer le serveur d'application Sage FRP 1000 et paramétrer le service de la même manière sur tous les serveurs du pool. Il est recommandé d'activer le mode internet dans le service Sage FRP 1000.
Il faudra également saisir une clé cluster adaptée à votre configuration et procéder à la création du cluster dans la console d'administration des services.
Dans notre exemple on demande la redirection des flux sur le port 80 , il faudra donc vérifier que le service http intégré de Sage FRP 1000 écoute sur le port 80 et que le port soit ouvert dans le firewall (à faire sur chaque VM du pool).
Il est inutile et dangereux d'ouvrir un endpoint sur le port 80.
[[Category:Azure]]
[[Category:Latest]]

Dernière version du 19 mars 2019 à 09:08

Introduction

La passerelle Azure Application Gateway est un équilibreur de charge de couche 7. Elle assure l’exécution des requêtes HTTP de basculement et de routage des performances entre serveurs locaux ou dans le cloud. Une passerelle Application Gateway offre les fonctionnalités de livraison d’applications suivantes : équilibrage de charge HTTP, affinité de session basée sur les cookies et déchargement SSL (Secure Sockets Layer).

Voir aussi :

Pré-requis à la mise en oeuvre d'Application Gateway

  • Il n'existe pas aujourd'hui d'interface sur le portail windows Azure permettant la mise en oeuvre d'Application Gateway, c'est pourquoi il faudra utiliser les les applets de commande Azure Powershell. Il vous faudra télécharger et installer la dernière version des applets ici :

Pour vous connectez à votre souscription azure :

 Get-AzurePublishSettingsFile
 Import-AzurePublishSettingsFile "c:\temp\<my setting file>.publishsettings"
 select-AzureSubscription "<my subscription name>" 
  • Vous devez disposer d'un réseau virtuel (Virtual network (classic)) qui fonctionne avec un sous-réseau valide. Assurez-vous qu’aucun ordinateur virtuel ou déploiement cloud n’utilise le sous-réseau.

Example de paramétrage :

  • Les serveurs que vous configurerez pour utiliser la passerelle Application Gateway doivent avoir un ip privé statique sur le réseau virtuel précédemment paramétré.

Création de l'Application Gateway

  • Obtention du nom complet du réseau virtuel

Pour créer votre Application Gateway vous aurez besoins du nom complet du réseau virtuel, nous vous recommandons de faire une extraction des réseaux virtuel afin d'avoir le nom complet.

 Get-AzureVNetConfig -ExportToFile "c:\temp\MyAzureVirtNets.netcfg"

  • Création de l'Application Gateway

Vous devrez donner
- un nom de l'application gateway : LabGwAPP
- le nom complet du réseau virtuel : Group RsGrpVNet vNetGW
- le nom du sous réseau auquel sera associé l'application gateway : Subnet-1

New-AzureApplicationGateway -Name LabGwApp -VnetName "Group RsGrpVNet vNetGW" -Subnets "Subnet-1"

Installation d'un certificat SSL

L'installation d'un certificat est nécessaire à l'exécution d'une Application Gateway écoutant sur le flux Https.
Voici la commande a exécuter pour installer un certificat SSL au format pfx :

Add-AzureApplicationGatewaySslCertificate  -Name LabGwApp -CertificateName LabGwAppCert -Password ******************* -CertificateFile "c:\Users\Jérôme\SSL\AzureApplicationGateway.pfx"

Paramétrage de l'Application Gateway

L'application gateway est à présent créé, il faut maintenant la configurer. La configuration s'appuie sur un fichier de paramètres qui sera transmis à l'application gateway via une ligne de commande.

Dans notre exemple nous souhaitons que l'application gateway écoute le flux https sur le port 443 et que les requêtes soient routées vers les serveurs du pool qui sont 192.168.10.4 et 192.168.10.10. Les serveurs du pool écoutent sur le port 80. Afin que l'application gateway puisse fonctionner sur https il est nécessaire de lui indiquer le certificat qu'elle doit utiliser. Il faut également activer l'affinité de session.

  • Example de fichier de configuration

Les paramètres en gras sont personnalisables.

<?xml version="1.0" encoding="utf-8"?>
<ApplicationGatewayConfiguration xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/windowsazure">
   <FrontendPorts>
       <FrontendPort>
           <Name>FrontEndPort</Name>
           <Port>443</Port>
       </FrontendPort>
   </FrontendPorts>
   <BackendAddressPools>
       <BackendAddressPool>
           <Name>BackEndPool1</Name>
           <IPAddresses>
               <IPAddress>192.168.10.4</IPAddress>
               <IPAddress>192.168.10.10</IPAddress>
           </IPAddresses>
       </BackendAddressPool>
   </BackendAddressPools>
   <BackendHttpSettingsList>
       <BackendHttpSettings>
           <Name>BackEndSetting1</Name>
           <Port>80</Port>
           <Protocol>Http</Protocol>
           <CookieBasedAffinity>Enabled</CookieBasedAffinity>
       </BackendHttpSettings>
   </BackendHttpSettingsList>
   <HttpListeners>
       <HttpListener>
           <Name>HTTPListener</Name>
           <FrontendPort>FrontEndPort</FrontendPort>
           <Protocol>Https</Protocol>
           <SslCert>LabGwAppCert</SslCert> 
   </HttpListener>
   </HttpListeners>
   <HttpLoadBalancingRules>
       <HttpLoadBalancingRule>
           <Name>HttpLBRule1</Name>
           <Type>basic</Type>
           <BackendHttpSettings>BackendSetting1</BackendHttpSettings>
           <Listener>HTTPListener</Listener>
           <BackendAddressPool>BackEndPool1</BackendAddressPool>
       </HttpLoadBalancingRule>
   </HttpLoadBalancingRules>
</ApplicationGatewayConfiguration>

Commande de paramétrage de l'application gateway

Set-AzureApplicationGatewayConfig -Name LabGwApp -ConfigFile "c:\Users\Jérôme\AzureApplicationGatewway\ConfigFileGatewayApplicationLB.xml"


Démarrage de l'Application Gateway

Dans les étapes précédentes nous avons créé l'application gateway, intallé le certificat et configuré l'application gateway, à présent il faut démarrer l'application gateway

Start-AzureApplicationGateway -Name LabGwApp

Une fois l'application Gateway démarré vous pouvez récupérer sa configuration avec la commande :

Get-AzureApplicationGateway LabGwApp

Le résultat est :

Name          : AppGwTest
Description   :
VnetName      : testvnet1
Subnets       : {Subnet-1}
InstanceCount : 2
GatewaySize   : Medium
State         : Running
Vip           : 138.91.xx.xx
DnsName       : appgw-xxxxxxxx-xxx-xxxx-xxxx-xxxxxxxxxxxx.cloudapp.net

Le nom DNS de la gateway est la valeur à configurer dans votre DNS

Paramétrage des VMs du pool

Chaque serveur du pool doit disposer de la même configuration applicative. Cela signifie qu'il faudra installer le serveur d'application Sage FRP 1000 et paramétrer le service de la même manière sur tous les serveurs du pool. Il est recommandé d'activer le mode internet dans le service Sage FRP 1000. Il faudra également saisir une clé cluster adaptée à votre configuration et procéder à la création du cluster dans la console d'administration des services.

Dans notre exemple on demande la redirection des flux sur le port 80 , il faudra donc vérifier que le service http intégré de Sage FRP 1000 écoute sur le port 80 et que le port soit ouvert dans le firewall (à faire sur chaque VM du pool).

Il est inutile et dangereux d'ouvrir un endpoint sur le port 80.