Edición de atributos del grupo de destino del equilibrador de carga de red
Después de crear un grupo de destino para el equilibrador de carga de red, puede editar los atributos del grupo de destino.
Atributos del grupo de destino
Preservación de la IP del cliente
Los equilibradores de carga de red pueden conservar las direcciones IP de origen de los clientes al enrutar solicitudes hacia los destinos de backend. Cuando se deshabilita la conservación de la IP del cliente, la dirección IP de origen es la dirección IP privada del equilibrador de carga de red.
De forma predeterminada, la conservación de la IP del cliente está habilitada (y no se puede desactivar) para los grupos de destino de tipo instancia y de tipo IP que utilicen los protocolos UDP, TCP_UDP, QUIC y TCP_QUIC. Sin embargo, puede habilitar o deshabilitar la preservación de la IP del cliente para los grupos de destino de TCP y TLS mediante el atributo de grupo de destino preserve_client_ip.enabled.
Configuración predeterminada
-
Grupos de destino de tipo de instancia: habilitados
-
Grupos de destino de tipo IP (UDP, TCP_UDP, QUIC, TCP_QUIC): habilitado
-
Grupos de destino de tipo de IP (TCP, TLS): deshabilitados
Cuando la conservación de la IP del cliente está habilitada
La siguiente tabla describe las direcciones IP que reciben los destinos cuando la conservación de la IP del cliente está habilitada.
| Targets | Solicitudes de cliente IPv4 | Solicitudes de cliente IPv6 |
|---|---|---|
| Tipo de instancia (IPv4) | Dirección IPv4 del cliente | Dirección IPv4 del equilibrador de carga |
| Tipo IP (IPv4) | Dirección IPv4 del cliente | Dirección IPv4 del equilibrador de carga |
| Tipo IP (IPv6) | Dirección IPv6 del equilibrador de carga | Dirección IPv6 del cliente |
Cuando la conservación de la IP del cliente está desactivada
La siguiente tabla describe las direcciones IP que reciben los destinos cuando la conservación de la IP del cliente está desactivada.
| Targets | Solicitudes de cliente IPv4 | Solicitudes de cliente IPv6 |
|---|---|---|
| Tipo de instancia (IPv4) | Dirección IPv4 del equilibrador de carga | Dirección IPv4 del equilibrador de carga |
| Tipo IP (IPv4) | Dirección IPv4 del equilibrador de carga | Dirección IPv4 del equilibrador de carga |
| Tipo IP (IPv6) | Dirección IPv6 del equilibrador de carga | Dirección IPv6 del equilibrador de carga |
Requisitos y consideraciones
-
Los cambios en la preservación de la IP del cliente solo se aplican a las nuevas conexiones TCP.
-
Cuando la conservación de la IP del cliente está habilitada, el tráfico debe fluir directamente del equilibrador de carga de red al destino. El destino debe estar ubicado en la misma VPC que el equilibrador de carga o en una VPC emparejada en la misma región.
-
La conservación de la IP del cliente no es compatible cuando se accede a los destinos a través de una puerta de enlace de tránsito.
-
La conservación de la IP del cliente no es compatible cuando se utiliza un punto de conexión de equilibrador de carga de puerta de enlace para inspeccionar el tráfico entre el equilibrador de carga de red y el destino (instancia o dirección IP), incluso si el destino se encuentra en la misma VPC que el equilibrador de carga de red.
-
Los siguientes tipos de instancia no admiten la preservación de IP del cliente: C1, CC1, CC2, CG1, CG2, CR1, G1, G2, HI1, HS1, M1, M2, M3 y T1. Se recomienda registrar estos tipos de instancias como direcciones IP con la preservación de la IP del cliente deshabilitada.
-
La preservación de la IP del cliente no afecta al tráfico entrante procedente de AWS PrivateLink. La dirección IP de origen del tráfico AWS PrivateLink es siempre la dirección IP privada del equilibrador de carga de red.
-
La conservación de la IP del cliente no es compatible cuando un grupo de destino contiene interfaces de red de AWS PrivateLink o la interfaz de red de otro equilibrador de carga de red. Esto provoca una pérdida de comunicación con esos destinos.
-
La preservación de la IP del cliente no afecta al tráfico que se modificó de IPv6 a IPv4. La dirección IP de origen de este tipo de tráfico es siempre la dirección IP privada del equilibrador de carga de red.
-
Al especificar los destinos por tipo de equilibrador de carga de aplicación, el equilibrador de carga de red conserva la IP del cliente de todo el tráfico entrante y la envía al equilibrador de carga de aplicación. Luego, el equilibrador de carga de aplicación agrega la IP del cliente al encabezado de la solicitud
X-Forwarded-Forantes de enviarla al destino. -
El bucle invertido de NAT, también conocido como horquilla, no se admite cuando la preservación de la IP del cliente está habilitada. Esto ocurre cuando se utilizan equilibradores de carga de red internos y el destino registrado detrás de un equilibrador de carga de red crea conexiones con ese mismo equilibrador de carga de red. La conexión se puede enrutar hacia el destino que intenta crear la conexión, lo que provoca errores de conexión. Recomendamos no conectarse a un equilibrador de carga de red desde destinos que se encuentren detrás de ese mismo equilibrador de carga; como alternativa, también puede evitar este tipo de errores de conexión si desactiva la conservación de la IP del cliente. Si necesita la dirección IP del cliente, puede recuperarla mediante Proxy Protocol v2. Para obtener más información, consulte Protocolo de proxy.
-
Cuando la preservación de la IP del cliente está deshabilitada, un equilibrador de carga de red admite 55 000 conexiones simultáneas o alrededor de 55 000 conexiones por minuto a cada destino único (dirección IP y el puerto). Si se superan estas conexiones, el riesgo de que se produzcan errores de asignación de puertos será mayor, y esto provocará fallas al establecer nuevas conexiones. Para obtener más información, consulte Errores de asignación de puertos para flujos de backend.
Retardo de anulación del registro
Cuando se anula el registro de un destino, el equilibrador de carga deja de crear nuevas conexiones con el destino. El balanceador de carga utiliza el vaciado de conexiones para garantizar que el tráfico en tránsito se completa en las conexiones existentes. Si el destino cuyo registro se ha anulado se mantiene en buen estado y no hay ninguna conexión existente inactiva, el equilibrador de carga puede continuar enviando tráfico al destino. Para garantizar el cierre de las conexiones existentes, puede hacer algo de lo siguiente: habilitar el atributo del grupo de destino para finalizar la conexión, comprobar si la instancia está en mal estado antes de cancelar su registro o cerrar periódicamente las conexiones de los clientes.
El estado inicial de un destino cuyo registro se ha anulado es draining, y mientras se encuentre en este estado el destino dejará de recibir nuevas conexiones. No obstante, es posible que el destino siga recibiendo conexiones debido al retraso en la propagación de la configuración. De forma predeterminada, el balanceador de carga cambia el estado de un destino de anulación del registro a unused después de 300 segundos. Para cambiar el tiempo que el balanceador de carga espera antes de cambiar el estado de un destino de anulación de registro a unused, actualice el valor del retardo de anulación de registro. Recomendamos que especifique un valor de al menos 120 segundos para asegurarse de que se completan las solicitudes. Para el tráfico QUIC, el valor es siempre de 300 segundos y no se puede ajustar.
Si habilita el atributo de grupo de destino para la finalización de la conexión, las conexiones a los destinos cuyo registro se ha anulado se cerrarán poco después de que finalice el tiempo de espera para anular el registro.
Protocolo de proxy
Los equilibradores de carga de red usan la versión 2 de Proxy Protocol para enviar información adicional sobre la conexión, como el origen y el destino. La versión 2 del protocolo de proxy proporciona una codificación binaria del encabezado del protocolo de proxy.
Con oyentes de TCP, el equilibrador de carga antepone un encabezado de protocolo de proxy a los datos de TCP. No descarta ni sobrescribe los datos existentes, incluidos los encabezados de protocolo de proxy entrante enviados por el cliente u otros proxy, equilibradores de carga o servidores de la ruta de red. Por tanto, es posible recibir más de un encabezado de protocolo proxy. Además, si existe otra ruta de red hacia los destinos fuera del equilibrador de carga de red, es posible que el primer encabezado de protocolo de proxy no corresponda al equilibrador de carga.
Los oyentes de TLS no admiten conexiones entrantes con encabezados de protocolo de proxy enviados por el cliente o cualquier otro servidor proxy.
El tráfico QUIC no admite el protocolo proxy, versión 2.
Si especifica los destinos por dirección IP, las direcciones IP de origen que se proporcionan a las aplicaciones dependen del protocolo del grupo de destino, de la siguiente manera:
-
TCP y TLS: De manera predeterminada, la conservación de la IP del cliente está deshabilitada y las direcciones IP de origen proporcionadas a las aplicaciones son las direcciones IP privadas de los nodos del equilibrador de carga. Para conservar la dirección IP del cliente, asegúrese de que el destino se encuentre en la misma VPC, o en una VPC interconectada, y habilite la conservación de la IP del cliente. Si necesita la dirección IP del cliente y no se cumplen estas condiciones, habilite Proxy Protocol y obtenga la dirección IP del cliente del encabezado de Proxy Protocol.
-
UDP y TCP_UDP: Las direcciones IP de origen son las direcciones IP de los clientes, ya que la conservación de la IP del cliente está habilitada de manera predeterminada para estos protocolos y no se puede deshabilitar. Si especifica los destinos por ID de instancia, las direcciones IP de origen que se proporcionan a sus aplicaciones son las direcciones IP de los clientes. Sin embargo, si lo prefiere, puede habilitar el protocolo de proxy y obtener las direcciones IP de los clientes del encabezado del protocolo de proxy.
Conexiones de comprobación de estado
Después de habilitar el protocolo de proxy, el encabezado del protocolo de proxy también se incluye en las conexiones de comprobación de estado del equilibrador de carga. Sin embargo, con estas, la información de conexión del cliente no se envía en el encabezado Proxy Protocol.
Los destinos pueden no superar las comprobaciones de estado si no pueden analizar el encabezado del protocolo proxy. Por ejemplo, pueden devolver el siguiente error: HTTP 400: Solicitud incorrecta.
Servicios de punto de conexión de VPC
Para el tráfico procedente de los consumidores del servicio a través de un servicio de punto de conexión de la VPC, las direcciones IP de origen que se proporcionan a sus aplicaciones son las direcciones IP privadas de los nodos del balanceador de carga. Si sus aplicaciones requieren las direcciones IP de los consumidores del servicio, habilite el protocolo de proxy y obténgalas del encabezado del protocolo de proxy.
El encabezado Proxy Protocol también incluye el ID del punto de enlace. Esta información se codifica mediante un vector de tipo-longitud-valor (TLV), como se indica a continuación.
| Campo | Longitud (en octetos) | Descripción |
|---|---|---|
|
Tipo |
1 |
PP2_TYPE_AWS (0xEA) |
|
Length |
2 |
Longitud del valor |
|
Valor |
1 |
PP2_SUBTYPE_AWS_VPCE_ID (0x01) |
| Variable (longitud del valor menos 1) | ID del punto de conexión |
Para ver un ejemplo que analiza el tipo 0xEA de TLV, consulte https://github.com/aws/elastic-load-balancing-tools/tree/master/proprot
Habilitar Proxy Protocol
Antes de habilitar Proxy Protocol en un grupo de destino, asegúrese de que sus aplicaciones esperan e encabezado Proxy Protocol v2 y pueden analizarlo. De lo contrario, es posible que se produzca un error. Para obtener más información, consulte el documento sobre las versiones 1 y 2 del protocolo PROXY
Sesiones rápidas
Las sesiones rápidas son un mecanismo para direccionar el tráfico de clientes al mismo destino en un grupo de destino. Resulta útil para los servidores que mantienen información de estado, para ofrecer una experiencia de continuidad a los clientes.
Consideraciones
-
El uso de sesiones rápidas puede provocar una distribución desigual de las conexiones y los flujos, lo que podría afectar a la disponibilidad de los destinos. Por ejemplo, todos los clientes situados detrás del mismo dispositivo NAT tienen la misma dirección IP de origen. Por lo tanto, todo el tráfico de estos clientes se dirige al mismo destino.
-
El balanceador de carga puede restablecer las sesiones rápidas de un grupo de destino si cambia el estado de alguno de sus destinos o si registra o anula el registro de destinos con el grupo de destino.
-
Cuando el atributo de persistencia está activado para un grupo de destino, no se admiten las comprobaciones de estado pasivas. Para obtener más información, consulte Comprobaciones de estado de los grupos de destino.
-
Las sesiones persistentes no son compatibles con los oyentes TLS ni QUIC.
Equilibrio de carga entre zonas para grupos de destino
Los nodos del equilibrador de carga distribuyen las solicitudes procedentes de los clientes entre los destinos registrados. Cuando el equilibrio de carga entre zonas está habilitado, cada nodo del equilibrador de carga distribuye el tráfico entre los destinos registrados de todas las zonas de disponibilidad habilitadas. Cuando el equilibrio de carga entre zonas está deshabilitado, cada nodo del equilibrador de carga distribuye el tráfico únicamente entre los destinos registrados de su zona de disponibilidad. Esto se puede utilizar si se prefieren los dominios de fallos zonales en lugar de los regionales, para garantizar que una zona en buen estado no se vea afectada por una zona en mal estado o para mejorar la latencia general.
Con los equilibradores de carga de red, el equilibrio de carga entre zonas está desactivado de forma predeterminada a nivel del equilibrador de carga, pero puede habilitarlo en cualquier momento. En el caso de los grupos de destino, el valor predeterminado consiste en usar la configuración del equilibrador de carga; no obstante, puede reemplazar ese valor predeterminado al habilitar o desactivar explícitamente el equilibrio de carga entre zonas a nivel del grupo de destino.
Consideraciones
-
Cuando se habilita el equilibrio de carga entre zonas para un equilibrador de carga de red, se aplican cargos por transferencia de datos de EC2. Para obtener más información, consulte Descripción de los cargos por transferencia de datos en la Guía del usuario de exportación de datos de AWS
-
La configuración del grupo de destino determina el comportamiento del equilibrio de carga del grupo de destino. Por ejemplo, si el equilibrio de carga entre zonas está habilitado en el nivel del equilibrador de carga y deshabilitado en el nivel del grupo de destino, el tráfico enviado al grupo de destino no se enruta a través de las zonas de disponibilidad.
-
Cuando el equilibrio de carga entre zonas está desactivado, asegúrese de contar con capacidad suficiente de destinos en cada una de las zonas de disponibilidad del equilibrador de carga, de modo que cada zona pueda atender su carga de trabajo asociada.
-
Cuando el equilibrio de carga entre zonas está desactivado, asegúrese de que todos los grupos de destino participen en las mismas zonas de disponibilidad. Una zona de disponibilidad vacía se considera en mal estado.
-
Puede habilitar o desactivar el equilibrio de carga entre zonas a nivel del grupo de destino si el tipo de grupo de destino es
instanceoip. Si el tipo de grupo de destino esalb, el grupo de destino siempre hereda la configuración del equilibrio de carga entre zonas del equilibrador de carga.
Para obtener más información sobre cómo habilitar el equilibrio de carga entre zonas a nivel del equilibrador de carga, consulte Balance de carga entre zonas.
Interrupción de la conexión para destinos en mal estado
La interrupción de la conexión está habilitada de manera predeterminada. De manera predeterminada, cuando el destino de un equilibrador de carga de red no supera las comprobaciones de estado configuradas y se considera que está en mal estado, el equilibrador de carga finaliza las conexiones establecidas y deja de enrutar nuevas conexiones hacia el destino. Si la finalización de conexiones está deshabilitada, el destino sigue considerándose en mal estado y no recibe nuevas conexiones, pero las conexiones establecidas se mantienen activas, lo que permite que se cierren sin problemas.
La terminación de conexiones para destinos en mal estado se configura a nivel del grupo de destino.
Intervalo de drenaje para destinos en mal estado
Los destinos con el estado unhealthy.draining se consideran en mal estado y no reciben nuevas conexiones, pero retienen las conexiones establecidas durante el intervalo configurado. El intervalo de conexión en mal estado indica cuánto tiempo permanece un destino en unhealthy.draining estado antes de volver a estar en unhealthy. Si el destino supera las comprobaciones de estado durante el intervalo de conexión en mal estado, el sistema restablece su estado a healthy. Si se desencadena una anulación del registro, el estado del destino pasa a ser draining y comienza el tiempo de espera de la anulación del registro.
Requisito
La finalización de conexiones debe estar deshabilitada para poder habilitar el intervalo de drenaje para destinos en mal estado.