Exemples d'utilisation d'Elastic Load Balancing à l'aide du AWS CLI - Amazon EC2 Auto Scaling

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.

Exemples d'utilisation d'Elastic Load Balancing à l'aide du AWS CLI

Utilisez le AWS Command Line Interface (AWS CLI) pour attacher, détacher et décrire les équilibreurs de charge et les groupes cibles, ajouter et supprimer les tests de santé d'Elastic Load Balancing et modifier les zones de disponibilité activées.

Cette rubrique présente des exemples de AWS CLI commandes qui exécutent des tâches courantes pour Amazon EC2 Auto Scaling.

Important

Pour d’autres exemples de commandes, consultez aws elbv2 et aws elb dans le guide de référence des commandes AWS CLI .

Attachez votre groupe cible ou votre équilibreur Classic Load Balancer

Utilisez la create-auto-scaling-groupcommande suivante pour créer un groupe Auto Scaling et associer simultanément un groupe cible en spécifiant son Amazon Resource Name (ARN). Le groupe cible peut être associé à un équilibreur Application Load Balancer, un équilibreur Network Load Balancer ou un équilibreur Gateway Load Balancer.

Remplacez les valeurs d’exemple de --auto-scaling-group-name, --vpc-zone-identifier, --min-size, et --max-size. Pour l’option --launch-template, remplacez my-launch-template et 1 par le nom et la version d’un modèle de lancement de votre groupe Auto Scaling. Pour --traffic-sources cette option, remplacez l'exemple ARN par celui ARN d'un groupe cible pour un Application Load Balancer, un Network Load Balancer ou un Gateway Load Balancer.

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-launch-template,Version='1' \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --min-size 1 --max-size 5 \ --traffic-sources "Identifier=arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE1"

Utilisez la attach-traffic-sourcescommande pour associer des groupes cibles supplémentaires au groupe Auto Scaling une fois celui-ci créé.

La commande suivante ajoute un autre groupe cible au même groupe.

aws autoscaling attach-traffic-sources --auto-scaling-group-name my-asg \ --traffic-sources "Identifier=arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE2"

Vous pouvez également attacher un équilibreur Classic Load Balancer à votre groupe. Renseignez les options --traffic-sources et --type lorsque vous utilisez create-auto-scaling-group ou attach-traffic-sources, comme dans l’exemple suivant. Remplacez my-classic-load-balancer par le nom d’un équilibreur Classic Load Balancer. Pour l’option --type, indiquez une valeur de elb.

--traffic-sources "Identifier=my-classic-load-balancer" --type elb

Décrivez vos groupes cibles ou vos équilibreurs Classic Load Balancer

Pour décrire les équilibreurs de charge ou les groupes cibles attachés à votre groupe Auto Scaling, utilisez la describe-traffic-sourcescommande suivante. Remplacez my-asg par le nom de votre groupe.

aws autoscaling describe-traffic-sources --auto-scaling-group-name my-asg

L'exemple renvoie les ARN groupes cibles Elastic Load Balancing que vous avez attachés au groupe Auto Scaling.

{ "TrafficSources": [ { "Identifier": "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE1", "State": "InService", "Type": "elbv2" }, { "Identifier": "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/12345678EXAMPLE2", "State": "InService", "Type": "elbv2" } ] }

Pour en savoir plus sur le champ State de la sortie, consultez Vérifier l’état d’attachement de votre équilibreur de charge.

Ajouter des surveillances d'état Elastic Load Balancing

Pour ajouter les contrôles de santé d'Elastic Load Balancing aux contrôles de santé effectués par votre groupe Auto Scaling sur les instances, utilisez la update-auto-scaling-groupcommande suivante et spécifiez ELB la valeur de l'--health-check-typeoption. Remplacez my-asg par le nom de votre groupe.

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --health-check-type "ELB"

Les nouvelles instances ont souvent besoin de temps pour un bref échauffement avant de pouvoir passer un bilan de santé. Si le délai de grâce ne fournit pas un temps de préchauffage suffisant, les instances peuvent ne pas sembler prêtes à traiter le trafic. Amazon EC2 Auto Scaling peut considérer que ces instances ne sont pas saines et les remplacer.

Pour mettre à jour la période de grâce de la surveillance de l’état, utilisez l’option --health-check-grace-period lorsque vous utilisez update-auto-scaling-group, comme dans l’exemple suivant. Remplacez 300 par le nombre de secondes nécessaires pour maintenir les nouvelles instances en service avant de les mettre hors service si elles s'avèrent défectueuses.

