Grupos de destino para los equilibradores de carga de aplicaciones - Elastic Load Balancing

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Grupos de destino para los equilibradores de carga de aplicaciones

Los grupos de destino dirigen las solicitudes a destinos individuales registrados, como EC2 instancias, mediante el protocolo y el número de puerto que especifique. Puede registrar un destino en varios grupos de destino. Puede configurar las comprobaciones de estado de cada grupo de destino. Las comprobaciones de estado se llevan a cabo en todos los destinos registrados en un grupo de destino especificado en la regla del oyente del equilibrador de carga.

Cada grupo de destino se utiliza para direccionar solicitudes a uno o varios destinos registrados. Cuando se crea la regla de cada oyente, se especifican un grupo de destino y las condiciones. Cuando se cumple la condición de una regla, el tráfico se reenvía al grupo de destino correspondiente. Puede crear grupos de destino diferentes para los distintos tipos de solicitudes. Por ejemplo, puede crear un grupo de destino para las solicitudes generales y otros grupos de destino para las solicitudes destinadas a los microservicios de la aplicación. Puede usar cada grupo de destino con un solo equilibrador de carga. Para obtener más información, consulte Componentes del Equilibrador de carga de aplicación.

Puede definir la configuración de comprobación de estado del equilibrador de carga para cada grupo de destino. Cada grupo de destino utiliza la configuración de comprobación de estado predeterminada, a menos que la anule al crear el grupo de destino o la modifique posteriormente. Después de especificar un grupo de destino en una regla para un oyente, el equilibrador de carga monitoriza constantemente el estado de todos los destinos registrados en el grupo de destino que se encuentran en una zona de disponibilidad habilitada para el equilibrador de carga. El equilibrador de carga direcciona las solicitudes a los destinos registrados que se encuentran en buen estado.

Configuración de enrutamiento

De forma predeterminada, un equilibrador de carga direcciona las solicitudes a sus destinos mediante el protocolo y el número de puerto especificados al crear el grupo de destino. Si lo prefiere, puede anular el puerto utilizado para dirigir el tráfico a un destino al registrarlo en el grupo de destino.

Los grupos de destino admiten los siguientes protocolos y puertos:

  • Protocolos: HTTP, HTTPS

  • Puertos: 1-65535

Cuando un grupo de destino se configura con el protocolo HTTPS o utiliza comprobaciones de estado de HTTPS, si algún oyente de HTTPS utiliza una política de seguridad TLS 1.3, la política de seguridad ELBSecurityPolicy-TLS13-1-0-2021-06 se utilizará en las conexiones de destino. De lo contrario, se utiliza la política de seguridad ELBSecurityPolicy-2016-08. El equilibrador de carga establece conexiones TLS con los destinos mediante certificados que instala en los destinos. El equilibrador de carga no valida estos certificados. Por lo tanto, puede utilizar certificados autofirmados o certificados que hayan caducado. Como el balanceador de cargas y sus objetivos se encuentran en una nube privada virtual (VPC), el tráfico entre el balanceador de cargas y los destinos se autentica a nivel de paquete, por lo que no corre el riesgo man-in-the-middle de sufrir ataques o suplantación de identidad aunque los certificados de los destinos no sean válidos. El tráfico que salga no AWS tendrá las mismas protecciones, por lo que es posible que se necesiten medidas adicionales para proteger aún más el tráfico.

Tipo de destino

Al crear un grupo de destino, debe especificar su tipo de destino, que determina el tipo de destino que especifica al registrar los destinos en este grupo de destino. Después de que crea un grupo de destino, no puede cambiar su tipo de destino.

Los tipos de destinos posibles son los siguientes:

instance

Los destinos se especifican por ID de instancia.

ip

Los destinos son direcciones IP.

lambda

El destino es una función de Lambda.

Cuando el tipo de destino es ip, puede especificar direcciones IP de uno de los siguientes bloques de CIDR:

  • Las subredes de la VPC para el grupo de destino

  • 10.0.0.0/8 (RFC 1918)

  • 100.64.0.0/10 (RFC 6598)

  • 172.16.0.0/12 (RFC 1918)

  • 192.168.0.0/16 (RFC 1918)

importante

No puede especificar direcciones IP direccionables públicamente.

