Beispiele für die Arbeit mit Elastic Load Balancing unter Verwendung der AWS CLI - Amazon EC2 Auto Scaling

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beispiele für die Arbeit mit Elastic Load Balancing unter Verwendung der AWS CLI

Verwenden Sie AWS Command Line Interface (AWS CLI), um Load Balancer und Zielgruppen anzuhängen, zu trennen und zu beschreiben, Elastic Load Balancing Health Checks hinzuzufügen und zu entfernen und zu ändern, welche Availability Zones aktiviert sind.

Dieses Thema zeigt Beispiele für AWS CLI Befehle, die allgemeine Aufgaben für Amazon EC2 Auto Scaling ausführen.

Wichtig

Weitere Befehlsbeispiele finden Sie unter aws elbv2 und aws elb in der AWS CLI -Befehlsreferenz.

Hängen Sie Ihre Zielgruppe oder Ihren Classic Load Balancer an.

Verwenden Sie den folgenden create-auto-scaling-groupBefehl, um eine Auto Scaling Scaling-Gruppe zu erstellen und gleichzeitig eine Zielgruppe anzuhängen, indem Sie ihren Amazon-Ressourcennamen (ARN) angeben. Die Zielgruppe kann einem Application Load Balancer, einem Network Load Balancer oder einem Gateway Load Balancer zugeordnet werden.

Ersetzen Sie die Beispielwerte für --auto-scaling-group-name, --vpc-zone-identifier, --min-size und --max-size. Ersetzen Sie für die Option --launch-template my-launch-template und 1 durch den Namen und die Version einer Startvorlage für Ihre Auto-Scaling-Gruppe. Ersetzen Sie für die --traffic-sources Option das Beispiel ARN durch das ARN einer Zielgruppe für einen Application Load Balancer, Network Load Balancer oder 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"

Verwenden Sie den attach-traffic-sourcesBefehl, um der Auto Scaling Scaling-Gruppe weitere Zielgruppen hinzuzufügen, nachdem sie erstellt wurde.

Mit dem folgenden Befehl fügen Sie derselben Gruppe eine weitere Zielgruppe hinzu.

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

Um Ihrer Gruppe einen Classic Load Balancer hinzuzufügen, geben Sie alternativ die Optionen --traffic-sources und --type an, wenn Sie create-auto-scaling-group oder attach-traffic-sources verwenden, wie im folgenden Beispiel. Ersetzen Sie my-classic-load-balancer durch den Namen eines Classic Load Balancer. Geben Sie für die Option --type einen Wert von elb an.

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

Beschreiben Sie Ihre Zielgruppen oder Classic Load Balancers.

Verwenden Sie den folgenden describe-traffic-sourcesBefehl, um die Load Balancer oder Zielgruppen zu beschreiben, die Ihrer Auto Scaling Scaling-Gruppe zugeordnet sind. Ersetzen Sie my-asg durch den Namen Ihrer Gruppe.

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

Das Beispiel gibt die ARN Elastic Load Balancing Balancing-Zielgruppen zurück, die Sie der Auto Scaling Scaling-Gruppe zugeordnet haben.

{ "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" } ] }

Eine Erklärung des State-Felds in der Ausgabe finden Sie unterÜberprüfen des Anhangsstatus Ihres Load Balancers.

Hinzufügen von Elastic Load Balancing-Zustandsprüfungen

Um Elastic Load Balancing Health Checks zu den Integritätsprüfungen hinzuzufügen, die Ihre Auto Scaling Scaling-Gruppe an Instances durchführt, verwenden Sie den folgenden update-auto-scaling-groupBefehl und geben Sie ELB als Wert für die --health-check-type Option an. Ersetzen Sie my-asg durch den Namen Ihrer Gruppe.

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

Neue Instances benötigen oft Zeit für eine kurze Aufwärmphase, bevor sie eine Zustandsprüfung bestehen können. Wenn die Übergangszeit nicht ausreichend Aufwärmzeit bietet, scheinen die Instances möglicherweise nicht bereit zu sein, Traffic zu verarbeiten. Amazon EC2 Auto Scaling betrachtet diese Instances möglicherweise als fehlerhaft und ersetzt sie.

Verwenden Sie zum Aktualisieren der Frist für die Zustandsprüfung die Option --health-check-grace-period, wenn Sie update-auto-scaling-group verwenden, wie im folgenden Beispiel. 300Ersetzen Sie es durch die Anzahl der Sekunden, um neue Instances in Betrieb zu halten, bevor sie beendet werden, wenn sie sich als fehlerhaft herausstellen.

