Enregistrez des cibles auprès de votre groupe cible Application Load Balancer - 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.

Enregistrez des cibles auprès de votre groupe cible Application Load Balancer

Vous enregistrez les cibles avec le groupe cible. Lorsque vous créez un groupe cible, vous spécifiez son type de cible, qui détermine la façon dont vous enregistrez ses cibles. Par exemple, vous pouvez enregistrer des instances IDs, des adresses IP ou des fonctions Lambda. Pour de plus amples informations, veuillez consulter Groupes cible pour vos Application Load Balancers.

Si la demande augmente sur les cibles actuellement enregistrées, vous pouvez enregistrer des cibles supplémentaires afin de pouvoir gérer la demande. Lorsque la cible est prête à gérer les demandes, enregistrez-la auprès de votre groupe cible. L'équilibreur de charge commence à acheminer les demandes vers la cible dès que le processus d'enregistrement est terminé et que la cible a passé avec succès les vérifications de l'état initiales.

Si la demande diminue sur vos cibles enregistrées ou que vous avez besoin d'assurer la maintenance d'une cible, vous pouvez annuler l'enregistrement de cette cible dans le groupe cible. L'équilibreur de charge cesse d'acheminer les demandes vers une cible lorsque vous annuler l'enregistrement de cette cible. Lorsque la cible est prête à recevoir des demandes, vous pouvez l'enregistrer à nouveau auprès du groupe cible.

Lorsque vous annulez l'enregistrement d'une cible, l'équilibreur de charge attend que les demandes en cours soient terminées. Cela s'appelle le drainage de la connexion. L'état d'une cible est draining lorsque le drainage de la connexion est en cours.

Lorsque vous annulez l'enregistrement d'une cible qui a été enregistrée à l'aide d'une adresse IP, vous devez attendre la fin du délai d'annulation d'enregistrement avant de pouvoir enregistrer à nouveau la même adresse IP.

Si vous enregistrez des objectifs par ID d'instance, vous pouvez utiliser votre équilibreur de charge avec un groupe Auto Scaling. Après avoir attaché un groupe cible à un groupe Auto Scaling et que ce groupe monte en puissance, les instances lancées par le groupe Auto Scaling sont automatiquement enregistrées avec le groupe cible. Si vous détachez le groupe cible du groupe Auto Scaling, l'enregistrement des instances est annulé automatiquement dans le groupe cible. Pour plus d'informations, consultez la section Attacher un équilibreur de charge à votre groupe Auto Scaling dans le guide de l'utilisateur d'Amazon EC2 Auto Scaling.

Lorsque vous arrêtez une application sur une cible, vous devez d'abord désenregistrer la cible de son groupe cible et laisser le temps aux connexions existantes de se vider. Vous pouvez surveiller l'état de désenregistrement à l'aide de la commande describe-target-health CLI ou en actualisant la vue du groupe cible dans le. AWS Management Console Après avoir confirmé que la cible est désenregistrée, vous pouvez arrêter ou terminer l'application. Cette séquence empêche les utilisateurs de rencontrer des erreurs 5XX lorsque des applications sont arrêtées alors que le trafic est toujours en cours de traitement.

Groupes de sécurité cibles

Lorsque vous enregistrez des EC2 instances en tant que cibles, vous devez vous assurer que les groupes de sécurité de vos instances permettent à l'équilibreur de charge de communiquer avec vos instances à la fois sur le port d'écoute et sur le port de vérification de l'état.

Règles recommandées
Inbound
Source Port Range Comment
load balancer security group instance listener Autoriser le trafic depuis l'équilibreur de charge sur le port d'écoute des instances
load balancer security group health check Autoriser le trafic depuis l'équilibreur de charge sur le port de vérification de l'état

Nous vous recommandons également de permettre au trafic ICMP entrant de prendre en charge la détection de la MTU du chemin. Pour plus d'informations, consultez Path MTU Discovery dans le guide de l' EC2 utilisateur Amazon.

Optimiseur de cibles

