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. Creará este perfil mediante dos aplicaciones web de Azure 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.
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
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Inicio rápido para Bash en Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para más información, vea Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Inicio de sesión con la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para más información sobre las extensiones, consulte Uso de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
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.
Para probar la conmutación por error global instantánea, siga estos pasos:
Abra un explorador y vaya al nombre de host del punto de conexión:
contosofrontend-<hash>.z01.azurefd.net
.Detenga una de las aplicaciones web mediante la ejecución de az webapp stop.
az webapp stop --name WebAppContoso-01 --resource-group myRGFD
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.
Busque la otra aplicación web y deténgala también.
az webapp stop --name WebAppContoso-02 --resource-group myRGFD
Actualice el explorador. Esta vez debería aparecer un mensaje de error.
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.