Verwalten von Amazon Keyspaces-Skalierungsrichtlinien mit der CLI - Amazon Keyspaces (für Apache Cassandra)

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.

Verwalten von Amazon Keyspaces-Skalierungsrichtlinien mit der CLI

Um die Auto-Scaling-Einstellungen von Amazon Keyspaces programmgesteuert zu aktualisieren und zu verwalten, können Sie die AWS Command Line Interface (AWS CLI) oder die AWS -API verwenden. Informationen zum Verwalten von Auto-Scaling-Richtlinien für Amazon Keyspaces mit Cassandra Query Language (CQL) finden Sie unter Verwalten von Amazon Keyspaces Auto Scaling mit Cassandra Query Language (CQL). Dieses Thema bietet einen Überblick über die Auto-Scaling-Aufgaben, die Sie programmgesteuert mithilfe der verwalten können AWS CLI.

Weitere Informationen zu den in diesem Thema beschriebenen Amazon Keyspaces- AWS CLI Befehlen finden Sie in der -AWS CLI Befehlsreferenz.

Bevor Sie beginnen

Sie müssen die folgenden Aufgaben ausführen, bevor Sie beginnen können.

Konfigurieren von Berechtigungen

Wenn Sie dies noch nicht getan haben, müssen Sie die entsprechenden Berechtigungen für den Benutzer konfigurieren, um Auto-Scaling-Einstellungen zu erstellen und zu verwalten. In AWS Identity and Access Management (IAM) AmazonKeyspacesFullAccess ist die - AWS verwaltete Richtlinie erforderlich, um Amazon Keyspaces-Skalierungsrichtlinien zu verwalten. Die detaillierten Schritte finden Sie unter Bevor Sie beginnen: Erteilen von Benutzerberechtigungen für Amazon Keyspaces Auto Scaling.

AWS CLI installieren

Wenn Sie es noch nicht getan haben, müssen Sie AWS CLI installieren und konfigurieren. Gehen Sie dazu zum AWS Command Line Interface -Benutzerhandbuch und folgen Sie diesen Anweisungen:

Erstellen einer neuen Tabelle mit automatischer Skalierung mithilfe der AWS CLI

Wenn Sie eine neue Amazon Keyspaces-Tabelle erstellen, können Sie die automatische Skalierung für die Schreib- oder Lesekapazität der Tabelle in der -CreateTableOperation automatisch aktivieren. Auf diese Weise kann Amazon Keyspaces Application Auto Scaling in Ihrem Namen kontaktieren, um die Tabelle zu registrieren, die Sie als skalierbares Ziel angeben, und die bereitgestellte Schreib- oder Lesekapazität anpassen.

Weitere Informationen zum Erstellen einer multiregionalen Tabelle mit Auto-Scaling-Konfiguration finden Sie unter Erstellen einer neuen multiregionalen Tabelle im Bereitstellungsmodus mit Auto Scaling (CLI).

Anmerkung

Amazon Keyspaces Auto Scaling erfordert das Vorhandensein einer serviceverknüpften Rolle (AWSServiceRoleForApplicationAutoScaling_CassandraTable), um automatische Skalierungsaktionen in Ihrem Namen durchzuführen. Diese Rolle wird automatisch für Sie erstellt. Weitere Informationen finden Sie unter Verwenden von serviceverknüpften Rollen für Amazon Keyspaces.

Um Auto-Scaling-Einstellungen für eine Tabelle programmgesteuert zu konfigurieren, verwenden Sie die -autoScalingSpecificationAktion, die die Parameter für Amazon Keyspaces Auto Scaling definiert. Die Parameter definieren die Bedingungen, die Amazon Keyspaces anweisen, den bereitgestellten Durchsatz Ihrer Tabelle anzupassen, und welche zusätzlichen optionalen Aktionen ausgeführt werden sollen. In diesem Beispiel definieren Sie die Auto-Scaling-Einstellungen für mytable .

