0Pricing
Cloud & IT Cert Prep · Lección

Grupos de destino y comprobaciones de estado

Registre instancias de EC2, direcciones IP o funciones de Lambda como destinos, y configure las rutas, los umbrales y los intervalos de las comprobaciones de estado.

Grupos de destino y comprobaciones de estado es una lección gratuita de Cloud & IT Cert Prep en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cloud & IT Cert Prep, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.

¿Qué son los grupos de destinos?

Un grupo de destinos es una colección lógica de destinos a los que el balanceador de carga enruta las solicitudes. Cada grupo de destinos tiene un tipo de destino, un protocolo/puerto y una configuración de comprobación de estado. El balanceador de carga distribuye las solicitudes entre los destinos registrados del grupo que superan las comprobaciones de estado.

Los grupos de destinos se asocian a los listeners del balanceador de carga mediante reglas de listener. Un listener puede enrutar a varios grupos de destinos según los atributos de la solicitud. Este es el mecanismo principal del enrutamiento basado en rutas y en hosts de ALB.

# Create a target group for an ALB
aws elbv2 create-target-group \
  --name my-web-targets \
  --protocol HTTP \
  --port 80 \
  --vpc-id vpc-12345678 \
  --target-type instance \
  --health-check-path /health \
  --health-check-interval-seconds 30

Tipos de destino: instancia, IP y Lambda

Los grupos de destinos admiten tres tipos de destino:

  • instance: enruta a instancias de EC2 mediante el ID de instancia; el balanceador de carga envía el tráfico a la interfaz de red principal de la instancia en el puerto especificado
  • ip: enruta a direcciones IP privadas; es útil para destinos en contenedores (ECS/EKS), servidores locales accesibles mediante VPN/Direct Connect o IP secundarias de instancias de EC2
  • lambda: enruta a una única función de Lambda (solo ALB); ALB convierte la solicitud HTTP en un evento JSON e invoca la función de forma sincrónica

El tipo de destino IP es obligatorio para las tareas de ECS con el modo de red awsvpc (cada tarea obtiene su propia IP), para los pods de EKS y para arquitecturas híbridas con destinos locales.

Registro de destinos

Puede registrar destinos en un grupo de destinos manualmente (en la consola o mediante la CLI) o automáticamente (al asociar un Auto Scaling Group o configurar un servicio de ECS). Los destinos registrados manualmente permanecen en el grupo hasta que los anule explícitamente.

En el caso de los ASG, asocie el ASG a un grupo de destinos, y el ASG registra automáticamente las instancias recién lanzadas y anula el registro de las terminadas. Esta estrecha integración con ASG es el patrón estándar para las capas de cómputo elástico: las instancias nuevas se ponen en línea y empiezan a recibir tráfico en cuanto superan la comprobación de estado.

# Register EC2 instances with a target group
aws elbv2 register-targets \
  --target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-web-targets/abc123 \
  --targets Id=i-1234567890abcdef0 Id=i-0987654321fedcba0

# Register IP targets (for containers/ECS awsvpc)
aws elbv2 register-targets \
  --target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-ip-targets/def456 \
  --targets Id=10.0.0.5,Port=8080 Id=10.0.0.6,Port=8080

Configuración de la comprobación de estado

Cada grupo de destinos tiene una comprobación de estado asociada que el balanceador de carga utiliza para determinar si un destino está en buen estado y puede recibir tráfico. La comprobación de estado envía solicitudes periódicas a cada destino y evalúa la respuesta:

  • Protocolo: HTTP, HTTPS o TCP (para NLB)
  • Ruta: la ruta URL que se solicitará (por ejemplo, /health o /ping)
  • Puerto: el puerto que se comprobará (de forma predeterminada, el puerto del grupo de destinos)
  • Umbral de estado correcto: número de éxitos consecutivos antes de marcarlo como saludable
  • Umbral de estado incorrecto: número de errores consecutivos antes de marcarlo como no saludable
  • Intervalo: segundos entre comprobaciones de estado (5–300)
  • Tiempo de espera: segundos que se esperará una respuesta

Códigos de éxito de la comprobación de estado

En las comprobaciones de estado HTTP/HTTPS, especifique qué códigos de respuesta HTTP indican que un destino está saludable. El valor predeterminado es 200, pero puede configurar rangos como 200-299 o valores separados por comas como 200,301,302.

Práctica recomendada: cree un endpoint /health específico en su aplicación que devuelva 200 únicamente cuando todas las dependencias críticas estén disponibles (conectividad con la base de datos, caché y servicio posterior). No utilice la URL raíz (/) como ruta de comprobación de estado si realiza operaciones costosas o requiere autenticación.

# Modify health check to accept 200-299
aws elbv2 modify-target-group \
  --target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-web-targets/abc123 \
  --health-check-path /health \
  --matcher HttpCode=200-299 \
  --healthy-threshold-count 2 \
  --unhealthy-threshold-count 3 \
  --health-check-interval-seconds 15

Estados de los destinos: inicial, saludable y no saludable

Después del registro, un destino pasa por los siguientes estados:

  • initial: ELB está realizando las primeras comprobaciones de estado
  • healthy: ha superado el número necesario de comprobaciones de estado consecutivas y recibe tráfico
  • unhealthy: no ha superado el número necesario de comprobaciones de estado consecutivas y se ha retirado de la rotación
  • draining: la anulación del registro está en curso; se permite que las conexiones existentes finalicen, pero no se envían conexiones nuevas
  • unused: está registrado en el grupo, pero ninguna regla de listener dirige tráfico actualmente a este grupo

Supervise las métricas de CloudWatch UnHealthyHostCount y HealthyHostCount para detectar problemas en su flota de destinos.

Retraso de anulación del registro (drenaje de conexiones)

