Inicio rápido: Creación de una instancia de Azure Front Door Estándar/Premium: CLI de Azure

En este inicio rápido, aprenderá a crear un perfil de Azure Front Door Estándar/Premium mediante la CLI de Azure. Creará este perfil mediante dos aplicaciones web como origen y agregará una directiva de seguridad de WAF. Luego, puede comprobar la conectividad con Web Apps mediante el nombre de host del punto de conexión de Azure Front Door.

Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.

Requisitos previos

Puede usar Azure Cloud Shell o una CLI de Azure local.

Crear un grupo de recursos

En Azure, puede asignar recursos relacionados a un grupo de recursos. Puede usar un grupo de recursos existente o crear uno nuevo.

Ejecute az group create para crear grupos de recursos.

az group create --name myRGFD --location centralus

Creación de un perfil de Azure Front Door

Ejecute az afd profile create para crear un perfil de Azure Front Door.

Nota

Si quiere implementar Azure Front Door Estándar en lugar de Prémium, sustituya el valor del parámetro de SKU por Standard_AzureFrontDoor. No podrá implementar reglas administradas con la directiva de WAF, si elige la SKU Estándar. Para obtener una comparación detallada, consulte Comparación de niveles de Azure Front Door.

az afd profile create \
    --profile-name contosoafd \
    --resource-group myRGFD \
    --sku Premium_AzureFrontDoor

Creación de dos instancias de una aplicación web

Necesita dos instancias de una aplicación web que se ejecuten en diferentes regiones de Azure para este tutorial. Las dos instancias de la aplicación web se ejecutan en modo Activo/Activo, por lo que cualquiera de ellas puede atender el tráfico.

Si aún no tiene una aplicación web, use el siguiente script para configurar dos aplicaciones web de ejemplo.

Creación de planes de App Service

Para poder crear las aplicaciones web, necesitará dos planes de App Service, uno en Centro de EE. UU. y el segundo en Este de EE. UU.

Ejecute az appservice plan create para crear sus planes de App Service.

az appservice plan create \
    --name myAppServicePlanCentralUS \
    --resource-group myRGFD \
    --location centralus
az appservice plan create \
    --name myAppServicePlanEastUS \
    --resource-group myRGFD \
    --location eastus

Creación de aplicaciones web

Ejecute az webapp create para crear una aplicación web en cada uno de los planes de App Service del paso anterior. Los nombres de las aplicaciones web tienen que ser únicos globalmente.

az webapp create \
    --name WebAppContoso-01 \
    --resource-group myRGFD \
    --plan myAppServicePlanCentralUS
az webapp create \
    --name WebAppContoso-02 \
    --resource-group myRGFD \
    --plan myAppServicePlanEastUS

Anote el nombre de host predeterminado de cada aplicación web, con el fin de que pueda definir las direcciones de back-end al implementar la instancia de Front Door en el paso siguiente.

Crear una instancia de Azure Front Door

Crear un perfil de Front Door.

Ejecute az afd profile create para crear un perfil de Azure Front Door.

Nota

Si quiere implementar la versión Estándar de Azure Front Door en lugar de la Prémium, sustituya el valor del parámetro de SKU por Standard_AzureFrontDoor. No podrá implementar reglas administradas con la directiva de WAF, si elige la SKU Estándar. Para obtener una comparación detallada, consulte Comparación de niveles de Azure Front Door.

az afd profile create \
    --profile-name contosoafd \
    --resource-group myRGFD \
    --sku Premium_AzureFrontDoor

Agregación de un extremo

Ejecute az afd endpoint create para crear un punto de conexión en el perfil. Puede crear varios puntos de conexión en el perfil después de finalizar la experiencia de creación.

az afd endpoint create \
    --resource-group myRGFD \
    --endpoint-name contosofrontend \
    --profile-name contosoafd \
    --enabled-state Enabled

Creación de un grupo de origen

Ejecute az afd origin-group create para crear un grupo de origen que contenga las dos aplicaciones web.

az afd origin-group create \
    --resource-group myRGFD \
    --origin-group-name og \
    --profile-name contosoafd \
    --probe-request-type GET \
    --probe-protocol Http \
    --probe-interval-in-seconds 60 \
    --probe-path / \
    --sample-size 4 \
    --successful-samples-required 3 \
    --additional-latency-in-milliseconds 50

Adición de un origen al grupo

Ejecute az afd origin create para agregar un origen al grupo de origen.

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

Repita este paso y agregue el segundo origen.

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

Agregar una ruta

