Die Skalierung von Application Auto Scaling unterbrechen und wiederaufnehmen - Application 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.

Die Skalierung von Application Auto Scaling unterbrechen und wiederaufnehmen

In diesem Thema wird erläutert, wie Sie mindestens eine der Skalierungsaktivitäten für die skalierbare Ziele in Ihrer Anwendung anhalten und anschließend wieder fortsetzen. Die Funktion zum Aus- und Fortsetzen wird zum vorübergehenden Anhalten von Skalierungsaktivitäten verwendet, die von Ihren Skalierungsrichtlinien und geplanten Aktionen ausgelöst wurden. Dies kann beispielsweise nützlich sein, wenn die automatische Skalierung Sie nicht beim Ausführen von Änderungen oder Untersuchen von Konfigurationsproblemen unterbrechen soll. Ihre Skalierungsrichtlinien und geplanten Aktionen werden beibehalten und die Skalierungsaktivitäten werden fortgesetzt werden, wenn Sie bereit sind.

In den folgenden CLI-Beispielbefehlen übergeben Sie die JSON-formatierten Parameter in einer config.json-Datei. Sie können diese Parameter auch in der Befehlszeile übergeben, indem Sie die JSON-Datenstruktur in Anführungszeichen einschließen. Weitere Informationen finden Sie unter Verwendung von Anführungszeichen bei Zeichenketten im AWS CLI in the AWS Command Line Interface User Guide.

Anmerkung

Anweisungen zum Aussetzen von Scale-Out-Prozessen während laufender Amazon ECS-Bereitstellungen finden Sie in der folgenden Dokumentation:

auto Skalierung und Bereitstellungen von Services im Amazon Elastic Container Service Developer Guide

Skalierung von Aktivitäten

Application Auto Scaling unterstützt die Aussetzung der folgenden Skalierungsaktivitäten:

  • Alle Skalierungsaktivitäten nach unten, die von einer Skalierungsrichtlinie ausgelöst werden.

  • Alle Skalierungsaktivitäten nach oben, die von einer Skalierungsrichtlinie ausgelöst werden.

  • Alle Skalierungen, die geplante Aktionen umfassen.

In den folgenden Beschreibungen wird erläutert, was passiert, wenn einzelne Skalierungen ausgesetzt werden. Jede davon kann unabhängig voneinander ausgesetzt und fortgesetzt werden. Je nach Grund für das Aussetzen einer Skalierungsaktivität müssen Sie möglicherweise mehrere Skalierungsaktivitäten zusammen aussetzen.

DynamicScalingInSuspended

  • Application Auto Scaling entfernt keine Kapazität, wenn eine Zielverfolgungs-Skalierungsrichtlinie oder eine Stufenskalierungsrichtlinie ausgelöst wird. Auf diese Weise können Sie Skalierungsaktivitäten nach unten im Zusammenhang mit Skalierungsrichtlinien vorübergehend deaktivieren, ohne die Skalierungsrichtlinien oder die zugehörigen CloudWatch -Alarme löschen zu müssen. Wenn Sie die Skalierung wieder aufnehmen, bewertet Application Auto Scaling Richtlinien mit Alarmschwellenwerten, die derzeit verletzt werden.

DynamicScalingOutSuspended

  • Application Auto Scaling fügt keine Kapazität hinzu, wenn eine Zielverfolgungs-Skalierungsrichtlinie oder eine Stufenskalierungsrichtlinie ausgelöst wird. Auf diese Weise können Sie horizontale Skalierungsaktivitäten nach oben im Zusammenhang mit Skalierungsrichtlinien vorübergehend deaktivieren, ohne die Skalierungsrichtlinien oder die zugehörigen CloudWatch -Alarme löschen zu müssen. Wenn Sie die Skalierung wieder aufnehmen, bewertet Application Auto Scaling Richtlinien mit Alarmschwellenwerten, die derzeit verletzt werden.

ScheduledScalingSuspended

  • Application Auto Scaling initiiert nicht die Skalierungsaktionen, die für den Zeitraum der Aussetzung geplant sind. Wenn Sie die geplante Skalierung wieder aufnehmen, wertet Application Auto Scaling nur die geplanten Aktionen aus, deren Ausführungszeit noch nicht abgelaufen ist.

Skalierungsaktivitäten aussetzen und wieder aufnehmen

Sie können einzelne Skalierungsaktivitäten oder alle Skalierungsaktivitäten für Ihr skalierbares Ziel von Application Auto Scaling aussetzen und wieder aufnehmen.