--health-check-grace-period 300

Weitere Informationen finden Sie unter Zustandsprüfungen für Instances in einer Auto-Scaling-Gruppe.

Ändern Ihrer Availability Zones

Für das Ändern Ihrer Availability Zones gelten einige Einschränkungen, die Sie kennen sollten. Weitere Informationen finden Sie unter Fügen Sie eine Availability Zone hinzu.

So ändern Sie die Availability Zones für einen Application Load Balancer oder Network Load Balancer
  1. Bevor Sie die Availability Zones des Load Balancers ändern, empfiehlt es sich, zunächst die Availability Zones der Auto-Scaling-Gruppe zu aktualisieren, um sicherzustellen, dass Ihre Instance-Typen in den angegebenen Zonen verfügbar sind.

    Verwenden Sie den folgenden update-auto-scaling-groupBefehl, um die Availability Zones für Ihre Auto Scaling Scaling-Gruppe zu aktualisieren. Ersetzen Sie das Beispielsubnetz IDs durch das IDs der Subnetze in den Availability Zones, die aktiviert werden sollen. Die angegebenen Subnetze ersetzen die zuvor aktivierten Subnetze. Ersetzen Sie my-asg durch den Namen Ihrer Gruppe.

    aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --vpc-zone-identifier "subnet-41767929,subnet-cb663da2,subnet-8360a9e7"
  2. Verwenden Sie den folgenden describe-auto-scaling-groupsBefehl, um zu überprüfen, ob die Instances in den neuen Subnetzen gestartet wurden. Wenn die Instances gestartet wurden, wird eine Liste der Instances und deren Status angezeigt. Ersetzen Sie my-asg durch den Namen Ihrer Gruppe.

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg
  3. Verwenden Sie den folgenden Befehl set-subnets, um die Subnetze für Ihren Load Balancer anzugeben. Ersetzen Sie das Beispielsubnetz IDs durch das IDs der Subnetze in den Availability Zones, um es zu aktivieren. Sie können nur ein Subnetz pro Availability Zone angeben. Die angegebenen Subnetze ersetzen die zuvor aktivierten Subnetze. Ersetzen Sie es my-lb-arn durch das ARN Ihres Load Balancers.

    aws elbv2 set-subnets --load-balancer-arn my-lb-arn \ --subnets subnet-41767929 subnet-cb663da2 subnet-8360a9e7
Ändern der Availability Zones für einen Classic Load Balancer
  1. Bevor Sie die Availability Zones des Load Balancers ändern, empfiehlt es sich, zunächst die Availability Zones der Auto-Scaling-Gruppe zu aktualisieren, um sicherzustellen, dass Ihre Instance-Typen in den angegebenen Zonen verfügbar sind.

    Verwenden Sie den folgenden update-auto-scaling-groupBefehl, um die Availability Zones für Ihre Auto Scaling Scaling-Gruppe zu aktualisieren. Ersetzen Sie das Beispielsubnetz IDs durch das IDs der Subnetze in den Availability Zones, die aktiviert werden sollen. Die angegebenen Subnetze ersetzen die zuvor aktivierten Subnetze. Ersetzen Sie my-asg durch den Namen Ihrer Gruppe.

    aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --vpc-zone-identifier "subnet-41767929,subnet-cb663da2"
  2. Verwenden Sie den folgenden describe-auto-scaling-groupsBefehl, um zu überprüfen, ob die Instances in den neuen Subnetzen gestartet wurden. Wenn die Instances gestartet wurden, wird eine Liste der Instances und deren Status angezeigt. Ersetzen Sie my-asg durch den Namen Ihrer Gruppe.

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg
  3. Verwenden Sie den folgenden Befehl attach-load-balancer-to-subnets, um eine neue Availability Zone für Ihren Classic Load Balancer zu aktivieren. Ersetzen Sie zum Aktivieren die Beispiel-Subnetz-ID durch die ID des Subnetzes für die Availability Zone. Ersetzen Sie my-lb durch den Namen Ihres Load Balancers.

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

    Verwenden Sie den folgenden detach-load-balancer-from Befehl -subnets, um eine Availability Zone zu deaktivieren. Ersetzen Sie zum Deaktivieren die Beispiel-Subnetz-ID durch die ID des Subnetzes für die Availability Zone. Ersetzen Sie my-lb durch den Namen Ihres Load Balancers.

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

