Partager via


Tutoriel : Ajouter et personnaliser les règles de distribution pour Azure Front Door Standard/Premium (préversion) avec Azure CLI

Azure Front Door Standard/Premium (préversion) est un réseau de distribution de contenu (CDN) moderne, rapide et sécurisé pour le cloud. Azure Front Door utilise le réseau de périmètre mondial de Microsoft et s’intègre à une protection intelligente contre les menaces. Azure Front Door standard est axé sur la distribution de contenu. Azure Front Door Premium ajoute des capacités de sécurité et de personnalisation étendues. Ce tutoriel porte sur la création d’un profil Azure Front Door, puis sur l’ajout de règles de distribution pour un contrôle plus granulaire du comportement de vos applications web.

Notes

Cette documentation est destinée à Azure Front Door Standard/Premium (préversion). Vous recherchez des informations sur Azure Front Door ? Consultez la documentation Azure Front Door.

Ce didacticiel vous montre comment effectuer les opérations suivantes :

  • Créer un profil Azure Front Door.
  • Créer deux instances d’une application web.
  • Créer une stratégie de sécurité.
  • Vérifier la connectivité de vos applications web.
  • Créer un ensemble de règles.
  • Créer une règle et l’ajouter à l’ensemble de règles.
  • Ajouter des actions ou des conditions à vos règles.

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

Prérequis

Créer un Azure Front Door

Créer un groupe de ressources

Pour ce démarrage rapide, vous aurez besoin de deux groupes de ressources. L’un dans la région USA Centre et l’autre dans la région USA Est.

Exécutez az group create pour créer des groupes de ressources.

az group create \
    --name myRGFDCentral \
    --location centralus

az group create \
    --name myRGFDEast \
    --location eastus

Créer un profil Azure Front Door

Exécutez az afd profile create pour créer un profil Azure Front Door.

az afd profile create \
    --profile-name contosoafd \
    --resource-group myRGFDCentral \
    --sku Premium_AzureFrontDoor \
    --subscription mysubscription

Créer deux instances d’une application web

Pour ce tutoriel, vous avez besoin de 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 traiter le trafic.

Si vous n’avez pas encore d’application web, utilisez le script suivant pour configurer deux exemples d’applications web.

Créer des plans App Service

Avant de pouvoir créer les applications web, vous aurez besoin de deux plans App Service : l’un dans la région USA Centre et l’autre dans la région USA Est.

Exécutez az appservice plan create pour créer des plans App Service.

az appservice plan create \
    --name myAppServicePlanCentralUS \
    --resource-group myRGFDCentral

az appservice plan create \
    --name myAppServicePlanEastUS \
    --resource-group myRGFDEast

Créer des applications web

Exécutez az webapp create pour créer une application web dans chacun des plans App Service de l’étape précédente. Les noms des applications web doivent être globalement uniques.

Exécutez az webapp list-runtimes pour voir une liste des piles intégrées pour les applications web.

az webapp create \
    --name WebAppContoso-001 \
    --resource-group myRGFDCentral \
    --plan myAppServicePlanCentralUS \
    --runtime "DOTNETCORE|2.1"

az webapp create \
    --name WebAppContoso-002 \
    --resource-group myRGFDEast \
    --plan myAppServicePlanEastUS \
    --runtime "DOTNETCORE|2.1"

Prenez note du nom d’hôte par défaut de chaque application web afin de pouvoir définir les adresses de back-end au moment de déployer la porte d’entrée à l’étape suivante.

Ajout d’un point de terminaison

Exécutez az afd endpoint create 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.

az afd endpoint create \
    --resource-group myRGFDCentral \
    --endpoint-name contoso-frontend \
    --profile-name contosoafd \
    --origin-response-timeout-seconds 60 \
    --enabled-state Enabled

Créer un groupe d’origins

Exécutez az afd origin-group create pour créer un groupe d’origins qui contient vos deux applications web.

az afd origin-group create \
    --resource-group myRGFDCentral \
    --origin-group-name og1 \
    --profile-name contosoafd \
    --probe-request-type GET \
    --probe-protocol Http \
    --probe-interval-in-seconds 120 \
    --probe-path /test1/azure.txt \
    --sample-size 4 \
    --successful-samples-required 3 \
    --additional-latency-in-milliseconds 50

Ajouter des origins au groupe

Exécutez az afd origin create pour ajouter une origin à votre groupe d’origins.

az afd origin create \
    --resource-group myRGFDCentral \
    --host-name webappcontoso-1.azurewebsites.net
    --profile-name contosoafd \
    --origin-group-name og1 \
    --origin-name contoso1 \
    --origin-host-header webappcontoso-1.azurewebsites.net \
    --priority 1 \
    --weight 1000 \
    --enabled-state Enabled \
    --http-port 80 \
    --https-port 443

Répétez cette étape et ajoutez votre deuxième origin.