Todos los bloques CIDR compatibles le permiten registrar los siguientes destinos en un grupo de destino:

  • Instancias en una VPC que está interconectada a la VPC del equilibrador de carga (misma región o región diferente).

  • AWS recursos direccionables por dirección IP y puerto (por ejemplo, bases de datos).

  • Recursos locales vinculados a una conexión a AWS través de una VPN AWS Direct Connect o a una Site-to-Site conexión VPN.

nota

En el caso de los equilibradores de carga de aplicaciones implementados en una zona local, los destinos ip deben estar en la misma zona local para recibir tráfico.

Para obtener más información, consulte ¿Qué son las Zonas AWS Locales?

Si especifica destinos utilizando un ID de instancia, el tráfico se redirige a las instancias utilizando la dirección IP privada principal especificada en la interfaz de red principal de la instancia. Si especifica destinos utilizando direcciones IP, puede dirigir el tráfico a una instancia utilizando cualquier dirección IP privada de una o varias interfaces de red. Esto permite que varias aplicaciones de una instancia utilicen el mismo puerto. Cada interfaz de red puede tener su propio grupo de seguridad.

Si el tipo de destino de su grupo de destino es lambda, puede registrar una única función de Lambda. Cuando el equilibrador de carga recibe una solicitud para la función de Lambda, invoca la función de Lambda. Para obtener más información, consulte Uso de funciones de Lambda como destino de un Equilibrador de carga de aplicación.

Puede configurar Amazon Elastic Container Service (Amazon ECS) como destino de Equilibrador de carga de aplicación. Para obtener más información, consulte Use an Application Load Balancer para Amazon ECS en la Guía para desarrolladores de Amazon Elastic Container Service.

Tipo de dirección IP

Al crear un nuevo grupo de destino, puede seleccionar el tipo de dirección IP de su grupo de destino. Esto controla la versión de IP utilizada para comunicarse con los destinos y comprobar su estado.

Los grupos objetivo de los balanceadores de carga de aplicaciones admiten los siguientes tipos de direcciones IP:

ipv4

El balanceador de cargas se comunica con los objetivos mediante. IPv4

ipv6

El balanceador de cargas se comunica con los objetivos mediante. IPv6

Consideraciones
  • El equilibrador de carga se comunica con los destinos en función del tipo de dirección IP del grupo de destino. Los destinos de un grupo IPv4 objetivo deben aceptar el IPv4 tráfico del balanceador de cargas y los destinos de un grupo IPv6 objetivo deben aceptar el IPv6 tráfico del balanceador de cargas.

  • No puedes usar un grupo IPv6 objetivo con un balanceador de ipv4 cargas.

  • No puede registrar una función Lambda con un grupo IPv6 objetivo.

Versión del protocolo

De forma predeterminada, los equilibradores de carga de aplicaciones envían solicitudes a los destinos mediante HTTP/1.1. Puede usar la versión del protocolo para enviar solicitudes a los destinos mediante HTTP/2 o gRPC.

En la siguiente tabla se resumen el resultado de las combinaciones del protocolo de solicitud y la versión del protocolo de grupo de destino.

Protocolo de solicitud Versión del protocolo Resultado
HTTP/1.1 HTTP/1.1 Success
HTTP/2 HTTP/1.1 Success
gRPC HTTP/1.1 Error
HTTP/1.1 HTTP/2 Error
HTTP/2 HTTP/2 Success
gRPC HTTP/2 Correcto si los destinos respaldan el gRPC
HTTP/1.1 gRPC Error
HTTP/2 gRPC Correcto si una solicitud POST
gRPC gRPC Success
Consideraciones para la versión del protocolo gRPC
  • El único protocolo de oyente compatible es HTTPS.

  • El único tipo de acción que se admite para las reglas de oyente es forward.

  • Solo se admiten los tipos de destino instance y ip.

  • El equilibrador de carga analiza las llamadas de gRPC y las enruta a los grupos de destino adecuados en función del paquete, el servicio y el método.

  • El equilibrador de carga admite la transmisión única del lado del cliente, la transmisión del lado del servidor y la transmisión bidireccional.

  • Debe proporcionar un método de comprobación de estado personalizado con el formato /package.service/method.

  • Debe especificar los códigos de estado de gRPC que deben utilizarse al comprobar si se ha recibido una respuesta correcta de un destino.

  • No podrá utilizar las funciones de Lambda como destinos.

