Démarrage rapide : Créer un profil Traffic Manager pour assurer une haute disponibilité à vos applications web avec Azure PowerShell

Ce démarrage rapide explique comment créer un profil Traffic Manager qui assure une haute disponibilité pour votre application web.

Dans ce démarrage rapide, vous allez créer deux instances d’une application web. Chacune d’elles s’exécute dans une région Azure distincte. Vous allez créer un profil Traffic Manager en fonction de la priorité du point de terminaison. Le profil dirige le trafic utilisateur vers le site principal exécutant l’application web. Traffic Manager supervise en permanence l’application web. Si le site principal est indisponible, il assure un basculement automatique vers le site de secours.

Diagramme de l’environnement de déploiement Traffic Manager.

Prérequis

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

Azure Cloud Shell

Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.

Pour démarrer Azure Cloud Shell :

Option Exemple/Lien
Sélectionnez Essayer dans le coin supérieur droite d’un bloc de codes ou de commandes. La sélection de Essayer ne copie pas automatiquement le code ni la commande dans Cloud Shell. Capture d’écran présentant un exemple d’essai pour Azure Cloud Shell.
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. Bouton permettant de lancer Azure Cloud Shell.
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. Capture d’écran présentant le bouton Cloud Shell dans le portail Azure.

Pour utiliser Azure Cloud Shell :

  1. Démarrez Cloud Shell.

  2. Sélectionnez le bouton Copier sur un bloc de codes (ou un bloc de commandes) pour copier le code ou la commande.

  3. Collez le code ou la commande dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux ou en sélectionnant Cmd+Maj+V sur macOS.

  4. Sélectionnez Entrée pour exécuter le code ou la commande.

Si vous choisissez d’installer et d’utiliser PowerShell en local, vous devez exécuter le module Azure PowerShell version 5.4.1 ou ultérieure pour les besoins de cet article. Exécutez Get-Module -ListAvailable Az pour rechercher la version installée. Si vous devez effectuer une mise à niveau, consultez Installer le module Azure PowerShell. Si vous exécutez PowerShell en local, vous devez également exécuter Connect-AzAccount pour créer une connexion avec Azure.

Créer un groupe de ressources

Créer un groupe de ressources avec New-AzResourceGroup.


# Variables
$Location1="EastUS"

# Create a Resource Group
New-AzResourceGroup -Name MyResourceGroup -Location $Location1

Créer un profil Traffic Manager

Créez un profil Traffic Manager avec New-AzTrafficManagerProfile qui dirige le trafic utilisateur en fonction de la priorité du point de terminaison.


# Generates a random value
$Random=(New-Guid).ToString().Substring(0,8)
$mytrafficmanagerprofile="mytrafficmanagerprofile$Random"

New-AzTrafficManagerProfile `
-Name $mytrafficmanagerprofile `
-ResourceGroupName MyResourceGroup `
-TrafficRoutingMethod Priority `
-MonitorPath '/' `
-MonitorProtocol "HTTP" `
-RelativeDnsName $mytrafficmanagerprofile `
-Ttl 30 `
-MonitorPort 80

Créer des applications web

Pour ce guide de démarrage rapide, vous aurez besoin de deux instances d’une application web déployée dans deux régions Azure différentes (USA Ouest et USA Est). Chacune servira de point de terminaison principal et de point de terminaison de basculement à Traffic Manager.

Créer des plans Web App Service

Créez des plans Web App Service avec New-AzAppServicePlan pour les deux instances de l’application web que vous allez déployer dans deux régions Azure différentes.


# Variables
$Location1="EastUS"
$Location2="WestEurope"

# Create an App service plan
New-AzAppservicePlan -Name "myAppServicePlanEastUS$Random" -ResourceGroupName MyResourceGroup -Location $Location1 -Tier Standard
New-AzAppservicePlan -Name "myAppServicePlanWestEurope$Random" -ResourceGroupName MyResourceGroup -Location $Location2 -Tier Standard

Créer une application web dans le plan App Service