L'optimiseur de cibles vous permet d'appliquer une simultanéité stricte aux cibles d'un groupe cible. Il fonctionne à l'aide d'un agent que vous installez et configurez sur des cibles. L'agent fait office de proxy intégré entre l'équilibreur de charge et votre application. Vous configurez l'agent pour appliquer un nombre maximum de demandes simultanées que l'équilibreur de charge peut envoyer à la cible. L'agent suit le nombre de demandes traitées par la cible. Lorsque le nombre tombe en dessous de la valeur maximale configurée, l'agent envoie un signal à l'équilibreur de charge pour l'informer que la cible est prête à traiter une autre demande.

Pour activer l'optimiseur de cible, vous devez spécifier un port de contrôle cible lors de la création du groupe cible. L'équilibreur de charge établit des canaux de contrôle avec des agents sur ce port pour le trafic de gestion. Ce port est différent du port sur lequel l'équilibreur de charge envoie le trafic des applications. L'agent doit être exécuté sur les cibles enregistrées auprès du groupe cible.

Remarque : L'optimiseur de cible ne peut être activé que lors de la création du groupe cible. Le port de contrôle cible ne peut pas être modifié après sa création.

L'agent est disponible sous forme d'image Docker à l'adresse : public.ecr.aws/aws-elb/target-optimizer/target-control-agent:latest. Vous configurez les variables d'environnement suivantes lors de l'exécution du conteneur d'agents :

TARGET_CONTROL_DATA_ADDRESS

L'agent reçoit le trafic d'application en provenance de l'équilibreur de charge sur ce socket (IP:port). Le port de ce socket est le port de trafic des applications que vous configurez pour le groupe cible. Par défaut, l'agent peut accepter à la fois les connexions en texte brut et les connexions TLS.

TARGET_CONTROL_CONTROL_ADDRESS

L'agent reçoit le trafic de gestion en provenance de l'équilibreur de charge sur ce socket (IP:port). Le port du socket est le port de contrôle cible que vous configurez pour le groupe cible.

TARGET_CONTROL_DESTINATION_ADDRESS

L'agent transmet le trafic de l'application à ce socket (IP:Port). Votre application devrait être en train d'écouter sur ce socket.

(Facultatif) TARGET_CONTROL_MAX_CONCURRENCY

Nombre maximal de demandes simultanées que la cible recevra de la part de l'équilibreur de charge. Il peut être compris entre 0 et 1000. La valeur par défaut est 1.

(Facultatif) TARGET_CONTROL_TLS_CERT_PATH

Emplacement du certificat TLS que l'agent fournit à l'équilibreur de charge lors de la prise de contact TLS. Par défaut, l'agent génère un certificat auto-signé en mémoire.

(Facultatif) TARGET_CONTROL_TLS_KEY_PATH

Emplacement de la clé privée correspondant au certificat TLS que l'agent fournit à l'équilibreur de charge lors de la prise de contact TLS. Par défaut, l'agent génère une clé privée en mémoire.

(Facultatif) TARGET_CONTROL_TLS_SECURITY_POLICY

La politique de sécurité ELB que vous configurez pour le groupe cible. La valeur par défaut est ELBSecurityPolicy-2016-08.

(Facultatif) TARGET_CONTROL_PROTOCOL_VERSION

Protocole par lequel l'équilibreur de charge communique avec l'agent. Les valeurs possibles sont HTTP1 HTTP2, GRPC. La valeur par défaut est HTTP1.

(Facultatif) RUST_LOG

Le niveau de journalisation du processus de l'agent. Le logiciel de l'agent est écrit en Rust. Les valeurs possibles sont debug info, et error. La valeur par défaut est info.

Pour modifier la valeur d'une variable d'environnement, vous devez redémarrer l'agent avec la nouvelle valeur. Vous pouvez surveiller l'optimiseur de cibles à l'aide des mesures suivantes : TargetControlRequestCountTargetControlRequestRejectCount,TargetControlActiveChannelCount,TargetControlNewChannelCount,, TargetControlChannelErrorCount TargetControlWorkQueueLength,TargetControlProcessedBytes. Pour plus d'informations, voir Mesures de l'optimiseur de cible. Pour plus d'informations sur la résolution des problèmes, voir Résolution des problèmes liés à l'optimiseur de cible

Sous-réseaux partagés

Les participants peuvent créer un Application Load Balancer dans un VPC partagé. Les participants ne peuvent pas enregistrer une cible exécutée dans un sous-réseau qui n'est pas partagé avec eux.

Enregistrer des cibles

