État du groupe cible - Elastic Load Balancing

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.

État du groupe cible

Par défaut, un groupe cible est considéré comme sain tant qu'il possède au moins une cible saine. Si votre flotte est importante, il ne suffit pas d'avoir une seule cible saine desservant le trafic. Au lieu de cela, vous pouvez spécifier un nombre ou un pourcentage minimal de cibles qui doivent être saines, ainsi que les actions entreprises par l'équilibreur de charge lorsque les cibles saines tombent en dessous du seuil spécifié. Cela améliore la disponibilité.

Actions d'état défectueux

Vous pouvez configurer des seuils sains pour les actions suivantes :

  • Basculement DNS : lorsque les cibles saines d'une zone tombent en dessous du seuil, nous marquons les adresses IP du nœud d'équilibreur de charge de la zone comme défectueuses dans DNS. Par conséquent, lorsque les clients résolvent le nom DNS de l'équilibreur de charge, le trafic est acheminé uniquement vers les zones saines.

  • Basculement du routage : lorsque les cibles saines d'une zone tombent en dessous du seuil, l'équilibreur de charge envoie le trafic vers toutes les cibles disponibles pour le nœud d'équilibreur de charge, y compris les cibles défectueuses. Cela augmente les chances de réussite d'une connexion client, en particulier lorsque les cibles échouent temporairement aux surveillances de l'état, et réduit le risque de surcharge des cibles saines.

Exigences et considérations

  • Vous ne pouvez pas utiliser cette fonctionnalité avec des groupes cibles dans lesquels la cible est une fonction Lambda. Si l'Application Load Balancer est la cible d'un Network Load Balancer ou d'un Global Accelerator, ne configurez pas de seuil pour le basculement DNS.

  • Si vous spécifiez les deux types de seuils pour une action (nombre et pourcentage), l'équilibreur de charge réalise l'action lorsque l'un des seuils est dépassé.

  • Si vous spécifiez des seuils pour les deux actions, le seuil de basculement DNS doit être supérieur ou égal au seuil de basculement du routage, afin que le basculement DNS se produise pendant ou avant le basculement du routage.

  • Si vous spécifiez le seuil sous forme de pourcentage, nous calculons la valeur de manière dynamique, en fonction du nombre total de cibles enregistrées auprès des groupes cibles.

  • Le nombre total de cibles est déterminé selon que la répartition de charge entre zones est activé ou non. Si la répartition de charge entre zones est désactivé, chaque nœud envoie du trafic uniquement aux cibles de sa propre zone, ce qui signifie que les seuils s'appliquent séparément au nombre de cibles dans chaque zone activée. Si la répartition de charge entre zones est activé, chaque nœud envoie du trafic à toutes les cibles de toutes les zones activées, ce qui signifie que les seuils spécifiés s'appliquent au nombre total de cibles dans toutes les zones activées.

  • Avec le basculement DNS, nous supprimons les adresses IP des zones défectueuses du nom d'hôte DNS de l'équilibreur de charge. Cependant, le cache DNS du client local peut contenir ces adresses IP jusqu'à ce que le time-to-live (TTL) de l'enregistrement DNS expire (60 secondes).

  • En cas de basculement DNS, cela a un impact sur tous les groupes cibles associés à l'équilibreur de charge. Assurez-vous de disposer d'une capacité suffisante dans les zones restantes pour gérer ce trafic supplémentaire, en particulier si la répartition de charge entre zones est désactivé.

  • Avec le basculement DNS, si toutes les zones d'équilibreur de charge sont considérées comme défectueuses, l'équilibreur de charge envoie le trafic vers toutes les zones, y compris les zones défectueuses.

  • Il existe des facteurs autres que le fait de savoir s'il existe suffisamment de cibles saines susceptibles d'entraîner un basculement DNS, tels que l'état de la zone.

Surveillance

Pour surveiller l'état de santé de vos groupes cibles, consultez les CloudWatch statistiques relatives à l'état de santé du groupe cible.

Exemple

Les exemples suivants montrent comment les paramètres d'état du groupe cible sont appliqués.

Scénario
  • Un équilibreur de charge qui prend en charge deux zones de disponibilité, A et B

  • Chaque zone de disponibilité contient 10 cibles enregistrées

  • Les paramètres d'état du groupe cible sont les suivants :

    • Basculement DNS : 50 %

    • Basculement du routage : 50 %

  • Six cibles échouent dans la zone de disponibilité B

Si la répartition de charge entre zones est désactivée
  • Le nœud d'équilibreur de charge de chaque zone de disponibilité ne peut envoyer du trafic qu'aux 10 cibles de sa zone de disponibilité.

  • Il existe 10 cibles saines dans la zone de disponibilité A, ce qui correspond au pourcentage requis de cibles saines. L'équilibreur de charge continue de répartir le trafic entre les 10 cibles saines.

  • Il n'y a que quatre cibles saines dans la zone de disponibilité B, soit 40 % des cibles du nœud d'équilibreur de charge dans la zone de disponibilité B. Comme ce pourcentage est inférieur au pourcentage requis de cibles saines, l'équilibreur de charge prend les mesures suivantes :

    • Basculement DNS : la zone de disponibilité B est marquée comme défectueuse dans DNS. Comme les clients ne peuvent pas résoudre le nom de l'équilibreur de charge vers le nœud d'équilibreur de charge de la zone de disponibilité B et que la zone de disponibilité A est saine, les clients envoient de nouvelles connexions à la zone de disponibilité A.

    • Basculement du routage : lorsque de nouvelles connexions sont envoyées explicitement à la zone de disponibilité B, l'équilibreur de charge distribue le trafic à toutes les cibles de la zone de disponibilité B, y compris les cibles défectueuses. Cela permet d'éviter les pannes parmi les cibles saines restantes.

