Gestione delle politiche di scalabilità di Amazon Keyspaces con la CLI - Amazon Keyspaces (per Apache Cassandra)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione delle politiche di scalabilità di Amazon Keyspaces con la CLI

Per aggiornare e gestire le impostazioni di scalabilità automatica di Amazon Keyspaces a livello di codice, puoi utilizzare AWS Command Line Interface () AWS CLI o l'API. AWS Per gestire le policy di auto scaling di Amazon Keyspaces utilizzando Cassandra Query Language (CQL), consulta. Gestione della scalabilità automatica di Amazon Keyspaces con Cassandra Query Language (CQL) Questo argomento offre una panoramica delle attività di ridimensionamento automatico che è possibile gestire a livello di programmazione utilizzando. AWS CLI

Per ulteriori informazioni sui AWS CLI comandi Amazon Keyspaces descritti in questo argomento, consulta il AWS CLI Command Reference.

Prima di iniziare

È necessario completare le seguenti attività prima di iniziare.

Configurazione delle autorizzazioni

Se non l'hai ancora fatto, devi configurare le autorizzazioni appropriate per consentire all'utente di creare e gestire le impostazioni di ridimensionamento automatico. In AWS Identity and Access Management (IAM), la policy AWS gestita AmazonKeyspacesFullAccess è necessaria per gestire le policy di scalabilità di Amazon Keyspaces. Per informazioni dettagliate sulle fasi, consulta Prima di iniziare: concessione delle autorizzazioni utente per il ridimensionamento automatico di Amazon Keyspaces.

Installazione di AWS CLI

Se non l'hai ancora fatto, installa e configura AWS CLI. Per farlo, vai alla Guida per l' AWS Command Line Interface utente e segui queste istruzioni:

Crea una nuova tabella con ridimensionamento automatico utilizzando il AWS CLI

Quando crei una nuova tabella Amazon Keyspaces, puoi abilitare automaticamente la scalabilità automatica per la capacità di scrittura o lettura della tabella durante l'operazione. CreateTable Ciò consente ad Amazon Keyspaces di contattare Application Auto Scaling per tuo conto per registrare la tabella specificata come destinazione scalabile e regolare la capacità di scrittura o lettura fornita.

Per ulteriori informazioni su come creare una tabella multiregionale con configurazione di ridimensionamento automatico, vedere. Creazione di una nuova tabella multiregione in modalità provisioning con scalabilità automatica (CLI)

Nota

La scalabilità automatica di Amazon Keyspaces richiede la presenza di un ruolo collegato al servizio (AWSServiceRoleForApplicationAutoScaling_CassandraTable) per eseguire azioni di ridimensionamento automatico per tuo conto. Questo ruolo viene creato automaticamente per te. Per ulteriori informazioni, consulta Utilizzo di ruoli collegati ai servizi per Amazon Keyspaces.

Per configurare le impostazioni di auto scaling per una tabella a livello di codice, usi l'autoScalingSpecificationazione che definisce i parametri per la scalabilità automatica di Amazon Keyspaces. I parametri definiscono le condizioni che spingono Amazon Keyspaces a modificare il throughput assegnato alla tabella e quali azioni opzionali aggiuntive intraprendere. In questo esempio, definisci le impostazioni di ridimensionamento automatico per mytable.

La policy contiene i seguenti elementi:

  • autoScalingSpecification— Indica se Amazon Keyspaces è autorizzato a regolare la capacità di trasmissione per tuo conto. È possibile abilitare la scalabilità automatica per la capacità di lettura e scrittura separatamente. Quindi è necessario specificare i seguenti parametri perautoScalingSpecification:

    • writeCapacityAutoScaling— Le unità con capacità di scrittura massima e minima.

    • readCapacityAutoScaling— Le unità con capacità di lettura massima e minima.

    • scalingPolicy— Amazon Keyspaces supporta la politica di tracciamento degli obiettivi. Per definire la politica di tracciamento degli obiettivi, configuri i seguenti parametri.

      • targetValue— La scalabilità automatica di Amazon Keyspaces assicura che il rapporto tra capacità consumata e capacità fornita rimanga pari o vicino a questo valore. targetValue viene definito in percentuale.

      • disableScaleIn: (Facoltativo) A boolean che specifica se scale-in è disabilitato o abilitato per la tabella. Questo parametro è disabilitato per impostazione predefinita. Per attivarloscale-in, imposta il boolean valore suFALSE. Ciò significa che la capacità viene automaticamente ridotta per una tabella per conto dell'utente.

      • scaleOutCooldown— Un'attività di scalabilità orizzontale aumenta la velocità effettiva assegnata alla tabella. Per aggiungere un periodo di recupero per le attività con scalabilità orizzontale, specifica un valore, in secondi, per. ScaleOutCooldown Il valore predefinito è 0. Per ulteriori informazioni sul tracciamento del target e sui periodi di cooldown, consulta Target Tracking Scaling Policies nella Application Auto Scaling User Guide.

      • scaleInCooldown— Un'attività scalabile riduce il throughput assegnato alla tabella. Per aggiungere un periodo di recupero per le attività scalabili, specifica un valore, in secondi, per. ScaleInCooldown Il valore predefinito è 0. Per ulteriori informazioni sul tracciamento del target e sui periodi di cooldown, consulta Target Tracking Scaling Policies nella Application Auto Scaling User Guide.

