Partager via


Démarrage rapide : créer une instance Azure Front Door à l’aide d’Azure PowerShell

Dans ce démarrage rapide, vous allez apprendre à créer un profil Azure Front Door à l’aide d’Azure PowerShell. Vous allez créer ce profil en utilisant deux applications web comme origine. Vous pouvez ensuite vérifier la connectivité de vos Web Apps à l’aide du nom d’hôte du point de terminaison Azure Front Door.

Diagramme de l’environnement de déploiement Front Door avec Azure PowerShell.

Notes

Pour les charges de travail Web, nous vous recommandons vivement d’utiliser la protection DDoS Azure et un pare-feu d’applications Web pour vous protéger contre les attaques DDoS émergentes. Une autre option consiste à utiliser Azure Front Door avec un pare-feu d’applications Web. Azure Front Door offre une protection au niveau de la plateforme contre les attaques DDoS au niveau du réseau. Pour plus d’informations, consultez Base de référence de la sécurité pour les services Azure.

Prérequis

Notes

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.

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 Entrer pour exécuter le code ou la commande.

Créer un groupe de ressources

Dans Azure, vous allouez les ressources associées à un groupe de ressources. Vous pouvez utiliser un groupe de ressources existant ou en créer un.

Créez un groupe de ressources avec New-AzResourceGroup :

New-AzResourceGroup -Name myRGFD -Location centralus

Créer deux instances d’une application web

Ce guide de démarrage rapide demande deux instances d’une application web qui s’exécutent dans différentes régions Azure. Les deux instances de l’application web s’exécutent en mode Actif/Actif, donc l’une ou l’autre peut s’occuper du trafic. Cette configuration diffère d’une configuration Active/Veille où l’une sert de basculement.

Si vous n’avez pas encore d’application web, utilisez New-AzWebApp pour configurer deux exemples d’applications web.

# Create first web app in Central US region.

$webapp1 = New-AzWebApp `
    -Name "WebAppContoso-01" `
    -Location centralus `
    -ResourceGroupName myRGFD `
    -AppServicePlan myAppServicePlanCentralUS

# Create second web app in South Central US region.

$webapp2 = New-AzWebApp `
    -Name "WebAppContoso-02" `
    -Location EastUS `
    -ResourceGroupName myRGFD `
    -AppServicePlan myAppServicePlanEastUS

Créer une Front Door

Cette section explique en détail comment vous pouvez créer et configurer les composants de Front Door.

Créer un profil Front Door

Exécutez New-AzFrontDoorCdnProfile pour créer un profil Azure Front Door.

Notes

Si vous souhaitez déployer Azure Front Door Standard au lieu de Premium, remplacez la valeur du paramètre de référence SKU par Standard_AzureFrontDoor. Vous ne pourrez pas déployer de règles managées avec la stratégie WAF si vous choisissez la référence SKU Standard. Pour une comparaison détaillée, consultez Vue d’ensemble du niveau Azure Front Door.

#Create the profile

$fdprofile = New-AzFrontDoorCdnProfile `
    -ResourceGroupName myRGFD `
    -Name contosoAFD `
    -SkuName Premium_AzureFrontDoor `
    -Location Global

Ajout d’un point de terminaison

Exécutez New-AzFrontDoorCdnEndpoint pour créer un point de terminaison dans votre profil. Vous pouvez créer plusieurs points de terminaison dans votre profil après avoir terminé le processus de création.

#Create the endpoint

$FDendpoint = New-AzFrontDoorCdnEndpoint `
    -EndpointName contosofrontend `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -Location Global

Créer un groupe d’origins

Utilisez New-AzFrontDoorCdnOriginGroupHealthProbeSettingObject et New-AzFrontDoorCdnOriginGroupLoadBalancingSettingObject pour créer des objets en mémoire pour stocker les paramètres de sonde d’intégrité et d’équilibrage de charge.

Exécutez New-AzFrontDoorCdnOriginGroup pour créer un groupe d’origines qui contiendra vos deux applications web.

# Create health probe settings

$HealthProbeSetting = New-AzFrontDoorCdnOriginGroupHealthProbeSettingObject `
    -ProbeIntervalInSecond 60 `
    -ProbePath "/" `
    -ProbeRequestType GET `
    -ProbeProtocol Http

# Create load balancing settings

