Saltar a contenido

Azure Front Door

Servicio de Azure para publicar aplicaciones globales con alta disponibilidad, seguridad y aceleración de tráfico.

Es un servicio global de:

  • Load Blancing Layer 7 (HTTP/HTTPS)
  • CDN
  • WAF (Web Application Firewall)
  • Aceleración de tráfico
  • Proxy inverso global
  • Failover automático entre regiones
  • Entrada global para aplicaciones web

La puerta de entrada inteligente global de tus aplicaciones web

Hace como intermediario entre el 'Azure Storage' donde de aloja nuestra app, con todo lo demás para llegar finalmente al usario

Los usuarios llegan primero a Front Door y este decide:

  • A que backend enviar el tráfico,
  • Cómo optimizarlo
  • Cómo protegerlo
  • y Cómo cachearlo

Características


Decide a donde enviar cada petición que nos llega a la web, Front Door recibe la petición primero y analiza estas cosas:

  • la URL
  • el Dominio
  • el Path
  • headers
  • protocolo
  • país
  • etc.

Reparte el tráfico entre varios servidores

Usa:

  • Latencia
  • Health probes: Front Door hace requests automáticos a los backends para verificar salud, si el backend falla, lo saca automáticamente del balanceador
  • Prioridad
  • Peso (weight)

Modos importantes:

  1. Priority: Failover

    Primario --> Secundario

  2. Weighted: Distribución proporcional

    Ejemplo:

    • Europa = 80 %
    • USA = 20 %
  3. Latency-based: el usuario va al backend maś cercano

    • Usuario en Madrid --> irá al backend de París
    • Usuario en México --> irá al backend de USA

Es el Firewall web que mira este contenido:

  • URLs
  • formularios
  • parámetros
  • cookies
  • headers
  • payloads
  • etc.

CDN significa: Guardar contenido cerca del usuario

Es una red de servidores distribuidos por distintas ubicaciones del mundo que sirve contntenido web desde el servidor más cercano al usuario.

Su obejtivo principal es:

  • Acelerar la carga de páginas
  • Reducir la latencia
  • Disminuir carga del servidor principal
  • Mejorar la disponibilidad y seguridad

Beneficios:

  • Velocidad (mejor latencia y tiempos de carga)
  • Escalabilidad (el tráfico se distribuye globalmente)
  • Menos carga al backend (el server principal trabaja menos)
  • Alta disponibilidad (si un nodo falla, otro puede responder)
  • Seguridad (muchos incluyen: protección DDoS, WAF, rate limiting, bot protection...)

Empresas CDN conocidas:

  • Cloudflare
  • Akamai Technologies
  • Fastly
  • AWS Cloud Front
  • Google Cloud CDN
  • HTTP normal: La información viaja sensible, cualquiera podría verla
  • HTTPS: La información viaja cifrada
  • Certificado SSL/TLS: "Documento de identidad" del sitio web, demuestra que el sitio es legítimo y permite cifrado

Front door puede:

  • Gestionar certificados
  • Renovar certificados
  • SSL Terminatio (que Front Door gestione el cifrado en lugar el server)
  • Private Link: permite que el backend no tenga IP pública así no se puede atacar directamente.
  • DDoS Protection: protege contra ataques masivos de tráfico
  • Bot Protection: detecta: scrapers, crawlers malos, automatizaciones...
  • Rate Limiting: evita abusos

Para que cuando se distribuye la carga entre servidores, si tu tienes una sesión el el server1 y en la siguiente request se manda al server2, no tengas q volver a iniciar sesión, esto arregla ese problema.

Cuando se te manda al server1, esto se encarga de q todas las demás peticiones también vayan al server1 y no cambie.


PRÁCTICA: Crear un endpoint con Azure Front Door

ESTA ES UNA PARTE DE LA PRÁCTICA WEB que está en este enlace

Iremos al siguiente recurso del portal de Azure

recurso

crear

creación rápida

Microsoft.cdn no está registrado para la suscripción

fallo

Si nos aparece este fallo iremos al enlace siguiente para solucionarlo:

https://learn.microsoft.com/ca-es/azure/azure-resource-manager/management/resource-providers-and-types?WT.mc_id=Portal-Microsoft_Azure_AFDX

Empezamos con los 'aspectos básicos':

config

Activamos la caché ¿Por qué?

Front Door es una CDN (red de entrega de contenido)

Cuado activamos la caché guardamos copias de nuestra web en servidores cercanos al usuario, lo que nos da las siguientes ventajas:

  • Más velocidad: el usuario no va siempre al Storage
  • Menos coste: menos llamadas al Azure Storage (menos operaciones y menos tráfico)
  • Mejora experiencia global: Da igual si el usuario está en Madrid, México o Japón

En nuestro caso elegiremos la opción de caché de "Omitir acdena de consulta" porque nuestro sitio web es estático, no depende de parámetros dinámicos, no tiene login ni datos variables.

caché options

Tabla de opciones:

Opción Cuando usarla
Omitir cadena de consulta sitios estáticos
Usar cadena de consulta apps dinámicas
Ignorar específicas tracking web
Incluir específicas APIs avanzadas

Habilitamos la compresión ¿Por qué?

Habilitar la compresión normalmente reduce costes, además al ser una página estática nos viene perfecto porque los archivos pesarán menos y menos tráfico = menos coste.

Comprobamos que funciona

TARDA MUCHO TIEMPO EN FUNCIONAR, PACIENCIA, de 30 o 40 minutos

prueba


PRÁCTICA: Certificado TLS


Práctica completa en el siguiente enlace