--health-check-grace-period 300

Pour de plus amples informations, veuillez consulter Surveillance de l’état des instances dans un groupe Auto Scaling.

Modifier vos zones de disponibilité

La modification de vos zones de disponibilité présente des limites que vous devez connaître. Pour de plus amples informations, veuillez consulter Ajouter une zone de disponibilité.

Pour modifier les zones de disponibilité d’un équilibreur Application Load Balancer ou Network Load Balancer
  1. Avant de modifier les zones de disponibilité de l’équilibreur de charge, il est conseillé de mettre à jour les zones de disponibilité du groupe Auto Scaling afin de vérifier que vos types d’instances sont disponibles dans les zones indiquées.

    Pour mettre à jour les zones de disponibilité de votre groupe Auto Scaling, utilisez la update-auto-scaling-groupcommande suivante. Remplacez le sous-réseau d'exemple IDs par l'un IDs des sous-réseaux des zones de disponibilité pour l'activer. Les sous-réseaux indiqués remplacent les sous-réseaux précédemment activés. Remplacez my-asg par le nom de votre groupe.

    aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --vpc-zone-identifier "subnet-41767929,subnet-cb663da2,subnet-8360a9e7"
  2. Utilisez la describe-auto-scaling-groupscommande suivante pour vérifier que les instances des nouveaux sous-réseaux ont été lancées. Si les instances ont été lancées, la liste de ces instances apparaît, avec leur statut. Remplacez my-asg par le nom de votre groupe.

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg
  3. Utilisez la commande set-subnets suivante pour indiquer les sous-réseaux de votre équilibreur de charge. Remplacez le sous-réseau d'exemple IDs par l'un IDs des sous-réseaux des zones de disponibilité pour l'activer. Vous pouvez spécifier un seul sous-réseau par zone de disponibilité. Les sous-réseaux indiqués remplacent les sous-réseaux précédemment activés. my-lb-arnRemplacez-le par celui ARN de votre équilibreur de charge.

    aws elbv2 set-subnets --load-balancer-arn my-lb-arn \ --subnets subnet-41767929 subnet-cb663da2 subnet-8360a9e7
Pour modifier les zones de disponibilité d’un équilibreur Classic Load Balancer
  1. Avant de modifier les zones de disponibilité de l’équilibreur de charge, il est conseillé de mettre à jour les zones de disponibilité du groupe Auto Scaling afin de vérifier que vos types d’instances sont disponibles dans les zones indiquées.

    Pour mettre à jour les zones de disponibilité de votre groupe Auto Scaling, utilisez la update-auto-scaling-groupcommande suivante. Remplacez le sous-réseau d'exemple IDs par l'un IDs des sous-réseaux des zones de disponibilité pour l'activer. Les sous-réseaux indiqués remplacent les sous-réseaux précédemment activés. Remplacez my-asg par le nom de votre groupe.

    aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --vpc-zone-identifier "subnet-41767929,subnet-cb663da2"
  2. Utilisez la describe-auto-scaling-groupscommande suivante pour vérifier que les instances des nouveaux sous-réseaux ont été lancées. Si les instances ont été lancées, la liste de ces instances apparaît, avec leur statut. Remplacez my-asg par le nom de votre groupe.

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg
  3. Utilisez la commande attach-load-balancer-to-subnets suivante pour activer une nouvelle zone de disponibilité pour votre Classic Load Balancer. Remplacez l’identifiant du sous-réseau en exemple par l’identifiant du sous-réseau de la zone de disponibilité à activer. Remplacez my-lb par le nom de votre équilibreur de charge.

    aws elb attach-load-balancer-to-subnets --load-balancer-name my-lb \ --subnets subnet-cb663da2

    Pour désactiver une zone de disponibilité, utilisez la commande detach-load-balancer-from-subnets suivante. Remplacez l’identifiant du sous-réseau en exemple par l’identifiant du sous-réseau de la zone de disponibilité à désactiver. Remplacez my-lb par le nom de votre équilibreur de charge.

    aws elb detach-load-balancer-from-subnets --load-balancer-name my-lb \ --subnets subnet-8360a9e7

Détachez votre groupe cible ou votre équilibreur Classic Load Balancer

La detach-traffic-sourcescommande suivante détache un groupe cible de votre groupe Auto Scaling lorsque vous n'en avez plus besoin.