Consideraciones para la versión del protocolo HTTP/2
  • El único protocolo de oyente que se admite es HTTPS.

  • El único tipo de acción que se admite para las reglas de oyente es forward.

  • Solo se admiten los tipos de destino instance y ip.

  • El equilibrador de carga admite la transmisión única del lado del cliente, la transmisión del lado del servidor y la transmisión bidireccional. El número máximo de transmisiones por conexión HTTP/2 de cliente es 128.

Destinos registrados

El equilibrador de carga sirve como un único punto de contacto para los clientes y distribuye el tráfico entrante entre los destinos registrados en buen estado. Puede registrar cada destino en uno o varios grupos de destino.

Si aumenta la demanda en la aplicación, puede registrar más destinos en uno o varios grupos para controlar la demanda. El equilibrador de carga comienza a enrutar el tráfico a un destino recién registrado tan pronto como se completa el proceso de registro y el destino supera la primera comprobación de estado inicial, independientemente del umbral configurado.

Si la demanda de la aplicación se reduce o cuando es preciso realizar el mantenimiento de los destinos, puede anular el registro de los destinos en los grupos de destino. Al anular el registro de un destino, este se quita del grupo de destino, pero no se ve afectado de ningún otro modo. El equilibrador de carga deja de direccionar solicitudes a un destino tan pronto como se anula su registro. El destino adquiere el estado draining hasta que se completan las solicitudes en tránsito. Puede volver a registrar el destino en el grupo de destino cuando esté preparado para reanudar la recepción de solicitudes.

Si está registrando destinos por ID de instancia, puede utilizar el equilibrador de carga con un grupo de escalado automático. Después de asociar un grupo de destino a un grupo de escalado automático, el escalado automático registra los destinos en el grupo de destino cuando los lanza. Para obtener más información, consulte Adjuntar un balanceador de carga a su grupo de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.

Límites
  • No puede registrar las direcciones IP de otro Application Load Balancer en la misma VPC. Si el otro Equilibrador de carga de aplicación está en una VPC que está interconectada a la VPC del equilibrador de carga, puede registrar sus direcciones IP.

  • No puedes registrar instancias por ID de instancia si están en una VPC enlazada a la VPC del balanceador de carga (en la misma región o en una región diferente). Puede registrar estas instancias por dirección IP.

Atributos del grupo de destino

Puede configurar un grupo de destino editando sus atributos. Para obtener más información, consulte Edición de atributos del grupo de destino.

Los siguientes atributos del grupo de destino se admiten si el tipo de grupo de destino es instance o ip:

deregistration_delay.timeout_seconds

Cantidad de tiempo que Elastic Load Balancing espera antes de anular el registro de un destino. El rango va de 0 a 3600 segundos. El valor de predeterminado es de 300 segundos.

load_balancing.algorithm.type

El algoritmo de equilibrador de carga determina cómo el equilibrador de carga selecciona los destinos al direccionar las solicitudes. El valor es round_robin, least_outstanding_requests o weighted_random. El valor predeterminado es round_robin.

load_balancing.algorithm.anomaly_mitigation

Solo está disponible cuando load_balancing.algorithm.type es weighted_random. Indica si la mitigación de anomalías está habilitada. El valor es on o off. El valor predeterminado es off.

load_balancing.cross_zone.enabled

Indica si el equilibrio de carga entre zonas está habilitado. El valor es true, false o use_load_balancer_configuration. El valor predeterminado es use_load_balancer_configuration.

slow_start.duration_seconds

El periodo de tiempo, en segundos, durante el cual el equilibrador de carga envía al grupo de destino recién registrado una cuota linealmente mayor del tráfico. El rango oscila entre 30 y 900 segundos (15 minutos). El valor predeterminado es 0 segundos (deshabilitado).

stickiness.enabled

Indica si están habilitadas las sesiones rápidas. El valor es true o false. El valor predeterminado es false.

stickiness.app_cookie.cookie_name

El nombre de la cookie de aplicación. El nombre de la cookie de la aplicación no puede tener los siguientes prefijos:AWSALB,AWSALBAPP, oAWSALBTG; están reservados para que los use el balanceador de cargas.

stickiness.app_cookie.duration_seconds

Periodo de vencimiento de las cookies basadas en aplicación, en segundos. Una vez transcurrido este periodo, la cookie se considera antigua. El valor mínimo es de 1 segundo y el máximo es de 7 días (604800 segundos). El valor predeterminado es de 1 día (86400 segundos).

stickiness.lb_cookie.duration_seconds

Periodo de vencimiento de las cookies basado en la duración, en segundos. Una vez transcurrido este periodo, la cookie se considera antigua. El valor mínimo es de 1 segundo y el máximo es de 7 días (604800 segundos). El valor predeterminado es de 1 día (86400 segundos).

stickiness.type

Tipo de persistencia. Los valores posibles son lb_cookie y app_cookie.

target_group_health.dns_failover.minimum_healthy_targets.count

La cantidad mínima de destinos que deben estar en buen estado. Si el número de destinos en buen estado es inferior a este valor, marca el nodo como en mal estado en el DNS para que el tráfico se dirija solo a los nodos en buen estado. Los valores posibles son off o un número entero comprendido entre 1 y la cantidad máxima de destinos. Cuando se desactiva el error de DNSoff, esto significa que, aunque todos los destinos del grupo de destino estén en mal estado, el nodo no se elimina del DNS. El valor predeterminado de es 1.

target_group_health.dns_failover.minimum_healthy_targets.percentage

El porcentaje mínimo de destinos que deben estar en buen estado. Si el porcentaje de destinos en buen estado es inferior a este valor, marque el nodo como en mal estado en DNS para que el tráfico se dirija solo a los nodos que están en buen estado. Los valores posibles son off o un número entero comprendido entre 1 y 100. Cuando se desactiva el error de DNSoff, esto significa que, aunque todos los destinos del grupo objetivo estén en mal estado, el nodo no se elimina del DNS. El valor predeterminado es off.

target_group_health.unhealthy_state_routing.minimum_healthy_targets.count

La cantidad mínima de destinos que deben estar en buen estado. Si la cantidad de destinos en buen estado es inferior a este valor, envíe el tráfico a todos los destinos, incluidos los destinos en mal estado. El rango comprende del 1 a la cantidad máxima de destinos. El valor predeterminado de es 1.

target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage

El porcentaje mínimo de destinos que deben estar en buen estado. Si el porcentaje de destinos en buen estado es inferior a este valor, envíe el tráfico a todos los destinos, incluidos los destinos en mal estado. Los valores posibles son off o un número entero comprendido entre 1 y 100. El valor predeterminado es off.

El siguiente atributo del grupo de destino se admite si el tipo de grupo de destino es lambda:

lambda.multi_value_headers.enabled

Indica si los encabezados de solicitud y respuesta intercambiados entre el equilibrador de carga y la función de Lambda incluyen matrices de valores o cadenas. Los valores posibles son true o.false El valor predeterminado es false. Para obtener más información, consulte Encabezados de varios valores.

Algoritmos de enrutamiento

Un algoritmo de enrutamiento es el método que utiliza el equilibrador de carga para determinar qué destinos recibirán las solicitudes. De forma predeterminada, el algoritmo de enrutamiento de turno rotativo se utiliza para enviar las solicitudes al nivel del grupo de destino. Las solicitudes menos pendientes y los algoritmos de enrutamiento aleatorio ponderado también están disponibles en función de las necesidades de su aplicación. Un grupo de destino solo puede tener un algoritmo de enrutamiento activo a la vez, sin embargo, el algoritmo de enrutamiento se puede actualizar siempre que sea necesario.

Si habilita sesiones persistentes, se utilizará el algoritmo de enrutamiento seleccionado para seleccionar el destino inicial. Las solicitudes futuras del mismo cliente se reenviarán al mismo destino, sin tener en cuenta el algoritmo de enrutamiento seleccionado.

Turno rotativo
  • El algoritmo de enrutamiento de turno rotativo envía las solicitudes de manera uniforme entre los destinos en buen estado del grupo de destino, en orden secuencial.

  • Este algoritmo se suele utilizar cuando las solicitudes que se reciben tienen una complejidad similar, los destinos registrados tienen una capacidad de procesamiento similar o si es necesario distribuir las solicitudes por igual entre los destinos.