az afd origin create \
    --resource-group myRGFDCentral \
    --host-name webappcontoso-2.azurewebsites.net
    --profile-name contosoafd \
    --origin-group-name og1 \
    --origin-name contoso2 \
    --origin-host-header webappcontoso-2.azurewebsites.net \
    --priority 1 \
    --weight 1000 \
    --enabled-state Enabled \
    --http-port 80 \
    --https-port 443

Ajouter un itinéraire

Exécutez az afd route create pour mapper votre point de terminaison frontal au groupe d’origins. Cet itinéraire transfère les requêtes du point de terminaison à og1.

az afd route create \
    --resource-group myRGFDCentral \
    --endpoint-name contoso-frontend \
    --profile-name contosoafd \
    --route-name route1 \
    --https-redirect Enabled \
    --origin-group og1 \
    --supported-protocols Https \
    --link-to-default-domain Enabled \
    --forwarding-protocol MatchRequest

Créer une stratégie de sécurité

Créer une stratégie de pare-feu d’applications web (WAF).

Exécutez az network front-door waf-policy create pour créer une stratégie WAF pour l’un de vos groupes de ressources.

Créez une nouvelle stratégie WAF pour votre instance Front Door. Cet exemple crée une stratégie qui est activée et en mode prévention.

az network front-door waf-policy create
    --name contosoWAF /
    --resource-group myRGFDCentral /
    --sku Premium_AzureFrontDoor
    --disabled false /
    --mode Prevention

Notes

Si vous sélectionnez le mode Detection, votre pare-feu d’applications web ne bloque aucune requête.

Créer la stratégie de sécurité

Exécutez az afd security-policy create pour appliquer votre stratégie WAF au domaine par défaut du point de terminaison.

az afd security-policy create \
    --resource-group myRGFDCentral \
    --profile-name contosoafd \
    --security-policy-name contososecurity \
    --domains /subscriptions/mysubscription/resourcegroups/myRGFDCentral/providers/Microsoft.Cdn/profiles/contosoafd/afdEndpoints/contoso-frontend.z01.azurefd.net \
    --waf-policy /subscriptions/mysubscription/resourcegroups/myRGFDCentral/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/contosoWAF

Vérifier Azure Front Door

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éé. Dans un navigateur, accédez à contoso-frontend.z01.azurefd.net. Votre demande est automatiquement acheminée vers le serveur le plus proche parmi les serveurs spécifiés dans le groupe d’origins.

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

  1. Ouvrez un navigateur, comme décrit ci-dessus, puis accédez à l’adresse front-end : contoso-frontend.azurefd.net.

  2. Dans le portail Azure, recherchez et sélectionnez App Services. Faites défiler la liste jusqu’à l’une de vos applications web, WebAppContoso-1 dans cet exemple.

  3. Sélectionnez votre application web, puis Arrêter et Oui pour vérifier.

  4. 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.

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

  6. Actualisez votre navigateur. Cette fois, vous devriez voir un message d’erreur.

    Both instances of the web app stopped

Créer un ensemble de règles

Créez un ensemble de règles pour personnaliser la façon dont les requêtes HTTP sont traitées à la périphérie. Les règles de distribution ajoutées à l’ensemble de règles permettent de mieux contrôler le comportement de vos applications web. Exécutez az afd rule-set create pour créer un ensemble de règles dans votre profil Azure Front Door.

az afd rule-set create \
    --profile-name contosoafd \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules

Créer une règle de distribution et l’ajouter à votre ensemble de règles

Créez une nouvelle règle de distribution dans votre ensemble de règles. Exécutez az afd rule create pour créer une règle de distribution dans votre ensemble de règles. Pour cet exemple, nous allons créer une règle pour une redirection HTTP vers HTTPS.

az afd rule create \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules \
    --profile-name contosoafd \
    --order 1 \
    --match-variable RequestScheme \
    --operator Equal \
    --match-values HTTP \
    --rule-name "redirect" \
    --action-name "UrlRedirect" \
    --redirect-protocol Https \
    --redirect-type Moved

Ajouter une action ou une condition à votre règle de distribution

Il se peut que vous ayez besoin de personnaliser davantage votre nouvelle règle de distribution. Vous pouvez ajouter des actions ou des conditions si nécessaire après la création. Exécutez az afd rule action add ou az afd rule condition add pour mettre à jour votre règle.

Ajouter une action

az afd rule action add \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules \
    --profile-name contosoafd \
    --rule-name redirect \
    --action-name "CacheExpiration" \
    --cache-behavior BypassCache

Ajouter une condition

az afd rule condition add \
    --resource-group myRGFDCentral \
    --rule-set-name contosorules \
    --profile-name contosoafd \
    --rule-name redirect \
    --match-variable RemoteAddress \
    --operator GeoMatch \
    --match-values "TH"

Nettoyer les ressources

Lorsque vous n’avez plus besoin des ressources pour l’instance Front Door, supprimez les deux groupes de ressources. La suppression des groupes de ressources entraîne également la suppression de l’instance Front Door et de toutes les ressources associées.

Exécutez az group delete :

az group delete \
    --name myRGFDCentral

az group delete \
    --name myRGFDEast