Esempi di Piani di Auto Scaling che utilizzano AWS CLI - AWS Command Line Interface

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

Esempi di Piani di Auto Scaling che utilizzano AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando i piani AWS Command Line Interface con Auto Scaling.

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzarecreate-scaling-plan.

AWS CLI

Come creare un piano di dimensionamento

L’esempio create-scaling-plan seguente crea un piano di dimensionamento denominato my-scaling-plan utilizzando un file JSON già creato (denominato config.json). La struttura del piano di dimensionamento include un’istruzione di dimensionamento per un gruppo Auto Scaling denominato my-asg. Specifica la proprietà TagFilters come origine dell’applicazione e abilita il dimensionamento predittivo e il dimensionamento dinamico.

aws autoscaling-plans create-scaling-plan \ --scaling-plan-name my-scaling-plan \ --cli-input-json file://~/config.json

Contenuto del file config.json:

{ "ApplicationSource": { "TagFilters": [ { "Key": "purpose", "Values": [ "my-application" ] } ] }, "ScalingInstructions": [ { "ServiceNamespace": "autoscaling", "ResourceId": "autoScalingGroup/my-asg", "ScalableDimension": "autoscaling:autoScalingGroup:DesiredCapacity", "ScheduledActionBufferTime": 300, "PredictiveScalingMaxCapacityBehavior": "SetForecastCapacityToMaxCapacity", "PredictiveScalingMode": "ForecastAndScale", "PredefinedLoadMetricSpecification": { "PredefinedLoadMetricType": "ASGTotalCPUUtilization" }, "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "MinCapacity": 1, "MaxCapacity": 4, "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "ASGAverageCPUUtilization" }, "TargetValue": 50 } ] } ] }

Output:

{ "ScalingPlanVersion": 1 }

Per ulteriori informazioni, consulta la Guida per l’utente di AWS Auto Scaling.

Il seguente esempio di codice mostra come utilizzaredelete-scaling-plan.

AWS CLI

Come eliminare un piano di dimensionamento

L’esempio delete-scaling-plan seguente elimina il piano di dimensionamento specificato.

aws autoscaling-plans delete-scaling-plan \ --scaling-plan-name my-scaling-plan \ --scaling-plan-version 1

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta la Guida per l’utente di AWS Auto Scaling.

Il seguente esempio di codice mostra come utilizzaredescribe-scaling-plan-resources.

AWS CLI

Come descrivere le risorse dimensionabili per un piano di dimensionamento

L’esempio describe-scaling-plan-resources seguente visualizza i dettagli della singola risorsa dimensionabile (un gruppo Auto Scaling) associata al piano di dimensionamento specificato.

aws autoscaling-plans describe-scaling-plan-resources \ --scaling-plan-name my-scaling-plan \ --scaling-plan-version 1

Output:

{ "ScalingPlanResources": [ { "ScalableDimension": "autoscaling:autoScalingGroup:DesiredCapacity", "ScalingPlanVersion": 1, "ResourceId": "autoScalingGroup/my-asg", "ScalingStatusCode": "Active", "ScalingStatusMessage": "Target tracking scaling policies have been applied to the resource.", "ScalingPolicies": [ { "PolicyName": "AutoScaling-my-asg-b1ab65ae-4be3-4634-bd64-c7471662b251", "PolicyType": "TargetTrackingScaling", "TargetTrackingConfiguration": { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "ALBRequestCountPerTarget", "ResourceLabel": "app/my-alb/f37c06a68c1748aa/targetgroup/my-target-group/6d4ea56ca2d6a18d" }, "TargetValue": 40.0 } } ], "ServiceNamespace": "autoscaling", "ScalingPlanName": "my-scaling-plan" } ] }

Per ulteriori informazioni, consulta Che cos'è l' AWS Auto Scaling? nella Guida per l'utente di AWS Auto Scaling.

Il seguente esempio di codice mostra come utilizzaredescribe-scaling-plans.

AWS CLI

Come descrivere un piano di dimensionamento

L’esempio describe-scaling-plans seguente mostra i dettagli del piano di dimensionamento specificato.

aws autoscaling-plans describe-scaling-plans \ --scaling-plan-names scaling-plan-with-asg-and-ddb

