Registro de destinos con el grupo de destino del Equilibrador de carga de aplicación - ELB

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.

Registro de destinos con el grupo de destino del Equilibrador de carga de aplicación

Los destinos se registran en un grupo de destino. Al crear un grupo de destino, debe especificar su tipo de destino, que determina cómo se registran sus destinos. Por ejemplo, puede registrar instancias IDs, direcciones IP o funciones Lambda. Para obtener más información, consulte Grupos de destino para los equilibradores de carga de aplicaciones.

Si la demanda aumenta en los destinos registrados actualmente, puede registrar más para controlar esa demanda. Cuando el destino esté preparado para controlar solicitudes, regístrelo en el grupo de destino. El equilibrador de carga comienza a direccionar las solicitudes al destino tan pronto como se completa el proceso de registro y el destino supera las comprobaciones de estado iniciales.

Si la demanda baja en los destinos registrados o cuando es preciso realizar tareas de mantenimiento en un destino, puede anular su registro en el grupo de destino. El equilibrador de carga deja de direccionar solicitudes a un destino tan pronto como se anula su registro. Cuando el destino esté preparado para recibir solicitudes, puede registrarlo en el grupo de destino nuevo.

Cuando se anula el registro de un destino, el equilibrador de carga espera hasta que se han completado las solicitudes en tránsito. Esto se denomina vaciado de conexiones. El estado de un destino es draining mientras se está efectuando el vaciado de conexiones.

Al anular el registro de un destino que se ha registrado por dirección IP, debe esperar a que se complete el retardo de anulación de registro antes de poder registrar la misma dirección IP de nuevo.

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 y cuando el grupo escala horizontalmente, las instancias lanzadas por el grupo de escalado automático se registran automáticamente en el grupo de destino. Si separa el grupo de destino del grupo de escalado automático, automáticamente se anula el registro de las instancias en el grupo de destino. 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.

Cuando apague una aplicación en un destino, primero debe anular el registro del destino del grupo de destinos y permitir tiempo suficiente para que las conexiones existentes se drenen. Puede supervisar el estado de anulación del registro mediante el comando describe-target-health CLI o actualizando la vista del grupo objetivo en. Consola de administración de AWS Tras confirmar que el destino se ha anulado del registro, puede continuar con la detención o terminación de la aplicación. Esta secuencia evita que los usuarios experimenten errores 5XX cuando las aplicaciones se terminan mientras aún procesan tráfico.

Grupos de seguridad de destino

Al registrar EC2 las instancias como destinos, debe asegurarse de que los grupos de seguridad de las instancias permitan que el balanceador de carga se comunique con las instancias tanto en el puerto de escucha como en el puerto de comprobación de estado.

Reglas recomendadas
Inbound
Source Port Range Comment
load balancer security group instance listener Permite el tráfico del equilibrador de carga en el puerto del oyente de la instancia
load balancer security group health check Permitir el tráfico procedente del equilibrador de carga en el puerto de comprobación de estado

También recomendamos permitir el tráfico ICMP entrante para admitir la detección de MTU de ruta. Para obtener más información, consulte Path MTU Discovery en la Guía del EC2 usuario de Amazon.

Target Optimizer

El optimizador de objetivos le permite aplicar una simultaneidad estricta a los objetivos de un grupo objetivo. Funciona con la ayuda de un agente que se instala y configura en los objetivos. El agente actúa como un proxy en línea entre el balanceador de cargas y tu aplicación. El agente se configura para que aplique un número máximo de solicitudes simultáneas que el balanceador de cargas puede enviar al destino. El agente realiza un seguimiento del número de solicitudes que el objetivo está procesando. Cuando el número cae por debajo del valor máximo configurado, el agente envía una señal al balanceador de cargas para informarle de que el destino está listo para procesar otra solicitud.

Para habilitar el optimizador de objetivos, debe especificar un puerto de control de destino al crear el grupo objetivo. El balanceador de cargas establece canales de control con los agentes en este puerto para administrar el tráfico. Este puerto es diferente del puerto en el que el balanceador de cargas envía el tráfico de aplicaciones. Los destinos registrados en el grupo objetivo deben tener el agente ejecutándose en ellos.

Nota: El optimizador de objetivos solo se puede activar durante la creación del grupo objetivo. El puerto de control de destino no se puede modificar después de su creación.

El agente está disponible como imagen de Docker en: public.ecr.aws/aws-elb/target-optimizer/target-control-agent:latest. Al ejecutar el contenedor de agentes, se configuran las siguientes variables de entorno:

TARGET_CONTROL_DATA_ADDRESS

El agente recibe el tráfico de la aplicación desde el balanceador de cargas de este socket (IP:Port). El puerto de este socket es el puerto de tráfico de aplicaciones que se configura para el grupo objetivo. De forma predeterminada, el agente puede aceptar conexiones TLS y de texto sin formato.

TARGET_CONTROL_CONTROL_ADDRESS

El agente recibe el tráfico de administración del balanceador de cargas de este socket (IP:Port). El puerto del socket es el puerto de control de destino que se configura para el grupo de destino.

TARGET_CONTROL_DESTINATION_ADDRESS

El agente envía el tráfico de la aplicación a este socket (IP:Port). La aplicación debería estar escuchando en este socket.

(Opcional) TARGET_CONTROL_MAX_CONCURRENCY

El número máximo de solicitudes simultáneas que el objetivo recibirá del balanceador de cargas. Puede estar entre 0 y 1000. El valor predeterminado de es 1.

(Opcional) TARGET_CONTROL_TLS_CERT_PATH

La ubicación del certificado TLS que el agente proporciona al balanceador de cargas durante el protocolo de enlace TLS. De forma predeterminada, el agente genera un certificado autofirmado en la memoria.

