Sospendi e riprendi il dimensionamento per Application Auto Scaling - Application Auto Scaling

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à.

Sospendi e riprendi il dimensionamento per Application Auto Scaling

Questo argomento spiega come sospendere e riprendere una o più attività di dimensionamento per i target scalabili nell'applicazione. La caratteristica sospensione-ripresa è utilizzata per interrompere temporaneamente le attività di dimensionamento attivate da policy di dimensionamento e operazioni pianificate. Questa può essere utile, ad esempio, quando non desideri che la scalabilità automatica interferisca potenzialmente mentre apporti una modifica o esamini un problema di configurazione. Le policy di dimensionamento e le operazioni pianificate possono essere mantenute e quando sono pronte, le attività di dimensionamento possono essere riavviate.

Nei seguenti comandi della CLI di esempio, passerai i parametri in formato JSON in un file config.json. È inoltre possibile passare questi parametri sulla riga di comando utilizzando le virgolette per racchiudere la struttura dati JSON. Per ulteriori informazioni, consulta Utilizzo di virgolette con stringhe nella AWS CLI nella Guida per l'utente di AWS Command Line Interface .

Nota

Per istruzioni su come sospendere i processi di scalabilità orizzontale mentre le distribuzioni di Amazon ECS sono in corso, consulta la seguente documentazione:

Scalabilità e implementazioni automatiche dei servizi nella Amazon Elastic Container Service Developer Guide

Attività di dimensionamento

Application Auto Scaling supporta l'inserimento delle seguenti attività di dimensionamento in uno stato sospeso:

  • Tutte le attività di scalabilità verticale attivate da una policy di dimensionamento.

  • Tutte le attività di scalabilità orizzontale attivate da una policy di dimensionamento.

  • Tutte le attività di dimensionamento che implicano operazioni pianificate.

Le seguenti descrizioni spiegano cosa succede quando le singole attività di dimensionamento vengono sospese. Ogni singola attività può essere sospesa e riavviata in modo indipendente. A seconda del motivo per cui si sospende un'attività di dimensionamento, potrebbe essere necessario sospendere più attività di dimensionamento.

DynamicScalingInSuspended

  • Application Auto Scaling non rimuove la capacità quando viene attivata una policy di dimensionamento con monitoraggio degli obiettivi o una policy di dimensionamento per fasi. Ciò consente di disabilitare temporaneamente le attività di scalabilità associate alle politiche di scalabilità senza eliminare le politiche di scalabilità o gli allarmi associati. CloudWatch Quando riprendi il dimensionamento orizzontale (riduzione), Application Auto Scaling valuta le policy con le soglie di allarme attualmente in violazione.

DynamicScalingOutSuspended

  • Application Auto Scaling non aggiunge la capacità quando viene attivata una policy di dimensionamento con monitoraggio degli obiettivi o una policy di dimensionamento per fasi. Ciò consente di disabilitare temporaneamente le attività di scalabilità orizzontale associate alle politiche di scalabilità senza eliminare le politiche di scalabilità o gli allarmi associati. CloudWatch Quando riprendi il dimensionamento orizzontale (aumento), Application Auto Scaling valuta le policy con le soglie di allarme attualmente in violazione.

ScheduledScalingSuspended

  • Application Auto Scaling non avvia operazioni di dimensionamento programmate per l'esecuzione durante il periodo di sospensione. Quando riprendi il dimensionamento pianificato, Application Auto Scaling valuta solo le operazioni pianificate il cui orario di esecuzione non è ancora trascorso.

Sospendere e riprendere le attività di scalabilità

È possibile sospendere e riprendere le singole attività o tutte le attività di dimensionamento per l'obiettivo scalabile Application Auto Scaling.

Nota

Per brevità, questi esempi illustrano come sospendere e riprendere il dimensionamento per una tabella DynamoDB. Per specificare un altro target scalabile, specificare il suo spazio dei nomi in --service-namespace, la sua dimensione scalabile --scalable-dimension e l'ID di risorsa in --resource-id. Per maggiori informazioni ed esempi per ogni servizio, consulta gli argomenti in AWS services che puoi usare con Application Auto Scaling.

Per sospendere un'attività di dimensionamento

Apri una finestra a riga di comando e utilizza il comando register-scalable-target con l'opzione --suspended-state come segue.

Linux, macOS o 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 caso di esito positivo, il comando restituisce l'ARN dell'obiettivo scalabile.

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

Per sospendere solo le attività di scalabilità verticale attivate da una policy di dimensionamento, specificare quanto segue in config.json.

{ "DynamicScalingInSuspended":true }

Per sospendere solo le attività di scalabilità orizzontale attivate da una policy di dimensionamento, specificare quanto segue in config.json.

{ "DynamicScalingOutSuspended":true }

Per sospendere solo le attività di dimensionamento che implicano azioni pianificate, specificare quanto segue in config.json.

{ "ScheduledScalingSuspended":true }
Per sospendere tutte le attività di dimensionamento

Utilizza il comando register-scalable-target con l'opzione --suspended-state come segue.

Linux, macOS o 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 questo esempio si presuppone che il file config.json contiene i seguenti parametri in formato JSON.

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

In caso di esito positivo, il comando restituisce l'ARN dell'obiettivo scalabile.

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

Visualizzazione delle attività di dimensionamento sospese

Utilizza il comando describe-scalable-targets per determinare quali attività di dimensionamento sono in modalità sospesa per un obiettivo scalabile.

Linux, macOS o 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

Di seguito è riportato un output di esempio.

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

Riprendere le attività di dimensionamento

Quando sei pronto, puoi riprendere le attività di dimensionamento utilizzando il comando register-scalable-target.

Il seguente comando di esempio riprende tutte le attività di dimensionamento per il target scalabile specificato.

Linux, macOS o 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 questo esempio si presuppone che il file config.json contiene i seguenti parametri in formato JSON.

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

In caso di esito positivo, il comando restituisce l'ARN dell'obiettivo scalabile.

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