Output:

{ "ScalingPlans": [ { "LastMutatingRequestTime": 1565388443.963, "ScalingPlanVersion": 1, "CreationTime": 1565388443.963, "ScalingInstructions": [ { "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "ScalableDimension": "autoscaling:autoScalingGroup:DesiredCapacity", "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "ASGAverageCPUUtilization" }, "TargetValue": 50.0, "EstimatedInstanceWarmup": 300, "DisableScaleIn": false } ], "ResourceId": "autoScalingGroup/my-asg", "DisableDynamicScaling": false, "MinCapacity": 1, "ServiceNamespace": "autoscaling", "MaxCapacity": 10 }, { "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "ScalableDimension": "dynamodb:table:ReadCapacityUnits", "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "DynamoDBReadCapacityUtilization" }, "TargetValue": 50.0, "ScaleInCooldown": 60, "DisableScaleIn": false, "ScaleOutCooldown": 60 } ], "ResourceId": "table/my-table", "DisableDynamicScaling": false, "MinCapacity": 5, "ServiceNamespace": "dynamodb", "MaxCapacity": 10000 }, { "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "ScalableDimension": "dynamodb:table:WriteCapacityUnits", "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "DynamoDBWriteCapacityUtilization" }, "TargetValue": 50.0, "ScaleInCooldown": 60, "DisableScaleIn": false, "ScaleOutCooldown": 60 } ], "ResourceId": "table/my-table", "DisableDynamicScaling": false, "MinCapacity": 5, "ServiceNamespace": "dynamodb", "MaxCapacity": 10000 } ], "ApplicationSource": { "TagFilters": [ { "Values": [ "my-application-id" ], "Key": "application" } ] }, "StatusStartTime": 1565388455.836, "ScalingPlanName": "scaling-plan-with-asg-and-ddb", "StatusMessage": "Scaling plan has been created and applied to all resources.", "StatusCode": "Active" } ] }

Per ulteriori informazioni, consulta Che cos'è l' AWS Auto Scaling? nella Guida per l'utente di AWS Auto Scaling.

Il seguente esempio di codice mostra come utilizzareget-scaling-plan-resource-forecast-data.

AWS CLI

Come recuperare i dati di previsione del carico

Questo esempio recupera i dati di previsione del carico per una risorsa dimensionabile (un gruppo Auto Scaling) associata al piano di dimensionamento specificato.

aws autoscaling-plans get-scaling-plan-resource-forecast-data \ --scaling-plan-name my-scaling-plan \ --scaling-plan-version 1 \ --service-namespace "autoscaling" \ --resource-id autoScalingGroup/my-asg \ --scalable-dimension "autoscaling:autoScalingGroup:DesiredCapacity" \ --forecast-data-type "LoadForecast" \ --start-time "2019-08-30T00:00:00Z" \ --end-time "2019-09-06T00:00:00Z"

Output:

{ "Datapoints": [...] }

Per ulteriori informazioni, consulta Cos'è l' AWS Auto Scaling nella Guida per l'utente AWS di Auto Scaling.

Il seguente esempio di codice mostra come utilizzareupdate-scaling-plan.

AWS CLI

Come aggiornare un piano di dimensionamento

L’esempio update-scaling-plan seguente modifica la metrica di dimensionamento per un gruppo Auto Scaling nel piano di dimensionamento specificato.

aws autoscaling-plans update-scaling-plan \ --scaling-plan-name my-scaling-plan \ --scaling-plan-version 1 \ --scaling-instructions '{"ScalableDimension":"autoscaling:autoScalingGroup:DesiredCapacity","ResourceId":"autoScalingGroup/my-asg","ServiceNamespace":"autoscaling","TargetTrackingConfigurations":[{"PredefinedScalingMetricSpecification": {"PredefinedScalingMetricType":"ALBRequestCountPerTarget","ResourceLabel":"app/my-alb/f37c06a68c1748aa/targetgroup/my-target-group/6d4ea56ca2d6a18d"},"TargetValue":40.0}],"MinCapacity": 1,"MaxCapacity": 10}'

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Che cos'è l' AWS Auto Scaling? nella Guida per l'utente di AWS Auto Scaling.