(Opcional) TARGET_CONTROL_TLS_KEY_PATH

La ubicación de la clave privada correspondiente al certificado TLS que el agente proporciona al balanceador de cargas durante el protocolo de enlace TLS. De forma predeterminada, el agente genera una clave privada en la memoria.

(Opcional) TARGET_CONTROL_TLS_SECURITY_POLICY

La política de seguridad del ELB que se configura para el grupo objetivo. El valor predeterminado es ELBSecurityPolicy-2016-08.

(Opcional) TARGET_CONTROL_PROTOCOL_VERSION

El protocolo mediante el cual el balanceador de cargas se comunica con el agente. Los valores posibles son HTTP1, HTTP2, GRPC. El valor predeterminado es HTTP1.

(Opcional) RUST_LOG

El nivel de registro del proceso del agente. El software del agente está escrito en Rust. Los valores posibles son debug info, y error. El valor predeterminado es info.

Para modificar el valor de cualquier variable de entorno, debe reiniciar el agente con el nuevo valor. Puede supervisar el optimizador de objetivos con las siguientes métricas:TargetControlRequestCount,TargetControlRequestRejectCount,TargetControlActiveChannelCount,TargetControlNewChannelCount, TargetControlChannelErrorCount TargetControlWorkQueueLength,TargetControlProcessedBytes. Para obtener más información, consulte Métricas del optimizador de Target. Para obtener información sobre la solución de problemas, consulte Solución de problemas del optimizador de Target

Subredes compartidas

Los participantes pueden crear un Equilibrador de carga de aplicación en una VPC compartida. Los participantes no pueden registrar un destino que se ejecute en una subred que no esté compartida con ellos.

Cómo registrar destinos

Cada grupo de destino debe tener al menos un destino registrado en cada zona de disponibilidad que esté habilitado para el equilibrador de carga.

El tipo de destino de su grupo de destino determina cómo se registran los destinos en ese grupo de destino. Para obtener más información, consulte Target type (Tipo de destino).

Requisitos y consideraciones
  • Una instancia debe tener el estado running al registrarla.

  • Una instancia de destino se debe encontrar en la nube privada virtual (VPC) que haya especificado para el grupo de destinos.

  • Al registrar los objetivos por ID de instancia para un grupo de IPv6 objetivos, los objetivos deben tener una dirección principal IPv6 asignada. Para obtener más información, consulta IPv6 las direcciones en la Guía del EC2 usuario de Amazon

  • Al registrar objetivos por dirección IP para un grupo IPv4 objetivo, las direcciones IP que registre deben provenir de uno de los siguientes bloques CIDR:

    • Las subredes de la VPC del grupo de destinos

    • 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)

  • Al registrar destinos por dirección IP para un grupo de IPv6 destinos, las direcciones IP que registre deben estar dentro del bloque CIDR de la VPC o dentro del bloque IPv6 CIDR de una VPC IPv6 interconectada.

  • No puede registrar las direcciones IP de otro equilibrador de carga de aplicaciones 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.

Console
Para registrar destinos
  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. Elija la pestaña Destinos.

  5. Elija Register targets (Registrar destino).

  6. Si el tipo de destino del grupo de destinos es instance, seleccione las instancias disponibles, anule el puerto predeterminado si es necesario y, a continuación, elija Incluir como pendientes.

  7. Si el tipo de destino del grupo de destinos es ip, para cada dirección IP seleccione la red, introduzca las direcciones IP y los puertos y, a continuación, elija Incluir como pendientes.

  8. Si el tipo de destino del grupo de destinos es lambda, seleccione la función de Lambda o introduzca su ARN. Para obtener más información, consulte Uso de funciones de Lambda como destinos.

  9. Seleccione Registrar destinos pendientes.

AWS CLI
Para registrar destinos

Use el comando register-targets. El siguiente ejemplo registra destinos por ID de instancia. Dado que no se especifica el puerto, el equilibrador de carga utiliza el puerto del grupo de destinos.

aws elbv2 register-targets \ --target-group-arn target-group-arn \ --targets Id=i-1234567890abcdef0 Id=i-0abcdef1234567890

El siguiente ejemplo registra destinos por dirección IP. Dado que no se especifica el puerto, el equilibrador de carga utiliza el puerto del grupo de destinos.

aws elbv2 register-targets \ --target-group-arn target-group-arn \ --targets Id=10.0.50.10 Id=10.0.50.20

El siguiente ejemplo registra una función de Lambda como destino.

aws elbv2 register-targets \ --target-group-arn target-group-arn \ --targets Id=lambda-function-arn
CloudFormation
Para registrar destinos

Actualice el AWS::ElasticLoadBalancingV2::TargetGrouprecurso para incluir los nuevos objetivos. El siguiente ejemplo registra dos destinos por ID de instancia.

Resources: myTargetGroup: Type: 'AWS::ElasticLoadBalancingV2::TargetGroup' Properties: Name: my-target-group Protocol: HTTP Port: 80 TargetType: instance VpcId: !Ref myVPC Targets: - Id: !GetAtt Instance1.InstanceId Port: 80 - Id: !GetAtt Instance2.InstanceId Port: 80

Anulación del registro del destino

Si la demanda de la aplicación se reduce o si 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.

Console
Para anular el registro de destinos
  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 pestaña Destinos, seleccione los destinos que desea eliminar.

  5. Elija Anular registro.

  6. Cuando se le pida que confirme, elija Deregister.

AWS CLI
Para anular el registro de destinos

Use el comando deregister-targets. El siguiente ejemplo anula el registro de dos destinos que se registraron por ID de instancia.

aws elbv2 deregister-targets \ --target-group-arn target-group-arn \ --targets Id=i-1234567890abcdef0 Id=i-0abcdef1234567890