$LoadBalancingSetting = New-AzFrontDoorCdnOriginGroupLoadBalancingSettingObject `
    -AdditionalLatencyInMillisecond 50 `
    -SampleSize 4 `
    -SuccessfulSamplesRequired 3

# Create origin group

$originpool = New-AzFrontDoorCdnOriginGroup `
    -OriginGroupName og `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -HealthProbeSetting $HealthProbeSetting `
    -LoadBalancingSetting $LoadBalancingSetting

Ajouter une origin au groupe

Exécutez New-AzFrontDoorCdnOrigin pour ajouter vos origines d’application web à votre groupe d’origin.

# Add first web app origin to origin group.

$origin1 = New-AzFrontDoorCdnOrigin `
    -OriginGroupName og `
    -OriginName contoso1 `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -HostName webappcontoso-01.azurewebsites.net `
    -OriginHostHeader webappcontoso-01.azurewebsites.net `
    -HttpPort 80 `
    -HttpsPort 443 `
    -Priority 1 `
    -Weight 1000

# Add second web app origin to origin group.

$origin2 = New-AzFrontDoorCdnOrigin `
    -OriginGroupName og `
    -OriginName contoso2 `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -HostName webappcontoso-02.azurewebsites.net `
    -OriginHostHeader webappcontoso-02.azurewebsites.net `
    -HttpPort 80 `
    -HttpsPort 443 `
    -Priority 1 `
    -Weight 1000

Ajouter un itinéraire

Exécutez New-AzFrontDoorCdnRoute pour mapper votre point de terminaison au groupe d’origin. Cet itinéraire transfère les requêtes du point de terminaison au groupe d’origin.

# Create a route to map the endpoint to the origin group

$Route = New-AzFrontDoorCdnRoute `
    -EndpointName contosofrontend `
    -Name defaultroute `
    -ProfileName contosoAFD `
    -ResourceGroupName myRGFD `
    -ForwardingProtocol MatchRequest `
    -HttpsRedirect Enabled `
    -LinkToDefaultDomain Enabled `
    -OriginGroupId $originpool.Id `
    -SupportedProtocol Http,Https

Votre profil Front Door est devenu entièrement fonctionnel avec la dernière étape.

Tester la porte d’entrée

Une fois le profil Azure Front Door Standard/Premium créé, il faut quelques minutes pour que la configuration soit déployée dans le monde entier. Une fois l’opération terminée, vous pouvez accéder à l’hôte frontal que vous avez créé.

Exécutez Get-AzFrontDoorCdnEndpoint pour obtenir le nom d’hôte du point de terminaison Front Door.

$fd = Get-AzFrontDoorCdnEndpoint `
    -EndpointName contosofrontend `
    -ProfileName contosoafd `
    -ResourceGroupName myRGFD

$fd.hostname

Dans un navigateur, allez vers le nom d’hôte du point de terminaison : contosofrontend-<hash>.z01.azurefd.net. Votre requête sera automatiquement acheminée vers l'application web présentant la latence la plus faible dans le groupe d'origin.

Capture d’écran du message : Votre application web est en cours d’exécution et attend votre contenu

Pour tester le basculement global instantané, nous allons utiliser les étapes suivantes :

  1. Ouvrez un navigateur, comme décrit ci-dessus, puis accédez au nom d’hôte du point de terminaison : contosofrontend-<hash>.z01.azurefd.net.

  2. Arrêtez l’une des Web Apps en exécutant Stop-AzWebApp

    Stop-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-01"
    
  3. Actualisez votre navigateur. Vous devriez voir la même page d’informations.

    Conseil

    Il y a un peu de retard pour ces actions. Vous devrez peut-être actualiser une nouvelle fois.

  4. Recherchez l’autre application web, puis arrêtez-la également.

    Stop-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-02"
    
  5. Actualisez votre navigateur. Cette fois, vous devriez voir un message d’erreur.

    Capture d’écran du message : Les deux instances de l’application web arrêtées.

  6. Redémarrez l’une des Web Apps en exécutant Start-AzWebApp. Actualisez votre navigateur et la page revient à la normale.

    Start-AzWebApp -ResourceGroupName myRGFD -Name "WebAppContoso-01"
    

Nettoyer les ressources

Quand vous n’avez plus besoin des ressources que vous avez créées avec la porte d’entrée, supprimez le groupe de ressources. Quand vous supprimez le groupe de ressources, vous supprimez aussi la porte d’entrée et toutes ses ressources associées.

Exécutez Remove-AzResourceGroup pour supprimer le groupe de ressources :

Remove-AzResourceGroup -Name myRGFD

Étapes suivantes

Pour savoir comment ajouter un domaine personnalisé à votre porte d’entrée, passez aux tutoriels Front Door.