Solicitudes menos pendientes
  • El algoritmo de enrutamiento de las solicitudes menos pendientes envía las solicitudes a los destinos con el menor número de solicitudes en curso.

  • Este algoritmo se suele utilizar cuando las solicitudes que se reciben varían en complejidad y los destinos registrados varían en cuanto a su capacidad de procesamiento.

  • Cuando un equilibrador de carga que admite HTTP/2 utiliza destinos que únicamente admiten HTTP/1.1, convierte la solicitud en varias solicitudes HTTP/1.1. En esta configuración, el algoritmo de solicitudes menos pendientes tratará cada solicitud HTTP/2 como solicitudes múltiples.

  • Cuando se utiliza WebSockets, el destino se selecciona mediante el algoritmo de solicitudes menos pendientes. Una vez seleccionado, el equilibrador de carga crea una conexión con este destino y envía todos los mensajes a través de esta conexión.

  • El algoritmo de enrutamiento de solicitudes menos pendientes no se puede usar con el modo de inicio lento.

Aleatorio ponderado
  • El algoritmo de enrutamiento aleatorio ponderado envía las solicitudes de manera uniforme entre los destinos en buen estado del grupo de destino, en orden aleatorio.

  • Este algoritmo admite la mitigación de anomalías de los pesos de destino automáticos (ATW).

  • El algoritmo de enrutamiento aleatorio ponderado no se puede utilizar con el modo de inicio lento.

  • El algoritmo de enrutamiento aleatorio ponderado no se puede utilizar con sesiones persistentes.

Modificación del algoritmo de enrutamiento de un grupo de destino

Puede modificar el algoritmo de enrutamiento del grupo de destino en cualquier momento.

Modificación del algoritmo de enrutamiento mediante la consola
  1. Abre la EC2 consola de Amazon en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, en Load Balancing (Equilibración de carga), elija Target Groups (Grupos de destino).

  3. Elija el nombre del grupo de destino para mostrar sus detalles.

  4. En la página de detalles del grupo de destino, en la pestaña Atributos, seleccione Editar.

  5. En la página Editar los atributos del grupo de destino, en la sección Configuración del tráfico, en Algoritmo del equilibrador de carga, seleccione Turno rotativo, Solicitudes menos pendientes o Aleatorio ponderado.

  6. Seleccione Save changes (Guardar cambios).

Para modificar el algoritmo de enrutamiento mediante el AWS CLI

Utilice el comando modify-target-group-attributes con el atributo load_balancing.algorithm.type.

Estado del grupo de destino

De forma predeterminada, un grupo de destino se considera en buen estado siempre que tenga al menos un destino en buen estado. Si tiene una flota grande, no basta con tener un solo destino en buen estado que atienda el tráfico. En su lugar, puede especificar un recuento o porcentaje mínimo de destinos que deben estar en buen estado y qué acciones tomará el equilibrador de carga cuando los destinos en buen estado estén por debajo del umbral especificado. Esto mejora la disponibilidad de la aplicación.

Acciones en mal estado

Puede configurar umbrales de buen estado para las siguientes acciones:

  • Conmutación por error de DNS: cuando los objetivos en buen estado de una zona están por debajo del umbral, marcamos las direcciones IP del nodo del equilibrador de carga de la zona como en mal estado en el DNS. Por lo tanto, cuando los clientes resuelven el nombre DNS del equilibrador de carga, el tráfico se enruta únicamente a las zonas en buen estado.

  • Conmutación por error de enrutamiento: cuando los objetivos en buen estado de una zona están por debajo del umbral, el equilibrador de carga envía tráfico a todos los destinos que están disponibles para el nodo del equilibrador de carga, incluidos los destinos en mal estado. Esto aumenta las probabilidades de que la conexión de un cliente se realice correctamente, en particular cuando los destinos no pasan temporalmente las comprobaciones de estado, y reduce el riesgo de sobrecargar los destinos en buen estado.