Créez deux instances de l’application web en utilisant la commande New-AzWebApp dans les plans App Service, dans les régions Azure USA Est et Europe Ouest.

$App1ResourceId=(New-AzWebApp -Name myWebAppEastUS -ResourceGroupName MyResourceGroup -Location $Location1 -AppServicePlan "myAppServicePlanEastUS").Id
$App2ResourceId=(New-AzWebApp -Name myWebAppWestEurope -ResourceGroupName MyResourceGroup -Location $Location2 -AppServicePlan "myAppServicePlanWestEurope").Id

Ajouter des points de terminaison Traffic Manager

Ajoutez les deux applications web comme points de terminaison Traffic Manager avec New-AzTrafficManagerEndpoint dans le profil Traffic Manager comme suit :

  • Ajoutez l’application web située dans la région Azure USA Est comme point de terminaison principal afin de router tout le trafic utilisateur.
  • Ajoutez l’application web située dans la région Azure Europe Ouest comme point de terminaison de basculement. Quand le point de terminaison principal n’est pas disponible, le trafic est automatiquement routé vers le point de terminaison de basculement.
New-AzTrafficManagerEndpoint -Name "myPrimaryEndpoint" `
-ResourceGroupName MyResourceGroup `
-ProfileName "$mytrafficmanagerprofile" `
-Type AzureEndpoints `
-TargetResourceId $App1ResourceId `
-EndpointStatus "Enabled" `
-Priority 1

New-AzTrafficManagerEndpoint -Name "myFailoverEndpoint" `
-ResourceGroupName MyResourceGroup `
-ProfileName "$mytrafficmanagerprofile" `
-Type AzureEndpoints `
-TargetResourceId $App2ResourceId `
-EndpointStatus "Enabled" `
-Priority 2

Tester le profil Traffic Manager

Dans cette section, vous allez vérifier le nom de domaine de votre profil Traffic Manager. Vous allez aussi configurer le point de terminaison principal pour le rendre indisponible. Enfin, vous allez pouvoir constater que l’application est toujours disponible. Cela est dû au fait que Traffic Manager envoie le trafic au point de terminaison de basculement.

Déterminer le nom DNS

Vous pouvez déterminer le nom DNS du profil Traffic Manager en avec Get-AzTrafficManagerProfile.

Get-AzTrafficManagerProfile -Name $mytrafficmanagerprofile `
-ResourceGroupName MyResourceGroup

Copiez la valeur de RelativeDnsName. Le nom DNS de votre profil Traffic Manager est http://<nomdnsrelatif>.trafficmanager.net.

Afficher Traffic Manager en action

  1. Dans un navigateur web, entrez le nom DNS de votre profil Traffic Manager (http://<nomdnsrelatif>.trafficmanager.net) pour afficher le site web par défaut de votre application web.

    Notes

    Dans ce scénario de démarrage rapide, toutes les demandes sont routées vers le point de terminaison principal. Il est défini sur Priorité 1.

  2. Pour voir le basculement de Traffic Manager en action, désactivez votre site principal avec Disable-AzTrafficManagerEndpoint.

     Disable-AzTrafficManagerEndpoint -Name "myPrimaryEndpoint" `
     -Type AzureEndpoints `
     -ProfileName $mytrafficmanagerprofile `
     -ResourceGroupName MyResourceGroup `
     -Force
    
  3. Copiez le nom DNS de votre profil Traffic Manager (http://<nomdnsrelatif>.trafficmanager.net) pour afficher le site web dans une nouvelle session de navigateur web.

  4. Vérifiez que l’application web est toujours disponible.

Nettoyer les ressources

Une fois que vous avez terminé, supprimez les groupes de ressources, les applications web et toutes les ressources associées avec Remove-AzResourceGroup.

Remove-AzResourceGroup -Name MyResourceGroup

Étapes suivantes

Dans ce démarrage rapide, vous avez créé un profil Traffic Manager qui assure une haute disponibilité pour votre application web. Pour plus d’informations sur le routage du trafic, passez aux tutoriels Traffic Manager.