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.
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, 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.
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
Puede haber un ligero retraso para estas acciones. Es posible que tenga que volver a actualizar la página.
Detenga también la otra aplicación web:
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 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.