

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.

# Fijación del grupo objetivo
<a name="target-group-stickiness"></a>

Cuando utilizas un Application Load Balancer con adherencia al grupo objetivo:
+ El Application Load Balancer utiliza el [peso del grupo objetivo](https://aws.amazon.com/premiumsupport/knowledge-center/elb-make-weighted-target-groups-for-alb/) para determinar cómo equilibrar el tráfico entrante entre los grupos objetivo.
+ De forma predeterminada, Application Load Balancer usa el método round robin [para enrutar las solicitudes a las EC2 instancias del](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#modify-routing-algorithm) grupo objetivo de destino.

**Plantilla:** usa la CloudFormation plantilla `targetgroupstickiness.yml` (incluida en el [archivo.zip de código](samples/stickiness.zip) de ejemplo) para probar la fidelidad del grupo objetivo. 

## Casos de uso comunes
<a name="tg-stickiness-use-cases"></a>

Utilice la fidelidad del grupo objetivo en los siguientes escenarios:
+ Hay varios grupos de destino asignados al balanceador de cargas y el tráfico de un cliente debe enrutarse de manera coherente a las instancias de ese grupo de destino.
+ Implementaciones azul/verde.

## Cambios de código con respecto a basic.yml
<a name="tg-stickiness-code-changes"></a>

Se ha realizado un único cambio en el listener: modificamos las acciones predeterminadas de Application Load Balancer para especificar dos grupos objetivo `TG1` (`TG2`y) de igual peso, con una configuración estricta.


****  

|  |  | 
| --- |--- |
| basic.yml | targetgroupstickiness.yml | 
| <pre>Listener1:<br />  Type: 'AWS::ElasticLoadBalancingV2::Listener'<br />  Properties:<br />    LoadBalancerArn: !Ref ALB<br />    Protocol: HTTP<br />    Port: 80<br />    DefaultActions:<br />      - TargetGroupArn: !Ref TG1<br />        Type: forward</pre> | <pre>Listener1:<br />  Type: 'AWS::ElasticLoadBalancingV2::Listener'<br />  Properties:<br />    LoadBalancerArn: !Ref ALB<br />    Protocol: HTTP<br />    Port: 80<br />    DefaultActions:<br />      - ForwardConfig:<br />          TargetGroups:<br />            - TargetGroupArn: !Ref TG1<br />              Weight: 1<br />            - TargetGroupArn: !Ref TG2<br />              Weight: 1<br />          TargetGroupStickinessConfig:<br />              DurationSeconds: 10<br />              Enabled: true<br />        Type: forward</pre> | 

## Pasos
<a name="tg-stickiness-steps"></a>

**Notas**  
Las pasarelas NAT tienen un coste reducido.
Varias EC2 instancias consumen las horas de la capa gratuita más rápido que una sola EC2 instancia.

1. Implemente la CloudFormation plantilla `targetgroupstickiness.yml` en un entorno de laboratorio.

1. Espere a que el estado de salud de las instancias del grupo objetivo cambie del estado **inicial** al **correcto**.

1. Navegue hasta la URL de Application Load Balancer en un navegador web mediante HTTP (TCP/80).

   Por ejemplo: `http://alb-123456789.us-east-1.elb.amazonaws.com/`.

   La página web muestra una de las siguientes opciones: **Instancia 1 TG1**, **Instancia 2 TG1,** **Instancia 3** o **Instancia 4**. TG2 TG2

1. Actualice la página varias veces.

## Resultados esperados
<a name="tg-stickiness-results"></a>

**nota**  
La CloudFormation plantilla de este ejemplo configura la adherencia para que dure 10 segundos.

Las instancias que cargan la página web deben permanecer dentro del grupo objetivo (TG1 o TG2) dentro de los 10 segundos de duración, tal y como se refleja en el texto de la página.

Al cabo de aproximadamente 10 segundos, se elimina el problema y es posible que el conjunto de instancias del grupo objetivo cambie.

## Funcionamiento
<a name="tg-stickiness-how"></a>
+ En este ejemplo, cuatro EC2 instancias se dividen en dos grupos de destino, con dos instancias por grupo de destino. Las EC2 instancias tienen un servidor web Apache (`httpd`) instalado y el texto de la `index.html` página de cada EC2 instancia está codificado de forma que sea distinto.
+ El Application Load Balancer crea un enlace para la sesión del usuario con el grupo objetivo de destino, con una fecha de caducidad.
+ Al volver a cargar la página, el Application Load Balancer comprueba si el enlace existe y no ha caducado.
  + Si el enlace ha caducado o no existe, Application Load Balancer ejecuta su lógica de enrutamiento y determina el grupo objetivo de destino.
  + Si el enlace no ha caducado, Application Load Balancer dirige el tráfico al mismo grupo de destino, pero no necesariamente a la misma EC2 instancia.