Nota

Per capire meglio come funziona TargetValue, supponiamo di avere una tabella con un'impostazione di velocità effettiva assegnata pari a 200 unità di capacità in scrittura. Si decide di creare una policy di dimensionamento per questa tabella, con un TargetValue del 70%.

Si supponga ora di iniziare a guidare il traffico di scrittura verso la tabella in modo che la velocità effettiva di scrittura sia di 150 unità di capacità. Il consumed-to-provisioned rapporto è ora (150/ 200), ovvero il 75 percento. Questo rapporto supera l'obiettivo, quindi la scalabilità automatica aumenta la capacità di scrittura assegnata a 215 in modo che il rapporto sia (150/ 215), ovvero il 69,77 percento, il più vicino TargetValue possibile, ma senza superarlo.

Per mytable, hai impostato la capacità di lettura e scrittura al TargetValue 50%. La scalabilità automatica di Amazon Keyspaces regola il throughput assegnato dalla tabella entro un intervallo di 5-10 unità di capacità in modo che il rapporto rimanga pari o vicino al consumed-to-provisioned 50%. Per quanto riguarda la capacità di lettura, imposti i valori per e fino a 60 secondi. ScaleOutCooldown ScaleInCooldown

Quando si creano tabelle con impostazioni di ridimensionamento automatico complesse, è utile caricare le impostazioni di ridimensionamento automatico da un file JSON. Per l'esempio seguente, puoi scaricare il file JSON di esempio da auto-scaling.zip ed estrarloauto-scaling.json, prendendo nota del percorso del file. In questo esempio, il file JSON si trova nella directory corrente. Per diverse opzioni di percorso del file, consultate Come caricare i parametri da un file.

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

Abilita il ridimensionamento automatico su una tabella esistente utilizzando il AWS CLI

Per una tabella Amazon Keyspaces esistente, puoi attivare la scalabilità automatica per la capacità di scrittura o lettura della tabella utilizzando l'operazione. UpdateTable Per ulteriori informazioni su come aggiornare le impostazioni di ridimensionamento automatico per una tabella multiregionale, vedere. Aggiornamento della capacità fornita e delle impostazioni di ridimensionamento automatico di una tabella multiregionale (CLI)

Nota

La scalabilità automatica di Amazon Keyspaces richiede la presenza di un ruolo collegato al servizio (AWSServiceRoleForApplicationAutoScaling_CassandraTable) che esegue azioni di ridimensionamento automatico per tuo conto. Questo ruolo viene creato automaticamente per te. Per ulteriori informazioni, consulta Utilizzo di ruoli collegati ai servizi per Amazon Keyspaces.

Puoi utilizzare il seguente comando per attivare la scalabilità automatica di Amazon Keyspaces per una tabella esistente. Le impostazioni di ridimensionamento automatico per la tabella vengono caricate da un file JSON. Per l'esempio seguente, puoi scaricare il file JSON di esempio da auto-scaling.zip ed estrarloauto-scaling.json, prendendo nota del percorso del file. In questo esempio, il file JSON si trova nella directory corrente. Per diverse opzioni di percorso del file, consultate Come caricare i parametri da un file.

Per ulteriori informazioni sulle impostazioni di ridimensionamento automatico utilizzate nell'esempio seguente, vedereCrea una nuova tabella con ridimensionamento automatico utilizzando il 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

Visualizza la configurazione di scalabilità automatica di Amazon Keyspaces della tua tabella utilizzando il AWS CLI

Per visualizzare la configurazione di ridimensionamento automatico di una tabella, è possibile utilizzare l'get-table-auto-scaling-settingsoperazione. Il seguente comando CLI ne è un esempio.

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

L'output di questo comando è simile al seguente.

{ "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 } } } } }

Disattiva la scalabilità automatica di Amazon Keyspaces per una tabella utilizzando il AWS CLI

Puoi disattivare la scalabilità automatica di Amazon Keyspaces per la tua tabella in qualsiasi momento. Se non hai più bisogno di ridimensionare la capacità di lettura o scrittura della tabella, dovresti prendere in considerazione la possibilità di disattivare la scalabilità automatica in modo che Amazon Keyspaces non continui a modificare le impostazioni della capacità di lettura o scrittura della tabella. Puoi aggiornare la tabella con un'operazione. UpdateTable

Il comando seguente disattiva il ridimensionamento automatico per la capacità di lettura della tabella. Elimina anche gli CloudWatch allarmi che sono stati creati per tuo conto.

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

Per eliminare il ruolo collegato al servizio utilizzato da Application Auto Scaling, è necessario disabilitare il ridimensionamento automatico su tutte le tabelle dell'account in tutto. Regioni AWS