Compartir a través de


Inicio rápido: Creación de una instancia de Azure Front Door mediante la CLI de Azure

En este inicio rápido, aprenderá a crear una instancia de Azure Front Door mediante la CLI de Azure. Configure un perfil con dos Azure Web Apps como orígenes y agregue una directiva de seguridad WAF. Por último, verifique la conectividad con sus Web Apps utilizando el nombre de host del punto de conexión de Azure Front Door.

Diagrama del entorno de implementación de Azure Front Door mediante la CLI de Azure.

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, los recursos relacionados se asignan a un grupo de recursos. Puede usar un grupo de recursos existente o crear uno nuevo.

Ejecute az group create para crear un grupo de recursos.

az group create --name myRGFD --location centralus

Creación de un perfil de Azure Front Door

A continuación, cree el perfil Azure Front Door que sus dos App Services utilizan como orígenes.

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

Nota:

Si desea implementar Azure Front Door Standard en lugar de Premium, sustituya el valor del parámetro sku por Standard_AzureFrontDoor. Las reglas administradas con la directiva WAF no están disponibles con 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, se crean dos instancias de aplicación web que se ejecutan en diferentes regiones de Azure. Ambas instancias funcionan en modo Activo/Activo, lo que significa que cualquiera de ellas puede gestionar el tráfico. Esta configuración es diferente de una configuración Activa/En espera, en la que una instancia sirve como conmutación por error.

Creación de planes de App Service

En primer lugar, cree dos planes de servicio de aplicaciones: uno en el Centro de EE.UU. y otro en el Este de EE. UU..

Ejecute los siguientes comandos para crear los planes de servicio de aplicaciones:

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

A continuación, cree una aplicación web en cada uno de los planes de servicio de aplicaciones creados en el paso anterior. Los nombres de las aplicaciones web deben ser globalmente únicos.

Ejecute los siguientes comandos para crear las aplicaciones web:

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

Tome nota de los nombres de host predeterminados para cada aplicación web, ya que los necesitará para definir las direcciones de backend cuando implemente Azure Front Door en el siguiente paso.

Crear una instancia de Azure Front Door

Creación de un perfil de Azure Front Door

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

Nota:

Para implementar Azure Front Door Standard en lugar de Premium, establezca el parámetro sku en Standard_AzureFrontDoor. Las reglas administradas con la directiva WAF no están disponibles con 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

Cree un punto de conexión en su perfil de Azure Front Door. Un punto de conexión es una agrupación lógica de una o varias rutas asociadas a nombres de dominio. Azure Front Door asigna un nombre de dominio a cada punto de conexión, y usted puede asociar puntos de conexión con dominios personalizados mediante rutas. Los perfiles Azure Front Door pueden 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 obtener más información sobre los puntos de conexión en Azure Front Door, consulte 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 orígenes también definen cómo evalúan los orígenes las sondas de estado.

Ejecute az afd origin-group create para crear un grupo de origen que contenga sus 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

Agregar orígenes al grupo de orígenes

Agregue las dos instancias de la aplicación creadas anteriormente como orígenes al nuevo grupo de origen. Los orígenes en Azure Front Door se refieren a las aplicaciones de las que Azure Front Door recupera contenido cuando el almacenamiento en caché no está habilitado o cuando se produce una pérdida de 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 para agregar su segunda instancia de aplicación como un origen a su 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 obtener más información sobre orígenes, grupos de orígenes y sondas de salud, consulte Orígenes y grupos de orígenes en Azure Front Door.

Agregar una ruta

Agregue una ruta para asignar el punto de conexión que creó anteriormente al grupo de origen. 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 Azure Front Door proporciona protección centralizada para sus aplicaciones web, defendiéndolas contra exploits y vulnerabilidades comunes.

En este tutorial se crea una directiva WAF que incluye dos reglas administradas. También puede crear directivas 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 su Azure Front Door. En este ejemplo se crea una directiva habilitada y en modo de prevención.

Nota:

Las reglas administradas solo están disponibles con el nivel Azure Front Door Premium. Puede utilizar reglas personalizadas con el nivel Estándar.

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, su WAF no bloqueará ninguna petición.

Para obtener más información sobre la configuración de directivas WAF para Azure Front Door, consulte 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 obtener más información sobre las reglas administradas en Azure Front Door, consulte Grupos de reglas y reglas DRS de Web Application Firewall.

Aplicar la directiva de seguridad

Ahora, aplique las directivas WAF a su Azure Front Door creando una directiva de seguridad. Esta configuración aplica las reglas administradas por Azure al punto de conexión que definió anteriormente.

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

Nota:

Sustituya "mysubscription" por su id. de Azure Subscription en los parámetros dominios y 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

Pruebe la instancia de Azure Front Door

Una vez creado el perfil Azure Front Door, 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 Azure 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. Su solicitud se dirige a la Web App menos latente del 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 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

Puede haber un ligero retraso para estas acciones. Es posible que tenga que volver a actualizar la página.

  1. Detenga también la otra aplicación web:

    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 su navegador y la página volverá a la normalidad.

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

Limpieza de recursos

Cuando ya no necesite los recursos creados para Azure Front Door, puede eliminar el grupo de recursos. Esta acción elimina Azure Front Door y todos los recursos asociados.

Ejecute el comando siguiente para eliminar el grupo de recursos:

az group delete --name myRGFD

Pasos siguientes

Continúe con el siguiente artículo para aprender a agregar un dominio personalizado a su Azure Front Door.