Requisitos y consideraciones

  • Esta característica no se puede utilizar con grupos de destino en los que el destino es una función de Lambda. Si el Equilibrador de carga de aplicación es el destino de un Equilibrador de carga de red o Global Accelerator, no configure un umbral para la conmutación por error de DNS.

  • Si especifica ambos tipos de umbrales para una acción (recuento y porcentaje), el equilibrador de carga realizará la acción cuando se supere alguno de los umbrales.

  • Si especifica umbrales para ambas acciones, el umbral de la conmutación por error de DNS debe ser mayor o igual que el umbral de la conmutación por error de enrutamiento, de modo que la conmutación por error de DNS se produzca al mismo tiempo que la conmutación por error de enrutamiento o antes.

  • Si especifica el umbral como un porcentaje, calculamos el valor de forma dinámica en función de la cantidad total de destinos registrados en los grupos de destino.

  • La cantidad total de destinos se basa en si el equilibrio de carga entre zonas está activado o desactivado. Si el equilibrio de carga entre zonas está desactivado, cada nodo envía tráfico solo a los destinos de su propia zona, lo que significa que los umbrales se aplican a la cantidad de destinos de cada zona habilitada por separado. Si el equilibrio de carga entre zonas está activado, cada nodo envía tráfico a todos los destinos de todas las zonas habilitadas, lo que significa que los umbrales especificados se aplican a la cantidad total de destinos de todas las zonas habilitadas. Para obtener más información, consulte Equilibrador de carga entre zonas para los grupos de destino del Equilibrador de carga de aplicación.

  • Cuando se produce una conmutación por error de DNS, afecta a todos los grupos de destino asociados al balanceador de cargas. Asegúrese de tener suficiente capacidad en las zonas restantes para gestionar este tráfico adicional, especialmente si el equilibrio de carga entre zonas está desactivado.

  • Con la conmutación por error de DNS, eliminamos las direcciones IP de las zonas en mal estado del nombre de host DNS del equilibrador de cargas. Sin embargo, la caché de DNS del cliente local puede contener estas direcciones IP hasta que caduque el time-to-live (TTL) del registro DNS (60 segundos).

  • Con la conmutación por error de DNS, si hay varios grupos de destino conectados a un Application Load Balancer y un grupo de destino está en mal estado en una zona, las comprobaciones de estado del DNS se realizan correctamente si al menos otro grupo de destino está en buen estado en esa zona.

  • Con la conmutación por error de DNS, si se considera que todas las zonas del equilibrador de carga están en mal estado, el equilibrador de carga envía tráfico a todas las zonas, incluidas las zonas en mal estado.

  • Existen otros factores, además de la existencia de suficientes destinos en buen estado, que podrían provocar una conmutación por error de DNS, como el estado de la zona.

Monitorización

Para supervisar el estado de los grupos objetivo, consulte CloudWatch las métricas del estado del grupo objetivo.

Ejemplo

En el siguiente ejemplo, se muestra cómo se aplica la configuración de estado del grupo de destino.

Escenario
  • Un equilibrador de carga que admite dos zonas de disponibilidad, A y B

  • Cada zona de disponibilidad contiene 10 destinos registrados

  • El grupo de destino tiene la siguiente configuración de estado del grupo de destino:

    • Conmutación por error de DNS: 50 %

    • Conmutación por error de enrutamiento: 50 %

  • Seis destinos fallan en la zona de disponibilidad B

Un balanceador de carga habilitado para dos zonas. La AZ A tiene 10 objetivos saludables y la AZ B tiene 4 objetivos saludables y 6 objetivos no saludables.
Cuando el equilibrio de carga entre zonas está desactivado
  • El nodo del equilibrador de carga de cada zona de disponibilidad solo puede enviar tráfico a los 10 destinos de su zona de disponibilidad.

  • Hay 10 destinos en buen estado en la zona de disponibilidad A que cumplen con el porcentaje requerido de destinos en buen estado. El equilibrador de carga sigue distribuyendo el tráfico entre los 10 destinos en buen estado.

  • Solo hay 4 destinos en buen estado en la zona de disponibilidad B, es decir, el 40% de los destinos del nodo del equilibrador de carga de la zona de disponibilidad B. Como este porcentaje es inferior al porcentaje de destinos en buen estado requerido, el equilibrador de carga toma las siguientes medidas:

    • Conmutación por error de DNS: la zona de disponibilidad B está marcada como en mal estado en el DNS. Como los clientes no pueden resolver el nombre del equilibrador de carga en el nodo del equilibrador de carga de la zona de disponibilidad B y la zona de disponibilidad A está en buen estado, los clientes envían nuevas conexiones a la zona de disponibilidad A.

    • Conmutación por error de enrutamiento: cuando se envían nuevas conexiones de forma explícita a la zona de disponibilidad B, el equilibrador de carga distribuye el tráfico a todos los destinos de la zona de disponibilidad B, incluidos los destinos en mal estado. Esto evita interrupciones entre los demás destinos en buen estado.