Pour l’option --auto-scaling-group-name, remplacez my-asg par le nom de votre groupe. Pour --traffic-sources cette option, remplacez l'exemple ARN par celui ARN d'un groupe cible pour un Application Load Balancer, un Network Load Balancer ou un Gateway Load Balancer.

aws autoscaling detach-traffic-sources --auto-scaling-group-name my-asg \ --traffic-sources "Identifier=arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456"

Pour détacher un équilibreur Classic Load Balancer de votre groupe, renseignez les options --traffic-sources et --type, comme dans l’exemple suivant. Remplacez my-classic-load-balancer par le nom d’un équilibreur Classic Load Balancer. Pour l’option --type, indiquez une valeur de elb.

--traffic-sources "Identifier=my-classic-load-balancer" --type elb

Supprimer les surveillances de l’état Elastic Load Balancing

Pour supprimer les tests de santé d'Elastic Load Balancing de votre groupe Auto Scaling, utilisez la update-auto-scaling-groupcommande suivante et spécifiez EC2 la valeur de l'--health-check-typeoption. Remplacez my-asg par le nom de votre groupe.

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --health-check-type "EC2"

Pour de plus amples informations, veuillez consulter Surveillance de l’état des instances dans un groupe Auto Scaling.

Anciennes commandes

Les exemples suivants montrent comment utiliser CLI les anciennes commandes pour attacher, détacher et décrire les équilibreurs de charge et les groupes cibles. Ils servent de référence pour les clients qui souhaitent les utiliser. Nous continuons à prendre en charge les anciennes CLI commandes, mais nous vous recommandons d'utiliser les nouvelles CLI commandes « sources de trafic », qui peuvent associer et détacher plusieurs types de sources de trafic. Vous pouvez utiliser à la fois CLI les anciennes commandes et les CLI commandes « sources de trafic » dans le même groupe Auto Scaling.

Pour attacher votre groupe cible

La create-auto-scaling-groupcommande suivante crée un groupe Auto Scaling auquel est attaché un groupe cible. Spécifiez le nom de ressource Amazon (ARN) d'un groupe cible pour un Application Load Balancer, un Network Load Balancer ou un Gateway Load Balancer.

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-launch-template,Version='1' \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --target-group-arns "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456" \ --min-size 1 --max-size 5

La commande attach-load-balancer-target-groups suivante attache un groupe cible à un groupe Auto Scaling existant.

aws autoscaling attach-load-balancer-target-groups --auto-scaling-group-name my-asg \ --target-group-arns "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456"
Pour attacher votre Classic Load Balancer

La create-auto-scaling-groupcommande suivante crée un groupe Auto Scaling auquel est rattaché un Classic Load Balancer.

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg \ --launch-configuration-name my-launch-config \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --load-balancer-names "my-load-balancer" \ --min-size 1 --max-size 5

La attach-load-balancerscommande suivante attache le Classic Load Balancer spécifié à un groupe Auto Scaling existant.

aws autoscaling attach-load-balancers --auto-scaling-group-name my-asg \ --load-balancer-names my-lb
Pour décrire les groupes cibles

Pour décrire les groupes cibles associés à un groupe Auto Scaling, utilisez la commande describe-load-balancer-target-groups. L'exemple suivant répertorie les groupes cibles pourmy-asg.

aws autoscaling describe-load-balancer-target-groups --auto-scaling-group-name my-asg
Pour décrire les Classic Load Balancer.

Pour décrire les équilibreurs de charge classiques associés à un groupe Auto Scaling, utilisez la describe-load-balancerscommande. L'exemple suivant répertorie les équilibreurs de charge classiques pourmy-asg.

aws autoscaling describe-load-balancers --auto-scaling-group-name my-asg
Pour détacher un groupe cible

La commande detach-load-balancer-target-groups suivante détache un groupe cible de votre groupe Auto Scaling lorsque vous n'en avez plus besoin.

aws autoscaling detach-load-balancer-target-groups --auto-scaling-group-name my-asg \ --target-group-arns "arn:aws:elasticloadbalancing:region:account-id:targetgroup/my-targets/1234567890123456"
Pour détacher un équilibreur de charge Classic Load Balancer

La detach-load-balancerscommande suivante détache un Classic Load Balancer de votre groupe Auto Scaling lorsque vous n'en avez plus besoin.

aws autoscaling detach-load-balancers --auto-scaling-group-name my-asg \ --load-balancer-names my-lb