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/Prémium 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.

Diagram of Front Door deployment environment using the Azure CLI.

Nota:

En el caso de las cargas de trabajo web, se recomienda encarecidamente usar la protección contra DDoS de Azure y un firewall de aplicaciones web para protegerse frente a posibles ataques DDoS. Otra opción es emplear Azure Front Door junto con un firewall de aplicaciones web. Azure Front Door ofrece protección de nivel de plataforma frente a ataques DDoS de nivel de red. Para más información, consulte línea base de seguridad para los servicios de Azure.

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

Requisitos previos

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

En este paso, creará el perfil de Azure Front Door que los dos servicios de aplicaciones usarán como origen.

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

En este paso, creará dos instancias de aplicación web que se ejecutan 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. Esta configuración difiere de una configuración activa/en espera, en la que una realiza la conmutación por error.

Creación de planes de App Service

Para poder crear las aplicaciones web, necesita 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

Una vez que se creen los planes de App Service, 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

En este paso, creará un punto de conexión en el perfil de Front Door. En los modelos de suscripción Estándar y Premium de Front Door, un punto de conexión es una agrupación lógica de una o varias rutas asociadas con nombres de dominio. Front Door asigna un nombre de dominio a cada punto de conexión, y puede asociar puntos de conexión con dominios personalizados mediante rutas. Los perfiles de Front Door también puede contener varios puntos de conexión.

Ejecute az afd endpoint create para crear un punto de conexión en el perfil.

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

Para más información sobre los puntos de conexión en Front Door, vea Puntos de conexión en Azure Front Door.

Creación de un grupo de origen

Cree un grupo de origen que defina el tráfico y las respuestas esperadas para las instancias de aplicación. Los grupos de origen también definen cómo los sondeos de estado evalúan los orígenes, que puede definir en este paso.

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

Agregue las dos instancias de la aplicación creadas anteriormente como orígenes al nuevo grupo de origen. En Front Door, los orígenes hacen referencia a las aplicaciones de las que Front Door recupera contenido cuando el almacenamiento en caché no esté habilitado o cuando se pierda una caché.

Ejecute az afd origin create para agregar la primera instancia de aplicación como 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 la segunda instancia de aplicación como origen al grupo de 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

Para más información sobre los orígenes, los grupos de origen y los sondeos de estado, vea Orígenes y grupos de origen en Azure Front Door

Agregar una ruta

Agregue una ruta para asignar al grupo de origen el punto de conexión que ha creado antes. Esta ruta reenvía las solicitudes del punto de conexión al grupo de origen.

Ejecute az afd route create para asignar el 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 

Para más información sobre las rutas en Azure Front Door, vea Métodos de enrutamiento de tráfico al origen.

Creación de una directiva de seguridad

Azure Web Application Firewall (WAF) en Front Door proporciona protección centralizada para las aplicaciones web, y las defiende frente a vulnerabilidades y vulnerabilidades comunes.

En este tutorial, creará una directiva de WAF que agrega dos reglas administradas. También puede crear directivas de WAF con reglas personalizadas

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 el nivel Prémium de Front Door. Puede optar por el nivel Estándar 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.

Para más información sobre la configuración de directivas de WAF para Front Door, vea Configuración de directivas para Web Application Firewall en Azure Front Door.

Asignación de reglas administradas a la directiva WAF

Los conjuntos de reglas administrados por Azure son una forma fácil de proteger las aplicaciones frente a amenazas de seguridad comunes.

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_2.1 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 \
    --action Block \
    --version 2.1 
az network front-door waf-policy managed-rules add \
    --policy-name contosoWAF \
    --resource-group myRGFD \
    --type Microsoft_BotManagerRuleSet \
    --version 1.0

Para más información sobre las reglas administradas en Front Door, vea Reglas y grupos de reglas de DRS de Web Application Firewall.

Creación de la directiva de seguridad

Ahora aplicará estas dos directivas de WAF a Front Door mediante la creación de una directiva de seguridad. Esta configuración aplica las reglas administradas por Azure al punto de conexión que ha definido antes.

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 id. de suscripción de Azure en los dominios y los parámetros de waf-policy. 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 enruta automáticamente a la aplicación web menos latente en el grupo de origen.

Screenshot of the message: Your web app is running and waiting for your content

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

  1. Abra un explorador 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.

    Screenshot of the message: Both instances of the web app stopped

  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.