Cuando el equilibrio de carga entre zonas está activado
  • Cada nodo del equilibrador de carga puede enviar tráfico a los 20 destinos registrados en ambas zonas de disponibilidad.

  • Hay 10 destinos en buen estado en la zona de disponibilidad A y 4 destinos en buen estado en la zona de disponibilidad B, con un total de 14 destinos en buen estado. Esto representa el 70% de los destinos de los nodos del equilibrador de carga en ambas zonas de disponibilidad, lo que cumple con el porcentaje requerido de destinos en buen estado.

  • El equilibrador de carga distribuye el tráfico entre los 14 destinos en buen estado en ambas zonas de disponibilidad.

Uso de la conmutación por error de DNS de Route 53 para el equilibrador de carga

Si utiliza Route 53 para dirigir las consultas de DNS al equilibrador de carga, también puede utilizar Route 53 para configurar la conmutación por error de DNS del equilibrador de carga. En una configuración de conmutación por error, Route 53 comprueba el estado de los destinos del grupo de destino para el equilibrador de carga con el fin de determinar si están disponibles. Si no existen destinos en buen estado registrados en el equilibrador de carga o si este no se encuentra en buen estado, Route 53 enruta el tráfico a otro recurso disponible, como un equilibrador de carga en buen estado o un sitio web estático en Amazon S3.

Por ejemplo, supongamos que tenemos una aplicación web para www.example.com y deseamos ejecutar instancias redundantes por detrás de dos equilibradores de carga que residen en regiones distintas. Queremos enrutar el tráfico principalmente al equilibrador de carga de una de las regiones y utilizar el equilibrador de carga de la otra región como copia de seguridad en caso de error. Si configura la conmutación por error de DNS, puede especificar los equilibradores de carga principal y secundario (de copia de seguridad). Route 53 enruta el tráfico al equilibrador de carga principal si está disponible, o bien, en caso contrario, al secundario.

¿Cómo funciona evaluar la salud objetivo
  • Si evaluar el estado del objetivo está establecido Yes en un registro de alias para un Application Load Balancer, Route 53 evalúa el estado del recurso especificado por el valor. alias target Route 53 usa las comprobaciones de estado del grupo objetivo.

  • Si todos los grupos de destino asociados a un Application Load Balancer están en buen estado, Route 53 marca el registro de alias como correcto. Si configuró un umbral para un grupo objetivo y este lo alcanza, pasa las comprobaciones de estado. De lo contrario, si un grupo objetivo contiene al menos un objetivo en buen estado, pasa las comprobaciones de estado. Si se aprueban las comprobaciones de estado, Route 53 devuelve los registros de acuerdo con su política de enrutamiento. Si se utiliza una política de enrutamiento de conmutación por error, Route 53 devuelve el registro principal.

  • Si alguno de los grupos de destino adjuntos a un Application Load Balancer está en mal estado, el registro de alias no pasa la comprobación de estado de Route 53 (apertura por error). Si se utiliza la función de evaluación del estado del objetivo, la política de enrutamiento de conmutación por error redirige el tráfico al recurso secundario.

  • Si todos los grupos de destino adjuntos a un Application Load Balancer están vacíos (no hay objetivos), Route 53 considera que el registro está en mal estado (se ha abierto por error). Si se utiliza la función de evaluación del estado del objetivo, la política de enrutamiento de conmutación por error redirige el tráfico al recurso secundario.

Para obtener más información, consulte Uso de los umbrales de salud del grupo objetivo del balanceador de carga para mejorar la disponibilidad en el AWS blog y Configuración de la conmutación por error de DNS en la Guía para desarrolladores de Amazon Route 53.