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 Auto Scaling mit Cassandra Query Language (CQL)
Um Auto-Scaling-Einstellungen für Amazon-Keyspaces-Tabellen mit Cassandra Query Language (CQL) zu erstellen und zu verwalten, können Sie verwendencqlsh
. Dieses Thema bietet einen Überblick über die Auto-Scaling-Aufgaben, die Sie programmgesteuert mit CQL verwalten können.
Weitere Informationen zu den in diesem Thema beschriebenen CQL-Anweisungen finden Sie unter DDL-Anweisungen (Datendefinitionssprache) in Amazon Keyspaces.
Themen
- Bevor Sie beginnen
- Erstellen einer neuen Tabelle mit automatischer Skalierung mithilfe von CQL
- Aktivieren der automatischen Skalierung für eine vorhandene Tabelle mithilfe von CQL
- Anzeigen der Auto-Scaling-Konfiguration von Amazon Keyspaces Ihrer Tabelle mit CQL
- Deaktivieren von Amazon Keyspaces Auto Scaling für eine Tabelle mithilfe von CQL
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.
Konfigurieren von cqlsh
Falls noch nicht geschehen, müssen Sie installieren und konfigurierencqlsh
. Befolgen Sie dazu die Anweisungen unter Verwenden voncqlsh-expansion, um eine Verbindung zu Amazon Keyspaces herzustellen. Anschließend können Sie die verwenden AWS CloudShell , um die Befehle in den folgenden Abschnitten auszuführen.
Erstellen einer neuen Tabelle mit automatischer Skalierung mithilfe von CQL
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 -CREATE TABLE
Anweisung automatisch aktivieren. Auf diese Weise kann Amazon Keyspaces Application Auto Scaling in Ihrem Namen kontaktieren, um die Tabelle als skalierbares Ziel zu registrieren und die bereitgestellte Schreib- oder Lesekapazität anzupassen.
Weitere Informationen zum Erstellen einer multiregionalen Tabelle und zum Konfigurieren verschiedener Auto-Scaling-Einstellungen für Tabellenreplikate finden Sie unter Erstellen einer multiregionalen Tabelle mit Standardeinstellungen (CQL).
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 -AUTOSCALING_SETTINGS
Anweisung, die die Parameter für Amazon Keyspaces Auto Scaling enthält. 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:
-
AUTOSCALING_SETTINGS
– Gibt an, ob Amazon Keyspaces die Durchsatzkapazität in Ihrem Namen anpassen darf. Die folgenden Werte sind erforderlich:-
provisioned_write_capacity_autoscaling_update
:-
minimum_units
-
maximum_units
-
-
provisioned_read_capacity_autoscaling_update
:-
minimum_units
-
maximum_units
-
-
scaling_policy
– Amazon Keyspaces unterstützt die Zielverfolgungsrichtlinie. Um die Richtlinie für die Ziel-Nachverfolgung zu definieren, konfigurieren Sie die folgenden Parameter.-
target_value
– 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 definierentarget_value
als Prozentsatz. -
disableScaleIn
: (Optional) Einboolean
, der angibt, ob für die Tabelle deaktiviert oder aktiviertscale-in
ist. Dieser Parameter ist standardmäßig deaktiviert. Um zu aktivierenscale-in
, setzen Sie denboolean
Wert aufFALSE
. Das bedeutet, dass die Kapazität für eine Tabelle in Ihrem Namen automatisch herunterskaliert wird. -
scale_out_cooldown
– 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 anscale_out_cooldown
. Wenn Sie keinen Wert angeben, ist der Standardwert 0. Weitere Informationen zur Zielverfolgung und Ruhephasen finden Sie unter Skalierungsrichtlinien für die Zielverfolgung im Benutzerhandbuch für Application Auto Scaling. -
scale_in_cooldown
– 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 anscale_in_cooldown
. Wenn Sie keinen Wert angeben, ist der Standardwert 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 target_value
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 target_value
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 target_value
wie möglich an Ihrem , aber nicht darüber.
Für mytable legen Sie sowohl für die Lese- als auch TargetValue
für die 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.
Sie können die folgende Anweisung verwenden, um eine neue Amazon Keyspaces-Tabelle mit aktiviertem Auto Scaling zu erstellen.
CREATE TABLE mykeyspace.mytable(pk int, ck int, PRIMARY KEY (pk, ck)) WITH CUSTOM_PROPERTIES = { 'capacity_mode': { 'throughput_mode': 'PROVISIONED', 'read_capacity_units': 1, 'write_capacity_units': 1 } } AND AUTOSCALING_SETTINGS = { 'provisioned_write_capacity_autoscaling_update': { 'maximum_units': 10, 'minimum_units': 5, 'scaling_policy': { 'target_tracking_scaling_policy_configuration': { 'target_value': 50 } } }, 'provisioned_read_capacity_autoscaling_update': { 'maximum_units': 10, 'minimum_units': 5, 'scaling_policy': { 'target_tracking_scaling_policy_configuration': { 'target_value': 50, 'scale_in_cooldown': 60, 'scale_out_cooldown': 60 } } } };
Aktivieren der automatischen Skalierung für eine vorhandene Tabelle mithilfe von CQL
Für eine vorhandene Amazon Keyspaces-Tabelle können Sie mithilfe der -ALTER TABLE
Anweisung die automatische Skalierung für die Schreib- oder Lesekapazität der Tabelle aktivieren. Wenn Sie eine Tabelle aktualisieren, die sich derzeit im On-Demand-Kapazitätsmodus befindet, capacity_mode
ist dies erforderlich. Wenn sich Ihre Tabelle bereits im Modus bereitgestellter Kapazität befindet, kann dieses Feld weggelassen werden.
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.
Im folgenden Beispiel aktualisiert die Anweisung die Tabelle mytable , die sich im On-Demand-Kapazitätsmodus befindet. Die Anweisung ändert den Kapazitätsmodus der Tabelle in den Modus bereitgestellter Kapazität mit aktivierter Auto Scaling.
Die Schreibkapazität wird im Bereich von 5 bis 10 Kapazitätseinheiten mit einem Zielwert von 50 % konfiguriert. Die Lesekapazität wird auch im Bereich von 5 bis 10 Kapazitätseinheiten mit einem Zielwert von 50 % konfiguriert. Für die Lesekapazität legen Sie die Werte für scale_out_cooldown
und scale_in_cooldown
auf 60 Sekunden fest.
ALTER TABLE mykeyspace.mytable WITH CUSTOM_PROPERTIES = { 'capacity_mode': { 'throughput_mode': 'PROVISIONED', 'read_capacity_units': 1, 'write_capacity_units': 1 } } AND AUTOSCALING_SETTINGS = { 'provisioned_write_capacity_autoscaling_update': { 'maximum_units': 10, 'minimum_units': 5, 'scaling_policy': { 'target_tracking_scaling_policy_configuration': { 'target_value': 50 } } }, 'provisioned_read_capacity_autoscaling_update': { 'maximum_units': 10, 'minimum_units': 5, 'scaling_policy': { 'target_tracking_scaling_policy_configuration': { 'target_value': 50, 'scale_in_cooldown': 60, 'scale_out_cooldown': 60 } } } };
Anzeigen der Auto-Scaling-Konfiguration von Amazon Keyspaces Ihrer Tabelle mit CQL
Verwenden Sie den folgenden Befehl, um Details zur Auto-Scaling-Konfiguration einer Tabelle anzuzeigen.
SELECT * FROM system_schema_mcs.autoscaling WHERE keyspace_name = 'mykeyspace' AND table_name = 'mytable';
Die Ausgabe für diesen Befehl sieht wie folgt aus.
keyspace_name | table_name | provisioned_read_capacity_autoscaling_update | provisioned_write_capacity_autoscaling_update ---------------+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- mykeyspace | mytable | {'minimum_units': 5, 'maximum_units': 10, 'scaling_policy': {'target_tracking_scaling_policy_configuration': {'scale_out_cooldown': 60, 'disable_scale_in': false, 'target_value': 50, 'scale_in_cooldown': 60}}} | {'minimum_units': 5, 'maximum_units': 10, 'scaling_policy': {'target_tracking_scaling_policy_configuration': {'scale_out_cooldown': 0, 'disable_scale_in': false, 'target_value': 50, 'scale_in_cooldown': 0}}}
Deaktivieren von Amazon Keyspaces Auto Scaling für eine Tabelle mithilfe von CQL
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 -ALTER TABLE
Anweisung aktualisieren.
Die folgende Anweisung deaktiviert die automatische Skalierung für die Schreibkapazität der Tabelle mytable . Außerdem werden die CloudWatch Alarme gelöscht, die in Ihrem Namen erstellt wurden.
ALTER TABLE mykeyspace.mytable WITH AUTOSCALING_SETTINGS = { 'provisioned_write_capacity_autoscaling_update': { 'autoscaling_disabled': 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.