Die Richtlinie enthält die folgenden Elemente:

  • autoScalingSpecification – Gibt an, ob Amazon Keyspaces den Kapazitätsdurchsatz in Ihrem Namen anpassen darf. Sie können Auto Scaling für Lese- und Schreibkapazität separat aktivieren. Anschließend müssen Sie die folgenden Parameter für angebenautoScalingSpecification:

    • writeCapacityAutoScaling – Die maximale und minimale Schreibkapazitätseinheiten.

    • readCapacityAutoScaling – Die maximale und minimale Lesekapazitätseinheiten.

    • scalingPolicy – Amazon Keyspaces unterstützt die Zielverfolgungsrichtlinie. Um die Richtlinie für die Ziel-Nachverfolgung zu definieren, konfigurieren Sie die folgenden Parameter.

      • targetValue – Amazon Keyspaces Auto Scaling stellt sicher, dass das Verhältnis von verbrauchter Kapazität zu bereitgestellter Kapazität bei oder nahe diesem Wert bleibt. Sie definieren targetValue als Prozentsatz.

      • disableScaleIn: (Optional) Ein boolean, der angibt, ob für die Tabelle deaktiviert oder aktiviert scale-in ist. Dieser Parameter ist standardmäßig deaktiviert. Um zu aktivierenscale-in, setzen Sie den boolean Wert auf FALSE. Das bedeutet, dass die Kapazität für eine Tabelle in Ihrem Namen automatisch herunterskaliert wird.

      • scaleOutCooldown – Eine Scale-Out-Aktivität erhöht den bereitgestellten Durchsatz Ihrer Tabelle. Um eine Ruhephase für Scale-Out-Aktivitäten hinzuzufügen, geben Sie einen Wert in Sekunden für anScaleOutCooldown. Der Standardwert lautet 0. Weitere Informationen zur Ziel-Nachverfolgung und Ruhephasen finden Sie unter Skalierungsrichtlinien für die Ziel-Nachverfolgung im Benutzerhandbuch für Application Auto Scaling.

      • scaleInCooldown – Eine Scale-In-Aktivität verringert den bereitgestellten Durchsatz Ihrer Tabelle. Um eine Ruhephase für Abskalierungsaktivitäten hinzuzufügen, geben Sie einen Wert in Sekunden für anScaleInCooldown. Der Standardwert lautet 0. Weitere Informationen zur Zielverfolgung und Ruhephasen finden Sie unter Skalierungsrichtlinien für die Zielverfolgung im Benutzerhandbuch für Application Auto Scaling.

Anmerkung

Um besser zu verstehen, wie der TargetValue funktioniert, nehmen Sie an, dass Sie über eine Tabelle mit einer Einstellung des bereitgestellten Durchsatzes von 200 Schreibkapazitätseinheiten verfügen. Sie entscheiden sich dafür, eine Skalierungsrichtlinie für diese Tabelle mit einem TargetValue von 70 % zu erstellen.

Angenommen, Sie beginnen den Schreibverkehr zu der Tabelle zu leiten, damit der tatsächliche Schreibdurchsatz bei 150 Kapazitätseinheiten liegt. Das consumed-to-provisioned Verhältnis ist jetzt (150/200) oder 75 Prozent. Dieses Verhältnis überschreitet Ihr Ziel, sodass Auto Scaling die bereitgestellte Schreibkapazität auf 215 erhöht, sodass das Verhältnis (150/215) oder 69,77 Prozent ist – so nahe TargetValue wie möglich an Ihrem , aber nicht darüber.

Für mytable legen Sie TargetValue für Lese- und Schreibkapazität auf 50 Prozent fest. Amazon Keyspaces Auto Scaling passt den bereitgestellten Durchsatz der Tabelle im Bereich von 5 bis 10 Kapazitätseinheiten an, sodass das consumed-to-provisioned Verhältnis bei oder nahe 50 Prozent bleibt. Für die Lesekapazität legen Sie die Werte für ScaleOutCooldown und ScaleInCooldown auf 60 Sekunden fest.

Beim Erstellen von Tabellen mit komplexen Auto-Scaling-Einstellungen ist es hilfreich, die Auto-Scaling-Einstellungen aus einer JSON-Datei zu laden. Im folgenden Beispiel können Sie die Beispiel-JSON-Datei von auto-scaling.zip herunterladen und extrahierenauto-scaling.json, wobei Sie den Pfad zur Datei notieren. In diesem Beispiel befindet sich die JSON-Datei im aktuellen Verzeichnis. Informationen zu verschiedenen Dateipfadoptionen finden Sie unter So laden Sie Parameter aus einer Datei .

aws keyspaces create-table --keyspace-name mykeyspace --table-name mytable \ --schema-definition 'allColumns=[{name=pk,type=int},{name=ck,type=int}],partitionKeys=[{name=pk},{name=ck}]' \ --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=1,writeCapacityUnits=1 \ --auto-scaling-specification file://auto-scaling.json

Aktivieren der automatischen Skalierung für eine vorhandene Tabelle mithilfe der AWS CLI