Trennen Sie Ihre Zielgruppe oder Ihren Classic Load Balancer.

Der folgende detach-traffic-sourcesBefehl trennt eine Zielgruppe von Ihrer Auto Scaling Scaling-Gruppe, wenn Sie sie nicht mehr benötigen.

Ersetzen Sie für die Option --auto-scaling-group-name my-asg durch den Namen Ihrer Gruppe. Ersetzen Sie für die --traffic-sources Option das Beispiel ARN durch das ARN einer Zielgruppe für einen Application Load Balancer, Network Load Balancer oder 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"

Um einen Classic Load Balancer von Ihrer Gruppe zu trennen, geben Sie die Optionen --traffic-sources und --type an, wie im folgenden Beispiel. Ersetzen Sie my-classic-load-balancer durch den Namen eines Classic Load Balancer. Geben Sie für die Option --type einen Wert von elb an.

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

Entfernen von Elastic Load Balancing-Zustandsprüfungen

Um Elastic Load Balancing Health Checks aus Ihrer Auto Scaling Scaling-Gruppe zu entfernen, verwenden Sie den folgenden update-auto-scaling-groupBefehl und geben Sie EC2 als Wert für die --health-check-type Option an. Ersetzen Sie my-asg durch den Namen Ihrer Gruppe.

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

Weitere Informationen finden Sie unter Zustandsprüfungen für Instances in einer Auto-Scaling-Gruppe.

Legacybefehle

Die folgenden Beispiele zeigen, wie Sie ältere CLI Befehle verwenden können, um Load Balancer und Zielgruppen anzuhängen, zu trennen und zu beschreiben. Sie bleiben in diesem Dokument als Referenz für alle Kunden, die sie weiterhin verwenden möchten. Wir unterstützen weiterhin die alten CLI Befehle, empfehlen Ihnen jedoch, die neuen CLI Befehle „Verkehrsquellen“ zu verwenden, mit denen mehrere Datenverkehrsquellentypen angehängt und getrennt werden können. Sie können sowohl die CLI Legacy-Befehle als auch die CLI Befehle „Verkehrsquellen“ in derselben Auto Scaling Scaling-Gruppe verwenden.

Fügen Sie Ihre Zielgruppe wie folgt hinzu:

Der folgende create-auto-scaling-groupBefehl erstellt eine Auto Scaling Scaling-Gruppe mit einer angehängten Zielgruppe. Geben Sie den Amazon-Ressourcennamen (ARN) einer Zielgruppe für einen Application Load Balancer, Network Load Balancer oder Gateway Load Balancer an.

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

Mit dem folgenden Befehl attach-load-balancer-target-groups wird eine Zielgruppe an eine bestehende Auto Scaling Scaling-Gruppe angehängt.

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"
Anhängen Ihres Classic Load Balancers

Der folgende create-auto-scaling-groupBefehl erstellt eine Auto Scaling Scaling-Gruppe mit einem angeschlossenen 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

Der folgende attach-load-balancersBefehl fügt den angegebenen Classic Load Balancer einer vorhandenen Auto Scaling Scaling-Gruppe hinzu.

aws autoscaling attach-load-balancers --auto-scaling-group-name my-asg \ --load-balancer-names my-lb
Beschreiben von Zielgruppen

Verwenden Sie den Befehl -groups, um die Zielgruppen zu beschreiben, die describe-load-balancer-target einer Auto Scaling Scaling-Gruppe zugeordnet sind. Das folgende Beispiel listet die Zielgruppen für my-asg auf.

aws autoscaling describe-load-balancer-target-groups --auto-scaling-group-name my-asg
Beschreiben eines Classic Load Balancers

Verwenden Sie den describe-load-balancersBefehl, um die Classic Load Balancers zu beschreiben, die einer Auto Scaling Scaling-Gruppe zugeordnet sind. Das folgende Beispiel listet die Classic Load Balancers für auf. my-asg

aws autoscaling describe-load-balancers --auto-scaling-group-name my-asg
Trennen Sie eine Zielgruppe wie folgt:

Der folgende Befehl detach-load-balancer-target-groups trennt eine Zielgruppe von Ihrer Auto Scaling Scaling-Gruppe, wenn Sie sie nicht mehr benötigen.

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"
Trennen eines Classic Load Balancers

Mit dem folgenden detach-load-balancersBefehl wird ein Classic Load Balancer von Ihrer Auto Scaling Scaling-Gruppe getrennt, wenn Sie ihn nicht mehr benötigen.

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