Anmerkung

Der Kürze halber wird in diesen Beispielen gezeigt, wie die Skalierung für eine DynamoDB-Tabelle ausgesetzt und wieder aufgenommen wird. Um ein anderes skalierbares Ziel anzugeben, geben Sie seinen Namespace in --service-namespace, seine skalierbare Dimension in --scalable-dimension und seine Ressourcen-ID in --resource-id an. Weitere Informationen und Beispiele für die einzelnen Services finden Sie in den Themen unter AWS-Services die Sie mit Application Auto Scaling verwenden können.

So setzen Sie eine Skalierung aus

Öffnen Sie ein Befehlszeilenfenster und verwenden Sie den register-scalable-target-Befehl mit der --suspended-state-Option wie folgt.

Linux, macOS oder Unix

aws application-autoscaling register-scalable-target --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table \ --suspended-state file://config.json

Windows

aws application-autoscaling register-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table --suspended-state file://config.json

Bei Erfolg gibt dieser Befehl den ARN des skalierbaren Ziels zurück.

{ "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }

Wenn Sie nur horizontale Skalierungsaktivitäten nach unten aussetzen möchten, die von einer Skalierungsrichtlinie, ausgelöst werden, geben Sie Folgendes in der config.json-Datei an.

{ "DynamicScalingInSuspended":true }

Wenn Sie nur horizontale Skalierungsaktivitäten nach oben aussetzen möchten, die von einer Skalierungsrichtlinie, ausgelöst werden, geben Sie in der config.json-Datei Folgendes an.

{ "DynamicScalingOutSuspended":true }

Wenn Sie nur Skalierungen aussetzen möchten, die geplante Aktionen umfassen, geben Sie in der config.json-Datei Folgendes an.

{ "ScheduledScalingSuspended":true }
So setzen Sie alle Skalierungen aus

Verwenden Sie den register-scalable-targetBefehl mit der --suspended-state Option wie folgt.

Linux, macOS oder Unix

aws application-autoscaling register-scalable-target --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table \ --suspended-state file://config.json

Windows

aws application-autoscaling register-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table --suspended-state file://config.json

In diesem Beispiel wird davon ausgegangen, dass die config.json-Datei die folgenden JSON-formatierten Parameter enthält.

{ "DynamicScalingInSuspended":true, "DynamicScalingOutSuspended":true, "ScheduledScalingSuspended":true }

Bei Erfolg gibt dieser Befehl den ARN des skalierbaren Ziels zurück.

{ "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }

Ausgesetzte Skalierungsaktivitäten anzeigen

Mit dem describe-scalable-targets-Befehl können Sie für ein skalierbares Ziel bestimmen, welche Skalierungen sich in einem ausgesetzten Zustand befinden.

Linux, macOS oder Unix

aws application-autoscaling describe-scalable-targets --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table

Windows

aws application-autoscaling describe-scalable-targets --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table

Es folgt eine Beispielausgabe.

{ "ScalableTargets": [ { "ServiceNamespace": "dynamodb", "ScalableDimension": "dynamodb:table:ReadCapacityUnits", "ResourceId": "table/my-table", "MinCapacity": 1, "MaxCapacity": 20, "SuspendedState": { "DynamicScalingOutSuspended": true, "DynamicScalingInSuspended": true, "ScheduledScalingSuspended": true }, "CreationTime": 1558125758.957, "RoleARN": "arn:aws:iam::123456789012:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable" } ] }

Wiederaufnahme der Skalierungsaktivitäten

Wenn die Skalierungsaktivität fortgesetzt werden kann, ist dies mit dem register-scalable-target-Befehl möglich.

Mit dem folgenden Beispielbefehl werden alle Skalierungen für das angegebene skalierbare Ziel fortgesetzt.

Linux, macOS oder Unix

aws application-autoscaling register-scalable-target --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table \ --suspended-state file://config.json

Windows

aws application-autoscaling register-scalable-target --service-namespace dynamodb --scalable-dimension dynamodb:table:ReadCapacityUnits --resource-id table/my-table --suspended-state file://config.json

In diesem Beispiel wird davon ausgegangen, dass die config.json-Datei die folgenden JSON-formatierten Parameter enthält.

{ "DynamicScalingInSuspended":false, "DynamicScalingOutSuspended":false, "ScheduledScalingSuspended":false }

Bei Erfolg gibt dieser Befehl den ARN des skalierbaren Ziels zurück.

{ "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }