Instances von Ihrer Auto Scaling Scaling-Gruppe trennen oder anhängen - 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.

Instances von Ihrer Auto Scaling Scaling-Gruppe trennen oder anhängen

Sie können Instances von Ihrer Auto Scaling Scaling-Gruppe trennen. Nachdem eine Instanz getrennt wurde, wird diese Instanz unabhängig und kann entweder eigenständig verwaltet oder an eine andere Auto Scaling Scaling-Gruppe angehängt werden, unabhängig von der ursprünglichen Gruppe, zu der sie gehörte. Dies kann beispielsweise nützlich sein, wenn Sie Tests mit vorhandenen Instances durchführen möchten, auf denen Ihre Anwendung bereits ausgeführt wird.

Dieses Thema enthält Anweisungen zum Trennen und Anhängen von Instanzen. Beim Anhängen von Instanzen können Sie statt einer getrennten Instanz auch eine bestehende Instanz verwenden.

Anstatt eine Instanz zu trennen und erneut derselben Gruppe zuzuordnen, empfehlen wir, das Standby-Verfahren zu verwenden, um die Instanz vorübergehend aus der Gruppe zu entfernen. Weitere Informationen finden Sie unter Vorübergehendes Entfernen von Instances aus einer Auto-Scaling-Gruppe.

Überlegungen zum Trennen von Instanzen

Beachten Sie beim Trennen von Instances die folgenden Punkte:

  • Sie können eine Instance nur trennen, wenn sie sich im InService Status befindet.

  • Nachdem Sie eine Instance getrennt haben, läuft sie weiter und es fallen Gebühren an. Um unnötige Gebühren zu vermeiden, sollten Sie getrennte Instances erneut anhängen oder beenden, wenn sie nicht mehr benötigt werden.

  • Sie können sich dafür entscheiden, die gewünschte Kapazität um die Anzahl der Instances zu verringern, die Sie trennen. Wenn Sie sich dafür entscheiden, die Kapazität nicht zu verringern, startet Amazon EC2 Auto Scaling neue Instances, um die getrennten Instanzen zu ersetzen, um die gewünschte Kapazität aufrechtzuerhalten.

  • Wenn die Anzahl der Instances, die Sie trennen, dazu führt, dass die Auto Scaling Scaling-Gruppe ihre Mindestkapazität unterschreitet, müssen Sie die Mindestkapazität verringern.

  • Wenn Sie mehrere Instances von derselben Availability Zone trennen, ohne die gewünschte Kapazität zu verringern, nimmt die Gruppe das Gleichgewicht von selbst wieder auf, sofern Sie den Vorgang nicht unterbrechen. AZRebalance Weitere Informationen finden Sie unter Amazon EC2 Auto Scaling Scaling-Prozesse aussetzen und fortsetzen.

  • Wird eine Instance von einer Auto-Scaling-Gruppe mit einer Load Balancer-Zielgruppe oder einem Classic Load Balancer entfernt, wird die Instance beim Load Balancer abgemeldet. Wenn der Verbindungsabbau (Verzögerung bei der Abmeldung) für Ihren Load Balancer aktiviert ist, wartet Amazon EC2 Auto Scaling auf den Abschluss laufender Anfragen.

Anmerkung

Seien Sie vorsichtig, wenn Sie Instances trennen, die sich im Standby-Zustand befinden. Der Versuch, Instances zu trennen, nachdem sie in den Standby-Zustand versetzt wurden, kann dazu führen, dass andere Instances unerwartet beendet werden.

Überlegungen zum Anhängen von Instances

