Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Si vous êtes un administrateur informatique cherchant à améliorer l'accès aux applications web, vous pouvez optimiser votre passerelle d'application afin qu'elle s'adapte de manière dynamique à la demande des clients et couvre plusieurs zones de disponibilité. Ce tutoriel vous aide à configurer les principales fonctionnalités Azure Application Gateway v2, notamment la mise à l’échelle automatique, la redondance de zone et les adresses IP virtuelles statiques, pour obtenir ces améliorations. Vous allez utiliser des applets de commande Azure PowerShell et le modèle de déploiement Azure Resource Manager pour résoudre le problème.
Dans ce tutoriel, vous allez apprendre à :
- Créer un certificat auto-signé
- Créer un réseau virtuel de mise à l’échelle automatique
- Créer une adresse IP publique réservée
- Configurer votre infrastructure application gateway
- Spécifier la mise à l’échelle automatique
- Créer la passerelle Application Gateway
- Tester la passerelle d’application
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Pour plus d’informations sur la prise en charge des zones de disponibilité dans Application Gateway v2, consultez Fiabilité pour Application Gateway v2.
Conditions préalables
Remarque
Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour bien démarrer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.
Ce tutoriel nécessite l’exécution locale d’une session Azure PowerShell administrative. Vous devez avoir installé le module Azure PowerShell version 1.0.0 ou ultérieure. Exécutez Get-Module -ListAvailable Az pour trouver la version. Si vous devez effectuer une mise à niveau, consultez Installer le module Azure PowerShell. Après avoir vérifié la version PowerShell, exécutez Connect-AzAccount pour créer une connexion avec Azure.
Connexion à Azure
Connect-AzAccount
Select-AzSubscription -Subscription "<sub name>"
Créer un groupe de ressources
Créez un groupe de ressources dans l’un des emplacements disponibles.
$location = "East US 2"
$rg = "AppGW-rg"
#Create a new Resource Group
New-AzResourceGroup -Name $rg -Location $location
Créer un certificat auto-signé
Dans un environnement de production, vous devez importer un certificat valide signé par un fournisseur approuvé. Pour ce didacticiel, vous créez un certificat auto-signé à l’aide de New-SelfSignedCertificate. Vous pouvez utiliser Export-PfxCertificate avec l’empreinte numérique qui a été retournée pour exporter un fichier pfx du certificat.
New-SelfSignedCertificate `
-certstorelocation cert:\localmachine\my `
-dnsname www.contoso.com
Un résultat comme l’exemple suivant devrait s’afficher :
PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\my
Thumbprint Subject
---------- -------
E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 CN=www.contoso.com
Utilisez l’empreinte numérique pour créer le fichier pfx. Remplacez <le mot de passe par un mot de passe> de votre choix :
$pwd = ConvertTo-SecureString -String "<password>" -Force -AsPlainText
Export-PfxCertificate `
-cert cert:\localMachine\my\E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 `
-FilePath c:\appgwcert.pfx `
-Password $pwd
Créer un réseau virtuel
Créez un réseau virtuel avec un sous-réseau dédié pour une passerelle d’application de mise à l’échelle automatique. Actuellement, une seule passerelle d’application de mise à l’échelle automatique peut être déployée dans chaque sous-réseau dédié.
#Create VNet with two subnets
$sub1 = New-AzVirtualNetworkSubnetConfig -Name "AppGwSubnet" -AddressPrefix "10.0.0.0/24"
$sub2 = New-AzVirtualNetworkSubnetConfig -Name "BackendSubnet" -AddressPrefix "10.0.1.0/24"
$vnet = New-AzvirtualNetwork -Name "AutoscaleVNet" -ResourceGroupName $rg `
-Location $location -AddressPrefix "10.0.0.0/16" -Subnet $sub1, $sub2
Créer une adresse IP publique réservée
Spécifiez la méthode d’allocation de PublicIPAddress en tant que statique. Une adresse IP virtuelle de passerelle d’application de mise à l’échelle automatique peut être uniquement statique. Les adresses IP dynamiques ne sont pas prises en charge. Seule la référence SKU PublicIpAddress standard est prise en charge.
#Create static public IP
$pip = New-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP" `
-location $location -AllocationMethod Static -Sku Standard -Zone 1,2,3
Récupérer les détails
Récupérez les détails du groupe de ressources, du sous-réseau et de l’adresse IP dans un objet local pour créer les détails de configuration IP de la passerelle d’application.
$publicip = Get-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP"
$vnet = Get-AzvirtualNetwork -Name "AutoscaleVNet" -ResourceGroupName $rg
$gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "AppGwSubnet" -VirtualNetwork $vnet
Créer des applications web
Configurez deux applications web pour le pool principal. Remplacez <site1-name et site2-name><par des noms uniques dans le domaine.>azurewebsites.net
New-AzAppServicePlan -ResourceGroupName $rg -Name "ASP-01" -Location $location -Tier Basic `
-NumberofWorkers 2 -WorkerSize Small
New-AzWebApp -ResourceGroupName $rg -Name <site1-name> -Location $location -AppServicePlan ASP-01
New-AzWebApp -ResourceGroupName $rg -Name <site2-name> -Location $location -AppServicePlan ASP-01
Configurer l’infrastructure
Configurez la configuration IP, la configuration IP frontale, le pool principal, les paramètres HTTP, le certificat, le port, l’écouteur et la règle dans un format identique à la passerelle d’application Standard existante. La nouvelle référence SKU suit le même modèle objet que la référence SKU Standard.
Remplacez vos deux noms de domaine complets d’application web (par exemple : mywebapp.azurewebsites.net) dans la définition de variable $pool.
$ipconfig = New-AzApplicationGatewayIPConfiguration -Name "IPConfig" -Subnet $gwSubnet
$fip = New-AzApplicationGatewayFrontendIPConfig -Name "FrontendIPConfig" -PublicIPAddress $publicip
$pool = New-AzApplicationGatewayBackendAddressPool -Name "Pool1" `
-BackendIPAddresses <your first web app FQDN>, <your second web app FQDN>
$fp01 = New-AzApplicationGatewayFrontendPort -Name "SSLPort" -Port 443
$fp02 = New-AzApplicationGatewayFrontendPort -Name "HTTPPort" -Port 80
$securepfxpwd = ConvertTo-SecureString -String "Azure123456!" -AsPlainText -Force
$sslCert01 = New-AzApplicationGatewaySslCertificate -Name "SSLCert" -Password $securepfxpwd `
-CertificateFile "c:\appgwcert.pfx"
$listener01 = New-AzApplicationGatewayHttpListener -Name "SSLListener" `
-Protocol Https -FrontendIPConfiguration $fip -FrontendPort $fp01 -SslCertificate $sslCert01
$listener02 = New-AzApplicationGatewayHttpListener -Name "HTTPListener" `
-Protocol Http -FrontendIPConfiguration $fip -FrontendPort $fp02
$setting = New-AzApplicationGatewayBackendHttpSettings -Name "BackendHttpSetting1" `
-Port 80 -Protocol Http -CookieBasedAffinity Disabled -PickHostNameFromBackendAddress
$rule01 = New-AzApplicationGatewayRequestRoutingRule -Name "Rule1" -RuleType basic `
-BackendHttpSettings $setting -HttpListener $listener01 -BackendAddressPool $pool -Priority 1
$rule02 = New-AzApplicationGatewayRequestRoutingRule -Name "Rule2" -RuleType basic `
-BackendHttpSettings $setting -HttpListener $listener02 -BackendAddressPool $pool -Priority 2
Spécifier la mise à l’échelle automatique
Vous pouvez maintenant spécifier la configuration de mise à l’échelle automatique pour la passerelle Application Gateway.
$autoscaleConfig = New-AzApplicationGatewayAutoscaleConfiguration -MinCapacity 2
$sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2
Dans ce mode, la passerelle d’application s'adapte automatiquement en fonction du schéma de trafic de l'application.
Créer la passerelle Application Gateway
Créez la passerelle d'application et incluez les zones de redondance ainsi que la configuration de la mise à l'échelle automatique.
$appgw = New-AzApplicationGateway -Name "AutoscalingAppGw" -Zone 1,2,3 `
-ResourceGroupName $rg -Location $location -BackendAddressPools $pool `
-BackendHttpSettingsCollection $setting -GatewayIpConfigurations $ipconfig `
-FrontendIpConfigurations $fip -FrontendPorts $fp01, $fp02 `
-HttpListeners $listener01, $listener02 -RequestRoutingRules $rule01, $rule02 `
-Sku $sku -sslCertificates $sslCert01 -AutoscaleConfiguration $autoscaleConfig
Tester la passerelle d’application
Utilisez Get-AzPublicIPAddress pour obtenir l’adresse IP publique de la passerelle d’application. Copiez l’adresse IP publique ou le nom DNS, puis collez-le dans la barre d’adresses de votre navigateur.
$pip = Get-AzPublicIPAddress -ResourceGroupName $rg -Name AppGwVIP
$pip.IpAddress
Nettoyer les ressources
Commencez par explorer les ressources qui ont été créées avec la passerelle Application Gateway. Ensuite, lorsqu’elles ne sont plus nécessaires, vous pouvez utiliser la Remove-AzResourceGroup commande pour supprimer le groupe de ressources, la passerelle d’application et toutes les ressources associées.
Remove-AzResourceGroup -Name $rg