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.
Trennen Sie Instances von Ihrer Auto Scaling-Gruppe oder fügen Sie sie hinzu
Sie können Instances von Ihrer Auto Scaling-Gruppe trennen. Nachdem eine Instanz getrennt wurde, wird diese Instanz unabhängig und kann entweder eigenständig verwaltet oder einer anderen Auto Scaling-Gruppe zugeordnet 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 auch eine vorhandene Instanz anstelle einer getrennten 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:
-
Du kannst eine Instanz trennen, wenn sie sich in der InService oder Standby Bundesstaat oder in einem beibehaltenen Zustand. Instanzen im Status „Beibehalten“ können nur getrennt werden, wenn Sie die gewünschte Kapazität (Set) nicht verringern ShouldDecrementDesiredCapacity zu false).
-
Seien Sie vorsichtig, wenn Sie Instances trennen, die sich im Standby-Zustand befinden. Einschließlich der ShouldDecrementDesiredCapacity Flag im API-Aufruf, wenn versucht wird, Instanzen zu trennen, nachdem sie in das Standby Der Status kann dazu führen, dass andere Instanzen unerwartet beendet werden.
-
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 sicherstellen, dass Sie getrennte Instances erneut verbinden 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-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, gleicht sich die Gruppe von selbst aus, sofern Sie die AZRebalance verarbeiten. Weitere Informationen finden Sie unter Amazon EC2 Auto Scaling-Prozesse aussetzen und wieder aufnehmen.
-
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 Connection Draining (Abmeldeverzögerung) für Ihren Load Balancer aktiviert ist, wartet Amazon EC2 Auto Scaling auf den Abschluss von eingehenden Anforderungen.
Überlegungen zum Anhängen von Instanzen
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, wenn sie ausgewählt werden. Die von der erteilten Berechtigungen AWSServiceRoleForAutoScaling Die serviceverknüpfte 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 Größe der Gruppe überschreitet, schlägt die Anforderung, weitere Instances anzuhängen, fehl.
-
Wenn Sie Ihrer Gruppe Instances hinzufügen, was zu einer ungleichmäßigen Verteilung über die Availability Zones führt, gleicht Amazon EC2 Auto Scaling die Gruppe neu aus, um eine gleichmäßige Verteilung wiederherzustellen, sofern Sie die AZRebalance verarbeiten. Weitere Informationen finden Sie unter Amazon EC2 Auto Scaling-Prozesse aussetzen und wieder aufnehmen.
-
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 Instance befindet sich bei Amazon EC2 im Zustand running.
-
Das AMI zum Starten der Instance ist noch vorhanden.
-
Die Instance gehört keiner anderen Auto-Scaling-Gruppe an.
-
Die Instance wird in einer der Availability Zones gestartet, die in der Auto Scaling-Gruppe definiert sind.
-
Wenn die Auto-Scaling-Gruppe über eine angefügte Load-Balancer-Zielgruppe oder einen Classic Load Balancer verfügt, müssen sich sowohl die Instance als auch der Load Balancer in derselben VPC befinden.
Verschieben Sie eine Instance mithilfe von Detach und Attach in eine andere Gruppe
Verwenden Sie eines der folgenden Verfahren, um eine Instance von Ihrer Auto Scaling-Gruppe zu trennen und sie einer anderen Auto Scaling-Gruppe zuzuordnen.
Informationen zum Erstellen einer neuen Auto Scaling-Gruppe aus einer getrennten Instance finden Sie unter Erstellen Sie eine Auto Scaling Scaling-Gruppe aus einer vorhandenen Instanz mit dem AWS CLI (nicht empfohlen, erstellt eine Startkonfiguration).
- Console
-
So trennen Sie eine Instance von einer Auto-Scaling-Gruppe
Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/, und wählen Sie Auto Scaling-Gruppen aus dem Navigationsbereich.
-
Aktivieren Sie das Kontrollkästchen neben Ihrer Auto-Scaling-Gruppe.
Im unteren Teil der Seite wird ein geteilter Bereich geöffnet.
-
Wählen Sie auf der Registerkarte Instance Management (Instance-Verwaltung) unter Instances eine Instance aus, und wählen Sie Actions (Aktionen), Detach (Trennen).
-
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.
-
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-Gruppe zuordnen.
So fügen Sie einer Auto-Scaling-Gruppe eine Instance hinzu
Öffnen Sie die Amazon-EC2-Konsole unter https://console.aws.amazon.com/ec2/.
-
(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.
-
Wählen Sie im Navigationsbereich unter Instances die Option Instances und dann eine Instance aus.
-
Wählen Sie Actions, Instance Settings und Attach to Auto Scaling Group aus.
-
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.
-
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 Schliessen und versuchen Sie es erneut mit einer Auto 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 durch Ihre Informationen.
So trennen Sie eine Instance von einer Auto-Scaling-Gruppe
-
Verwenden Sie Folgendes, um die aktuellen Instanzen zu beschreiben Beschreiben Sie automatisch skalierende Instanzen Befehl.
aws autoscaling describe-auto-scaling-instances \
--query 'AutoScalingInstances[?AutoScalingGroupName==`my-asg`]'
Das folgende Beispiel zeigt die Ausgabe, die beim Ausführen dieses Befehls erzeugt wird.
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"
}
]
}
-
Gehen Sie wie folgt vor, um eine Instance zu trennen, ohne die gewünschte Kapazität zu verringern Instanzen trennen Befehl.
aws autoscaling detach-instances --instance-ids i-05b4f7d5be44822a6 \
--auto-scaling-group-name my-asg
Um eine Instanz zu trennen und die gewünschte Kapazität zu verringern, fügen Sie den --should-decrement-desired-capacity Option.
aws autoscaling detach-instances --instance-ids i-05b4f7d5be44822a6 \
--auto-scaling-group-name my-asg --should-decrement-desired-capacity
Sie können die Instanz jetzt einer anderen Auto Scaling-Gruppe zuordnen.
So fügen Sie einer Auto-Scaling-Gruppe eine Instance hinzu
-
Verwenden Sie Folgendes, um die Instance einer anderen Auto Scaling-Gruppe zuzuordnen Instanzen anhängen Befehl.
aws autoscaling attach-instances --instance-ids i-05b4f7d5be44822a6 --auto-scaling-group-name my-asg-for-testing
-
Verwenden Sie Folgendes, um die Größe der Auto Scaling-Gruppe nach dem Anhängen einer Instance zu überprüfen Beschreiben Sie Autoscaling-Gruppen Befehl.
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"
}
],
...
}
]
}