Beachten Sie beim Anhängen von Instanzen Folgendes:

  • Amazon EC2 Auto Scaling behandelt angehängte Instances genauso wie Instances, die von der Gruppe selbst gestartet wurden. Das bedeutet, dass angehängte Instances bei Scale-In-Ereignissen beendet werden können, sofern sie ausgewählt werden. Die von der AWSServiceRoleForAutoScaling Eine servicebezogene Rolle ermöglicht Amazon EC2 Auto Scaling, dies zu tun.

  • Beim Hinzufügen von Instances erhöht sich die gewünschte Kapazität der Gruppe um die Anzahl der Instances, die hinzugefügt werden. Wenn die gewünschte Kapazität nach dem Hinzufügen der neuen Instances die maximale Gruppengröße überschreitet, schlägt die Anforderung zum Anhängen weiterer Instances fehl.

  • Wenn Sie Instances zu Ihrer Gruppe hinzufügen, was zu einer ungleichmäßigen Verteilung auf die Availability Zones führt, gleicht Amazon EC2 Auto Scaling die Gruppe neu aus, um eine gleichmäßige Verteilung wiederherzustellen, sofern Sie den AZRebalance Vorgang nicht unterbrechen. Weitere Informationen finden Sie unter Amazon EC2 Auto Scaling Scaling-Prozesse aussetzen und fortsetzen.

  • Wird einer Auto-Scaling-Gruppe mit einer Load Balancer-Zielgruppe oder einem Classic Load Balancer eine Instance hinzugefügt, wird die Instance beim Load Balancer registriert.

Eine zuzuweisende Instance muss die folgenden Kriterien erfüllen:

  • Die Instanz befindet sich im running Bundesstaat AmazonEC2.

  • Die AMI zum Starten der Instance verwendete Datei muss noch vorhanden sein.

  • Die Instance gehört keiner anderen Auto-Scaling-Gruppe an.

  • Die Instance wird in einer der Availability Zones gestartet, die in der Auto Scaling Scaling-Gruppe definiert sind.

  • Wenn der Auto Scaling Scaling-Gruppe eine Load Balancer-Zielgruppe oder Classic Load Balancer zugeordnet ist, müssen sich die Instance und der Load Balancer beide in derselben Gruppe befinden. VPC

Verschieben Sie eine Instance mithilfe von Trennen und Anhängen in eine andere Gruppe

Verwenden Sie eines der folgenden Verfahren, um eine Instance von Ihrer Auto Scaling Scaling-Gruppe zu trennen und sie einer anderen Auto Scaling-Gruppe zuzuordnen.

Informationen zum Erstellen einer neuen Auto Scaling Scaling-Gruppe aus einer getrennten Instance finden Sie unter Eine Auto-Scaling-Gruppe unter Verwendung von Parametern einer bestehenden Instance erstellen (nicht empfohlen, erstellt eine Startkonfiguration).

Console
So trennen Sie eine Instance von einer Auto Scaling Scaling-Gruppe
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/und wählen Sie im Navigationsbereich Auto Scaling Groups aus.

  2. Aktivieren Sie das Kontrollkästchen neben Ihrer Auto-Scaling-Gruppe.

    Im unteren Teil der Seite wird ein geteilter Bereich geöffnet.

  3. Wählen Sie auf der Registerkarte Instance Management (Instance-Verwaltung) unter Instances eine Instance aus, und wählen Sie Actions (Aktionen), Detach (Trennen).

  4. Lassen Sie im Dialogfeld Instanz trennen das Kontrollkästchen Instance ersetzen aktiviert, um eine Ersatz-Instance zu starten. Deaktivieren Sie dieses Kontrollkästchen, um die gewünschte Kapazität zu verringern.

  5. Wenn Sie zur Bestätigung aufgefordert werden, geben Sie detach ein, um das Entfernen der angegebenen Instance aus der Auto-Scaling-Gruppe zu bestätigen. Wählen Sie dann Instance trennen aus.

Sie können die Instance jetzt einer anderen Auto Scaling Scaling-Gruppe zuordnen.

