Adhérence du groupe cible - AWS Conseils prescriptifs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Adhérence du groupe cible

Lorsque vous utilisez un Application Load Balancer compatible avec le groupe cible :

Modèle : utilisez le AWS CloudFormation modèle targetgroupstickiness.yml (inclus dans le fichier .zip de code d'exemple) pour tester la compatibilité avec le groupe cible.

Cas d’utilisation courants

Utilisez la rigidité du groupe cible dans les scénarios suivants :

  • Plusieurs groupes cibles sont affectés à l'équilibreur de charge, et le trafic provenant d'un client doit être systématiquement acheminé vers les instances de ce groupe cible.

  • Déploiements bleu/vert.

Changements de code depuis basic.yml

Une seule modification a été apportée à l'écouteur : nous avons modifié les actions par défaut de l'Application Load Balancer pour spécifier deux groupes cibles TG1 (TG2et) ayant le même poids, avec une configuration d'adhérence.

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

Étapes

Remarques
  • Les passerelles NAT sont peu coûteuses.

  • Plusieurs EC2 instances utilisent vos heures de niveau gratuit plus rapidement qu'une seule EC2 instance.

  1. Déployez le CloudFormation modèle targetgroupstickiness.yml dans un environnement de laboratoire.

  2. Attendez que l'état de santé des instances de votre groupe cible passe d'un état initial à un état sain.

  3. Accédez à l'URL de l'Application Load Balancer dans un navigateur Web à l'aide du protocole HTTP (TCP/80).

    Par exemple : http://alb-123456789.us-east-1.elb.amazonaws.com/

    La page Web affiche l'un des éléments suivants : Instance 1 - TG1, Instance 2 - TG1, Instance 3 - TG2 ou Instance 4 - TG2.

  4. Rafraîchissez la page plusieurs fois.

Résultats attendus

Note

Dans cet exemple, le CloudFormation modèle configure l'adhérence pour qu'elle dure 10 secondes.

Les instances qui chargent la page Web doivent rester dans le groupe cible (TG1 ou TG2) dans les 10 secondes, comme indiqué dans le texte de la page.

Après environ 10 secondes, le caractère collant est relâché et l'ensemble d'instances du groupe cible peut changer.

Comment ça marche

  • Dans cet exemple, quatre EC2 instances sont réparties entre deux groupes cibles, avec deux instances par groupe cible. Un serveur Web Apache (httpd) est installé sur les EC2 instances, et le texte de index.html page de chaque EC2 instance est codé en dur pour être distinct.

  • L'Application Load Balancer crée une liaison pour la session de l'utilisateur vers le groupe cible de destination, avec une date d'expiration.

  • Lorsque vous rechargez la page, l'Application Load Balancer vérifie si la liaison existe et n'a pas expiré.

    • Si la liaison a expiré ou n'existe pas, l'Application Load Balancer exécute sa logique de routage et détermine le groupe cible de destination.

    • Si la liaison n'a pas expiré, l'Application Load Balancer achemine le trafic vers le même groupe cible, mais pas nécessairement vers la même EC2 instance.