Ejecute az afd route create para asignar el punto de conexión al grupo de origen. Esta ruta reenvía las solicitudes del punto de conexión al grupo de origen.

az afd route create \
    --resource-group myRGFD \
    --profile-name contosoafd \
    --endpoint-name contosofrontend \
    --forwarding-protocol MatchRequest \
    --route-name route \
    --https-redirect Enabled \
    --origin-group og \
    --supported-protocols Http Https \
    --link-to-default-domain Enabled 

Su perfil de Front Door se vuelve totalmente funcional con el último paso.

Creación de una directiva de seguridad

Creación de una directiva WAF

Ejecute az network front-door waf-policy create para crear una nueva directiva WAF para Front Door. En este ejemplo se crea una directiva habilitada y en modo de prevención.

Nota

Las reglas administradas solo funcionarán con la SKU Prémium de Front Door. Puede optar por la SKU Estándar siguiente para usar reglas personalizadas.

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

Nota

Si selecciona el modo Detection, WAF no bloquea ninguna solicitud.

Asignación de reglas administradas a la directiva WAF

Ejecute az network front-door waf-policy managed-rules add para agregar reglas administradas a la directiva WAF. En este ejemplo se agrega Microsoft_DefaultRuleSet_1.2 y Microsoft_BotManagerRuleSet_1.0 a la directiva.

az network front-door waf-policy managed-rules add \
    --policy-name contosoWAF \
    --resource-group myRGFD \
    --type Microsoft_DefaultRuleSet \
    --version 1.2 
az network front-door waf-policy managed-rules add \
    --policy-name contosoWAF \
    --resource-group myRGFD \
    --type Microsoft_BotManagerRuleSet \
    --version 1.0

Creación de la directiva de seguridad

Ejecute az afd security-policy create para aplicar la directiva de WAF al dominio predeterminado del punto de conexión.

Nota

Sustituya "mysubscription" por el identificador de suscripción de Azure en los dominios y los parámetros de waf-policy siguientes. Ejecute az account subscription list para obtener los detalles del identificador de suscripción.

az afd security-policy create \
    --resource-group myRGFD \
    --profile-name contosoafd \
    --security-policy-name contososecurity \
    --domains /subscriptions/mysubscription/resourcegroups/myRGFD/providers/Microsoft.Cdn/profiles/contosoafd/afdEndpoints/contosofrontend \
    --waf-policy /subscriptions/mysubscription/resourcegroups/myRGFD/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/contosoWAF

Prueba de Front Door

Cuando se crea el perfil de Azure Front Door Estándar/Premium, la configuración tarda unos minutos en implementarse globalmente. Cuando haya finalizado, puede acceder al host de front-end que ha creado.

Ejecute az afd endpoint show para obtener el nombre de host del punto de conexión de Front Door.

az afd endpoint show --resource-group myRGFD --profile-name contosoafd --endpoint-name contosofrontend

En un explorador, vaya al nombre de host del punto de conexión: contosofrontend-<hash>.z01.azurefd.net. La solicitud se enrutará automáticamente a la aplicación web menos latente en el grupo de origen.

Captura de pantalla del mensaje: La aplicación web se está ejecutando y está esperando el contenido

Para probar la conmutación por error global instantánea, siga estos pasos:

  1. Abra un explorador como se indica más arriba y vaya al nombre de host del punto de conexión: contosofrontend-<hash>.z01.azurefd.net.

  2. Detenga una de las aplicaciones web mediante la ejecución de az webapp stop.

    az webapp stop --name WebAppContoso-01 --resource-group myRGFD
    
  3. Actualice el explorador. Debería aparecer la misma página de información.

Sugerencia

Hay algo de retraso en estas acciones. Puede que tenga que actualizar de nuevo.

  1. Busque la otra aplicación web y deténgala también.

    az webapp stop --name WebAppContoso-02 --resource-group myRGFD
    
  2. Actualice el explorador. Esta vez debería aparecer un mensaje de error.

    Captura de pantalla del mensaje: Las dos instancias de la aplicación web detenidas

  3. Reinicie una de las aplicaciones web mediante la ejecución de az webapp start. Actualice el explorador y la página volverá a la normalidad.

    az webapp start --name WebAppContoso-01 --resource-group myRGFD
    

Limpieza de recursos

Cuando no necesite los recursos para Front Door, elimine ambos grupos de recursos. Al eliminar los grupos de recursos también se elimina Front Door y todos sus recursos relacionados.

Ejecute az group delete:

az group delete --name myRGFD

Pasos siguientes

Pase al siguiente artículo para aprender a agregar un dominio personalizado a Front Door.