So fügen Sie eine Instance zu einer Auto-Scaling-Gruppe hinzu
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. (Optional) Wählen Sie im Navigationsbereich unter Auto Scaling die Option Auto Scaling Groups (Auto-Scaling-Gruppen) aus. Wählen Sie die Auto-Scaling-Gruppe aus und stellen Sie sicher, dass die Höchstgröße der Auto-Scaling-Gruppe ausreicht, um eine weitere Instance hinzuzufügen. Erhöhen Sie andernfalls auf der Registerkarte Details die maximale Kapazität.

  3. Wählen Sie im Navigationsbereich unter Instances die Option Instances und dann eine Instance aus.

  4. Wählen Sie Actions, Instance Settings und Attach to Auto Scaling Group aus.

  5. Geben Sie auf der Seite Attach to Auto Scaling Group (An Auto-Scaling-Gruppe anhängen) für Auto Scaling group einen Namen für die Gruppe ein und wählen Sie anschließend Attach (Anhängen) aus.

  6. Wenn die Instance die Kriterien nicht erfüllt, wird eine Fehlermeldung mit entsprechenden Details ausgegeben. Zum Beispiel befindet sich die Instance möglicherweise nicht in derselben Availability Zone wie die Auto-Scaling-Gruppe. Wählen Sie Schließen und versuchen Sie es erneut mit einer Auto Scaling Scaling-Gruppe, die die Kriterien erfüllt.

AWS CLI

Verwenden Sie die folgenden Beispielbefehle, um eine Instanz zu trennen und anzuhängen. Ersetzen Sie jeden user input placeholder mit Ihren eigenen Informationen.

So trennen Sie eine Instance von einer Auto Scaling Scaling-Gruppe
  1. Verwenden Sie den folgenden describe-auto-scaling-instancesBefehl, um die aktuellen Instanzen zu beschreiben.

    aws autoscaling describe-auto-scaling-instances \ --query 'AutoScalingInstances[?AutoScalingGroupName==`my-asg`]'

    Das folgende Beispiel zeigt die Ausgabe, die erzeugt wird, wenn Sie diesen Befehl ausführen.

    Notieren Sie sich die ID der Instanz, die Sie aus der Gruppe entfernen möchten. Sie benötigen diese ID im nächsten Schritt.

    { "AutoScalingInstances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "InstanceType": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "InstanceType": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0787762faf1c28619", "InstanceType": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0f280a4c58d319a8a", "InstanceType": "t3.micro", "AutoScalingGroupName": "my-asg", "HealthStatus": "HEALTHY", "LifecycleState": "InService" } ] }
  2. Verwenden Sie den folgenden Befehl detach-instances, um eine Instance zu trennen, ohne die gewünschte Kapazität zu verringern.

    aws autoscaling detach-instances --instance-ids i-05b4f7d5be44822a6 \ --auto-scaling-group-name my-asg

    Um eine Instance zu trennen und die gewünschte Kapazität zu verringern, fügen Sie die Option hinzu. --should-decrement-desired-capacity

    aws autoscaling detach-instances --instance-ids i-05b4f7d5be44822a6 \ --auto-scaling-group-name my-asg --should-decrement-desired-capacity

Sie können die Instance jetzt einer anderen Auto Scaling Scaling-Gruppe zuordnen.

So fügen Sie eine Instance zu einer Auto-Scaling-Gruppe hinzu
  1. Verwenden Sie den folgenden Befehl attach-instances, um die Instance an eine andere Auto Scaling Scaling-Gruppe anzuhängen.

    aws autoscaling attach-instances --instance-ids i-05b4f7d5be44822a6 --auto-scaling-group-name my-asg-for-testing
  2. Verwenden Sie den folgenden describe-auto-scaling-groupsBefehl, um die Größe der Auto Scaling Scaling-Gruppe nach dem Anhängen einer Instance zu überprüfen.

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names my-asg-for-testing

    Die folgende Beispielantwort zeigt, dass die Gruppe über zwei laufende Instances verfügt, von denen eine die Instance ist, die Sie angehängt haben.

    { "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg-for-testing", "AutoScalingGroupARN": "arn", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "2", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "MinSize": 1, "MaxSize": 5, "DesiredCapacity": 2, ... "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "2", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-00dcdfffdf5175890", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], ... } ] }