Chaque groupe cible doit avoir au moins une cible enregistrée dans chaque zone de disponibilité qui est activée pour l'équilibreur de charge.

Le type de cible de votre groupe cible détermine la façon dont vous enregistrez les cibles auprès du groupe cible. Pour de plus amples informations, veuillez consulter Type de cible.

Exigences et considérations
  • Une instance doit être à l'état running lorsque vous l'inscrivez.

  • Une instance cible doit se trouver dans le cloud privé virtuel (VPC) que vous avez spécifié pour le groupe cible.

  • Lorsque vous enregistrez des cibles par ID d'instance pour un groupe IPv6 cible, une IPv6 adresse principale doit être attribuée aux cibles. Pour en savoir plus, consultez les IPv6 adresses dans le guide de EC2 l'utilisateur Amazon

  • Lorsque vous enregistrez des cibles par adresse IP pour un groupe IPv4 cible, les adresses IP que vous enregistrez doivent provenir de l'un des blocs CIDR suivants :

    • Les sous-réseaux du groupe cible (VPC)

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

  • Lorsque vous enregistrez des cibles par adresse IP pour un groupe IPv6 cible, les adresses IP que vous enregistrez doivent se trouver dans le bloc d'adresse IPv6 CIDR du VPC ou dans le bloc d'adresse IPv6 CIDR d'un VPC apparenté.

  • Vous ne pouvez pas enregistrer les adresses IP d'un autre Application Load Balancer dans le même VPC. Si l'autre Application Load Balancer se trouve dans un VPC appairé au VPC de l'équilibreur de charge, vous pouvez enregistrer ses adresses IP.

Console
Pour enregistrer des cibles
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, sous Load Balancing (Répartition de charge), choisissez Target Groups (Groupes cibles).

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

  4. Choisissez l’onglet Cibles.

  5. Choisissez Register targets (Enregistrer les cibles).

  6. Si le type de cible du groupe cible estinstance, sélectionnez les instances disponibles, remplacez le port par défaut si nécessaire, puis choisissez Inclure comme étant en attente ci-dessous.

  7. Si le type de cible du groupe cible estip, pour chaque adresse IP, sélectionnez le réseau, entrez les adresses IP et les ports, puis choisissez Inclure comme en attente ci-dessous.

  8. Si le type de cible du groupe cible estlambda, sélectionnez la fonction Lambda ou entrez son ARN. Pour de plus amples informations, veuillez consulter Utiliser les fonctions Lambda comme cibles.

  9. Choisissez Enregistrer les cibles en attente.

AWS CLI
Pour enregistrer des cibles

Utilisez la commande register-targets. L'exemple suivant enregistre les cibles par ID d'instance. Le port n'étant pas spécifié, l'équilibreur de charge utilise le port du groupe cible.

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

L'exemple suivant enregistre les cibles par adresse IP. Le port n'étant pas spécifié, l'équilibreur de charge utilise le port du groupe cible.

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

L'exemple suivant enregistre une fonction Lambda en tant que cible.

aws elbv2 register-targets \ --target-group-arn target-group-arn \ --targets Id=lambda-function-arn
CloudFormation
Pour enregistrer des cibles

Mettez à jour la AWS::ElasticLoadBalancingV2::TargetGroupressource pour inclure les nouvelles cibles. L'exemple suivant enregistre deux cibles par ID d'instance.

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

Désenregistrer les cibles

Si la demande diminue sur votre application ou que vous avez besoin de répondre aux demandes de vos cibles, vous pouvez annuler l'enregistrement des cibles dans vos groupes cibles. L'annulation de l'enregistrement d'une cible supprime la cible de votre groupe cible, mais n'affecte pas autrement la cible.

Console
Pour désenregistrer des cibles
  1. Ouvrez la EC2 console Amazon à l'adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, sous Load Balancing (Répartition de charge), choisissez Target Groups (Groupes cibles).

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

  4. Dans l'onglet Cibles, sélectionnez les cibles à supprimer.

  5. Choisissez Deregister (Annuler l’enregistrement).

  6. Lorsque vous êtes invité à confirmer l'opération, choisissez Annuler l'enregistrement.

AWS CLI
Pour désenregistrer des cibles

Utilisez la commande deregister-targets. L'exemple suivant annule l'enregistrement de deux cibles enregistrées par ID d'instance.

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