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
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
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 :
Ouvrez un navigateur, comme décrit ci-dessus, puis accédez à l’adresse front-end :
contoso-frontend.azurefd.net
.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.
Sélectionnez votre application web, puis Arrêter et Oui pour vérifier.
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.
Recherchez l’autre application web, puis arrêtez-la également.
Actualisez votre navigateur. Cette fois, vous devriez voir un message d’erreur.
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