Si la répartition de charge entre zones est activée
  • Chaque nœud d'équilibreur de charge peut envoyer du trafic vers les 20 cibles enregistrées dans les deux zones de disponibilité.

  • Il y a 10 cibles saines dans la zone de disponibilité A et 4 cibles saines dans la zone de disponibilité B, pour un total de 14 cibles saines. Cela représente 70 % des cibles pour les nœuds d'équilibreur de charge dans les deux zones de disponibilité, ce qui correspond au pourcentage requis de cibles saines.

  • L'équilibreur de charge répartit le trafic entre les 14 cibles saines des deux zones de disponibilité.

Modification des paramètres d'état du groupe cible

Vous pouvez modifier les paramètres d'état de votre groupe cible comme suit.

Pour modifier les paramètres d'état d'un groupe cible à l'aide de la console
  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, sous Répartition de charge, choisissez Groupes cibles.

  3. Sélectionnez le nom du groupe cible pour afficher sa page de détails.

  4. Dans l'onglet Attributes, choisissez Edit.

  5. Vérifiez si la répartition de charge entre zones est activé ou désactivé. Mettez à jour ce paramètre si nécessaire pour vous assurer que vous disposez d'une capacité suffisante pour gérer le trafic supplémentaire en cas de défaillance d'une zone.

  6. Développez Exigences en matière d'état du groupe cible.

  7. Pour Type de configuration, nous vous recommandons de choisir Configuration unifiée, qui définit le même seuil pour les deux actions.

  8. Pour Exigences en matière d'état sain, exécutez l'une des actions suivantes :

    • Choisissez Nombre minimum de cibles saines, puis saisissez un nombre compris entre 1 et le nombre maximal de cibles pour votre groupe cible.

    • Choisissez Pourcentage minimum de cibles saines, puis saisissez un nombre compris entre 1 et 100.

  9. Sélectionnez Enregistrer les modifications.

Pour modifier les paramètres d'état d'un groupe cible à l'aide de l'AWS CLI

Utilisez la commande modify-target-group-attributes. L'exemple suivant définit à 50 % le seuil d'état sain pour les deux actions présentant un état défectueux.

aws elbv2 modify-target-group-attributes \ --target-group-arn arn:aws:elasticloadbalancing:region:123456789012:targetgroup/my-targets/73e2d6bc24d8a067 \ --attributes Key=target_group_health.dns_failover.minimum_healthy_targets.percentage,Value=50 \ Key=target_group_health.unhealthy_state_routing.minimum_healthy_targets.percentage,Value=50

Utiliser le basculement DNS Route 53 pour votre équilibreur de charge

Si vous utilisez Route 53 pour acheminer des requêtes DNS vers votre équilibreur de charge, vous pouvez également configurer le basculement DNS pour ce dernier à l'aide de Route 53. Dans une configuration de basculement, Route 53 vérifie l'état de santé des cibles du groupe cible pour l'équilibreur de charge afin de déterminer si celles-ci sont disponibles. Si aucune cible saine n'est enregistrée auprès de l'équilibreur de charge, ou si l'équilibreur de charge lui-même est défectueux, Route 53 achemine le trafic vers une autre ressource disponible, par exemple, un équilibreur de charge sain ou un site Web statique dans Amazon S3.

Par exemple, supposons que vous ayez une application web pour www.example.com, et que vous vouliez que des instances redondantes s'exécutent derrière deux équilibreurs de charge situés dans des Régions différentes. Vous souhaitez que le trafic soit principalement acheminé vers l'équilibreur de charge d'une Région, et vous voulez utiliser l'équilibreur de charge de l'autre Région en secours pendant les pannes. Si vous configurez le basculement DNS, vous pouvez spécifier vos équilibreurs de charge principal et secondaire (Backup). Route 53 dirige le trafic vers l'équilibreur de charge principal s'il est disponible ou, dans le cas contraire, vers l'équilibreur de charge secondaire.

Utiliser Évaluer l'état de la cible
  • Lorsque l'option Évaluer l'état de la cible est définie sur Yes sur un enregistrement d'alias pour un Application Load Balancer, Route 53 évalue l'état de la ressource spécifiée par la valeur alias target. Pour un Application Load Balancer, Route 53 utilise les surveillances de l'état du groupe cible associées à l'équilibreur de charge.

  • Lorsque tous les groupes cibles d'un Application Load Balancer sont sains, Route 53 indique que l'enregistrement d'alias est sain. Si un groupe cible contient au moins une cible saine, la surveillance de l'état du groupe cible est réussie. Route 53 renvoie ensuite les enregistrements conformément à votre stratégie de routage. Si la stratégie de routage de basculement est utilisée, Route 53 renvoie l'enregistrement principal.

  • Si l'un des groupes cibles d'un Application Load Balancer est défectueux, l'enregistrement de l'alias échoue la surveillance de l'état de Route 53 (fail-open). Si vous utilisez l'option Évaluer l'état de la cible, cela échouera à la stratégie de routage de basculement.

  • Si tous les groupes cibles d'un Application Load Balancer sont vides (aucune cible), Route 53 considère que l'enregistrement est défectueux (fail-open). Si vous utilisez l'option Évaluer l'état de la cible, cela échouera à la stratégie de routage de basculement.

Pour de plus amples informations, consultez Configuration du basculement DNS dans le Guide du développeur Amazon Route 53.