El retraso de anulación del registro (denominado anteriormente drenaje de conexiones) es el tiempo que ELB espera a que finalicen las conexiones existentes antes de anular finalmente el registro de un destino. El valor predeterminado es de 300 segundos (5 minutos). Durante este periodo, no se envían solicitudes nuevas al destino cuyo registro se está anulando, pero se permite que finalicen las solicitudes en curso.

Para implementaciones rápidas y terminaciones causadas por el auto scaling, puede reducir este valor a entre 30 y 60 segundos si su aplicación procesa las solicitudes rápidamente. Para operaciones de larga duración (cargas de archivos y procesamiento de vídeo), manténgalo el tiempo suficiente para que esas operaciones finalicen sin interrupciones.

# Reduce deregistration delay to 30 seconds
aws elbv2 modify-target-group-attributes \
  --target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-web-targets/abc123 \
  --attributes Key=deregistration_delay.timeout_seconds,Value=30

Algoritmos de equilibrio de carga

Los grupos de destinos admiten distintos algoritmos de equilibrio de carga:

  • Round robin (predeterminado de ALB): distribuye las solicitudes de forma uniforme y rotativa; es la mejor opción cuando todos los destinos son equivalentes
  • Least outstanding requests (ALB): envía cada solicitud nueva al destino con menos solicitudes en curso; es más adecuado para cargas de trabajo de duración variable, en las que algunas solicitudes tardan más que otras
  • Flow hash (NLB): distribuye según el protocolo, las direcciones IP de origen y destino, los puertos de origen y destino y el número de secuencia TCP; garantiza que todos los paquetes de un flujo TCP/UDP se dirijan al mismo destino

Para aplicaciones basadas en sesiones en las que todas las solicitudes de un usuario deben llegar al mismo destino, habilite las sesiones persistentes en lugar de depender de la distribución round robin.

Varios grupos de destinos y enrutamiento ponderado

Una sola regla de listener de ALB puede distribuir el tráfico entre varios grupos de destinos mediante grupos de destinos ponderados. Por ejemplo, puede dirigir el 90 % del tráfico a un grupo de destinos estable y el 10 % a un grupo de destinos canario para realizar implementaciones blue-green, sin utilizar el enrutamiento ponderado de Route 53.

Los grupos de destinos ponderados se configuran en el nivel de la regla del listener. Los pesos son relativos: una proporción 90/10 envía el 90 % al primer grupo y el 10 % al segundo. Esto difiere del enrutamiento ponderado entre varios ALB; en este caso, se realiza dentro de una única regla de listener de ALB.

Grupos de destinos e integración con ECS

Al implementar servicios de ECS detrás de un ALB, cada tarea de ECS se registra en el grupo de destinos del ALB mediante el tipo de destino ip (para el modo de red awsvpc). El servicio de ECS gestiona automáticamente el registro y la anulación del registro: las tareas nuevas se registran después de superar las comprobaciones de estado, y las tareas que se detienen activan el retraso de anulación del registro antes de finalizar.

Cada servicio de ECS puede registrarse con una anulación de puerto específica, lo que permite que varios servicios de ECS compartan un solo ALB mediante distintas reglas de listener (basadas en rutas o en hosts) con diferentes grupos de destinos; este es un patrón habitual de microservicios.

Comprobaciones de estado de NLB

El comportamiento de las comprobaciones de estado de NLB difiere del de ALB:

  • NLB admite los protocolos de comprobación de estado TCP, HTTP y HTTPS, independientemente del protocolo del listener
  • Las comprobaciones de estado de NLB se envían desde las direcciones IP del NLB en cada AZ; asegúrese de que los grupos de seguridad permitan tráfico desde las IP de las subredes del NLB o utilice el grupo de seguridad del propio NLB
  • En las comprobaciones de estado TCP, NLB considera saludable un destino si acepta una conexión TCP en el puerto especificado
  • Los destinos de NLB que no superan las comprobaciones de estado se retiran por AZ; si todos los destinos de una AZ están no saludables, NLB puede realizar un equilibrio de carga entre zonas hacia destinos saludables de otras AZ (si el equilibrio de carga entre zonas está habilitado)

Comprobación rápida

Compruebe su comprensión de los conceptos de AWS Solutions Architect (SAA-C03) tratados en esta lección.

Resumen de la lección

En esta lección ha aprendido que los grupos de destinos contienen destinos registrados y saludables de tipo instancia, IP o Lambda; que las comprobaciones de estado sondean periódicamente los destinos para retirar de la rotación los que no están saludables; y que el retraso de anulación del registro permite drenar correctamente las solicitudes en curso antes de retirar un destino. A continuación, exploraremos las reglas de listener y el enrutamiento basado en rutas en el ALB.

Preguntas frecuentes

¿La lección «Grupos de destino y comprobaciones de estado» es gratis?

Sí — el texto completo de «Grupos de destino y comprobaciones de estado» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cloud & IT Cert Prep, actualiza a CoddyKit PRO. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.

¿Qué aprenderé en «Grupos de destino y comprobaciones de estado»?

Registre instancias de EC2, direcciones IP o funciones de Lambda como destinos, y configure las rutas, los umbrales y los intervalos de las comprobaciones de estado. Practicas Cloud & IT Cert Prep con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cloud & IT Cert Prep?

No se requiere experiencia previa. Cloud & IT Cert Prep en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Grupos de destino y comprobaciones de estado»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cloud & IT Cert Prep?

Sí. Cada lección de Cloud & IT Cert Prep incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. ALB frente a NLB y GLB: cuándo utilizar cada uno
  2. Grupos de destino y comprobaciones de estado
  3. Reglas de listener y enrutamiento basado en rutas
  4. Terminación SSL y sesiones persistentes
← Volver a Cloud & IT Cert Prep