Für eine vorhandene Amazon Keyspaces-Tabelle können Sie mithilfe der -UpdateTableOperation die automatische Skalierung für die Schreib- oder Lesekapazität der Tabelle aktivieren. Weitere Informationen zum Aktualisieren der Auto-Scaling-Einstellungen für eine Tabelle mit mehreren Regionen finden Sie unter Aktualisieren der bereitgestellten Kapazität und Auto-Scaling-Einstellungen einer Tabelle mit mehreren Regionen (CLI).

Anmerkung

Die automatische Skalierung von Amazon Keyspaces erfordert das Vorhandensein einer serviceverknüpften Rolle (AWSServiceRoleForApplicationAutoScaling_CassandraTable), die automatische Skalierungsaktionen in Ihrem Namen durchführt. Diese Rolle wird automatisch für Sie erstellt. Weitere Informationen finden Sie unter Verwenden von serviceverknüpften Rollen für Amazon Keyspaces.

Sie können den folgenden Befehl verwenden, um die automatische Skalierung von Amazon Keyspaces für eine vorhandene Tabelle zu aktivieren. Die Auto-Scaling-Einstellungen für die Tabelle werden aus einer JSON-Datei geladen. Im folgenden Beispiel können Sie die Beispiel-JSON-Datei von auto-scaling.zip herunterladen und extrahierenauto-scaling.json, wobei Sie den Pfad zur Datei notieren. In diesem Beispiel befindet sich die JSON-Datei im aktuellen Verzeichnis. Informationen zu verschiedenen Dateipfadoptionen finden Sie unter So laden Sie Parameter aus einer Datei .

Weitere Informationen zu den im folgenden Beispiel verwendeten Auto-Scaling-Einstellungen finden Sie unter Erstellen einer neuen Tabelle mit automatischer Skalierung mithilfe der AWS CLI.

aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable \ --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=1,writeCapacityUnits=1 \ --auto-scaling-specification file://auto-scaling.json

Anzeigen der Auto-Scaling-Konfiguration von Amazon Keyspaces Ihrer Tabelle mithilfe der AWS CLI

Um die Auto-Scaling-Konfiguration einer Tabelle anzuzeigen, können Sie die -get-table-auto-scaling-settingsOperation verwenden. Der folgende CLI-Befehl ist ein Beispiel dafür.

aws keyspaces get-table-auto-scaling-settings --keyspace-name mykeyspace --table-name mytable

Die Ausgabe für diesen Befehl sieht wie folgt aus.

{ "keyspaceName": "mykeyspace", "tableName": "mytable", "resourceArn": "arn:aws:cassandra:us-east-1:5555-5555-5555:/keyspace/mykeyspace/table/mytable", "autoScalingSpecification": { "writeCapacityAutoScaling": { "autoScalingDisabled": false, "minimumUnits": 5, "maximumUnits": 10, "scalingPolicy": { "targetTrackingScalingPolicyConfiguration": { "disableScaleIn": false, "scaleInCooldown": 0, "scaleOutCooldown": 0, "targetValue": 50.0 } } }, "readCapacityAutoScaling": { "autoScalingDisabled": false, "minimumUnits": 5, "maximumUnits": 10, "scalingPolicy": { "targetTrackingScalingPolicyConfiguration": { "disableScaleIn": false, "scaleInCooldown": 60, "scaleOutCooldown": 60, "targetValue": 50.0 } } } } }

Deaktivieren der automatischen Skalierung von Amazon Keyspaces für eine Tabelle mithilfe der AWS CLI

Sie können die automatische Skalierung von Amazon Keyspaces für Ihre Tabelle jederzeit deaktivieren. Wenn Sie die Lese- oder Schreibkapazität Ihrer Tabelle nicht mehr skalieren müssen, sollten Sie die automatische Skalierung deaktivieren, damit Amazon Keyspaces die Lese- oder Schreibkapazitätseinstellungen Ihrer Tabelle nicht weiter ändert. Sie können die Tabelle mit einer -UpdateTableOperation aktualisieren.

Mit dem folgenden Befehl wird die automatische Skalierung für die Lesekapazität der Tabelle deaktiviert. Außerdem werden die CloudWatch Alarme gelöscht, die in Ihrem Namen erstellt wurden.

aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable \ --auto-scaling-specification readCapacityAutoScaling={autoScalingDisabled=true}
Anmerkung

Um die serviceverknüpfte Rolle zu löschen, die Application Auto Scaling verwendet, müssen Sie die automatische Skalierung für alle Tabellen im Konto in allen deaktivieren AWS-Regionen.