Partager via


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

Dans ce guide de démarrage rapide, vous apprenez à créer un profil Azure Front Door à l’aide d’Azure PowerShell. Vous utilisez deux instances Web Apps comme origine et vérifiez la connectivité via le nom d’hôte du point de terminaison Azure Front Door.

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

Remarque

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

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.

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.

Créer un groupe de ressources

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

New-AzResourceGroup -Name myRGFD -Location centralus

Créer deux instances d’application Web

Créez deux instances d’application web dans différentes régions Azure à l’aide de New-AzWebApp :

# 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 East US region.
$webapp2 = New-AzWebApp `
    -Name "WebAppContoso-02" `
    -Location EastUS `
    -ResourceGroupName myRGFD `
    -AppServicePlan myAppServicePlanEastUS

Créer un Azure Front Door

Créer un profil Azure Front Door

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

$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 :

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

Créer un groupe d’origins

Créez des paramètres de sonde d’intégrité et d’équilibrage de charge, puis créez un groupe d’origine à l’aide de New-AzFrontDoorCdnOriginGroup :

# 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 des origins au groupe

Ajoutez les origines de votre application web au groupe d’origines à l’aide de New-AzFrontDoorCdnOrigin :

# 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

Mappez votre point de terminaison au groupe d’origines à l’aide de New-AzFrontDoorCdnRoute :

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

Tester Azure Front Door

Après avoir créé le profil Azure Front Door, il faut quelques minutes pour que la configuration soit déployée dans le monde entier. Une fois l’opération terminée, accédez à l’hôte front-end que vous avez créé.

Exécutez Get-AzFrontDoorCdnEndpoint pour obtenir le nom d’hôte du point de terminaison Azure 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 est acheminée vers l’application web avec la latence la plus faible dans le groupe d’origines.

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

Pour tester le basculement global instantané :

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

  2. Arrêtez l’une des instances 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.

  4. Arrêtez l’autre application web :

    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 créées avec Azure Front Door, supprimez le groupe de ressources. Cette action supprime l’instance Azure Front Door et toutes ses ressources associées. Exécutez Remove-AzResourceGroup :

Remove-AzResourceGroup -Name myRGFD

Étapes suivantes

Pour savoir comment ajouter un domaine personnalisé à votre instance Azure Front Door, passez aux tutoriels Azure Front Door.