Équilibrage de charge entre zones pour groupes cibles - 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.

Équilibrage de charge entre zones pour groupes cibles

Les nœuds de votre équilibreur de charge distribuent les requêtes des clients à des cibles enregistrées. Lorsque la répartition de charge entre zones est activée, chaque nœud d'équilibreur de charge distribue le trafic entre les cibles enregistrées dans toutes les zones de disponibilité enregistrées. Lorsque la répartition de charge entre zones est désactivée, chaque nœud d'équilibreur de charge distribue le trafic entre les cibles enregistrées dans sa zone de disponibilité uniquement. Cela peut être le cas si les domaines de défaillance zonaux sont préférés aux domaines régionaux, afin de garantir qu'une zone saine n'est pas affectée par une zone défectueuse, ou pour améliorer la latence globale.

Avec les Application Load Balancers, la répartition de charge entre zones est toujours activé au niveau de l'équilibreur de charge et ne peut pas être désactivé. Pour les groupes cibles, le paramètre par défaut est d'utiliser le paramètre d'équilibreur de charge, mais vous pouvez le remplacer en désactivant explicitement la répartition de charge entre zones au niveau du groupe cible.

Considérations
  • La permanence de la cible n'est pas prise en charge lorsque la répartition de charge entre les zones est désactivée.

  • Les fonctions lambda en tant que cibles ne sont pas prises en charge lorsque l'équilibreur de charge entre zones est désactivé.

  • Si vous tentez de désactiver la répartition de charge entre zones via l'API ModifyTargetGroupAttributes et que le paramètre AvailabilityZone d'une cible est défini sur all, une erreur se produit.

  • Lors de l'enregistrement des cibles, le paramètre AvailabilityZone est obligatoire. Les valeurs des zones de disponibilité spécifiques ne sont autorisées que lorsque la répartition de charge entre zones est désactivée. Sinon, le paramètre est ignoré et traité comme all.

Bonnes pratiques
  • Prévoyez une capacité cible suffisante dans toutes les zones de disponibilité que vous comptez utiliser, par groupe cible. Si vous ne parvenez pas à prévoir une capacité suffisante dans toutes les zones de disponibilité participantes, nous vous recommandons de maintenir la répartition de charge entre zones activé.

  • Lorsque vous configurez votre Application Load Balancer avec plusieurs groupes cibles, assurez-vous que tous les groupes cibles participent aux mêmes zones de disponibilité, au sein de la région configurée. Cela permet d'éviter qu'une zone de disponibilité ne soit vide lorsque la répartition de charge entre zones est désactivé, car cela déclenche une erreur 503 pour toutes les demandes HTTP qui entrent dans la zone de disponibilité vide.

  • Évitez de créer des sous-réseaux vides. Application Load Balancers exposent les adresses IP zonales via le DNS pour les sous-réseaux vides, ce qui déclenche les erreurs 503 pour les demandes HTTP.

  • Il peut arriver qu'un groupe cible dont la répartition de charge entre zones est désactivé dispose d'une capacité cible planifiée suffisante par zone de disponibilité, mais que toutes les cibles d'une zone de disponibilité ne fonctionnent pas correctement. Lorsqu'au moins un groupe cible contient toutes des cibles défectueuses, les adresses IP des nœuds d'équilibreur de charge sont supprimées du DNS. Une fois que le groupe cible possède au moins une cible saine, les adresses IP sont restaurées dans le DNS.

Désactiver la répartition de charge entre zones

Vous pouvez activer la répartition de charge entre zones à tout moment pour votre Application Load Balancer.

Pour désactiver la répartition de charge entre zones à l'aide de la console
  1. Ouvrez la console Amazon EC2 sur https://console.aws.amazon.com/ec2/.

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

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

  4. Dans l'onglet Attributs, sélectionnez Modifier.

  5. Sur la page Modifier les attributs du groupe cible, sélectionnez Désactivé pour Équilibrage de charge entre zones.

  6. Sélectionnez Save Changes (Enregistrer les modifications).

Pour désactiver la répartition de charge entre zones à l'aide de l'AWS CLI

Utilisez la commande modify-target-group-attributes et définissez l'attribut load_balancing.cross_zone.enabled sur false.

aws elbv2 modify-target-group-attributes --target-group-arn my-targetgroup-arn --attributes Key=load_balancing.cross_zone.enabled,Value=false

Voici un exemple de réponse :

{ "Attributes": [ { "Key": "load_balancing.cross_zone.enabled", "Value": "false" }, ] }

Activer la répartition de charge entre zones

Vous pouvez activer la répartition de charge entre zones à tout moment pour votre Application Load Balancer. Le paramètre de répartition de charge entre zones au niveau du groupe cible remplace le paramètre au niveau de l'équilibreur de charge.

Pour activer la répartition de charge entre zones à l'aide de la console
  1. Ouvrez la console Amazon EC2 sur https://console.aws.amazon.com/ec2/.

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

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

  4. Dans l'onglet Attributs, sélectionnez Modifier.

  5. Sur la page Modifier les attributs du groupe cible, sélectionnez Activé pour Équilibrage de charge entre zones.

  6. Sélectionnez Save Changes (Enregistrer les modifications).

Pour activer la répartition de charge entre zones à l'aide de l'AWS CLI

Utilisez la commande modify-target-group-attributes et définissez l'attribut load_balancing.cross_zone.enabled sur true.

aws elbv2 modify-target-group-attributes --target-group-arn my-targetgroup-arn --attributes Key=load_balancing.cross_zone.enabled,Value=true

Voici un exemple de réponse :

{ "Attributes": [ { "Key": "load_balancing.cross_zone.enabled", "Value": "true" }, ] }