Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exemplos de planos de Auto Scaling usando AWS CLI
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com planos de Auto Scaling.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.
Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.
Tópicos
Ações
O código de exemplo a seguir mostra como usar create-scaling-plan.
- AWS CLI
-
Para criar um plano de escalabilidade
O exemplo
create-scaling-plana seguir cria um plano de escalabilidade chamadomy-scaling-planusando um arquivo JSON já criado (chamado config.json). A estrutura do plano de escalabilidade inclui uma instrução de ajuste de escala para um grupo do Auto Scaling chamadomy-asg. Ele especifica a propriedadeTagFilterscomo a origem da aplicação e permite a escalabilidade preditiva e a escalabilidade dinâmica.aws autoscaling-plans create-scaling-plan \ --scaling-plan-namemy-scaling-plan\ --cli-input-jsonfile://~/config.jsonConteúdo do arquivo
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 } ] } ] }Saída:
{ "ScalingPlanVersion": 1 }Para obter mais informações, consulte o Guia do usuário do AWS Auto Scaling.
-
Para obter detalhes da API, consulte CreateScalingPlan
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-scaling-plan.
- AWS CLI
-
Para excluir um plano de escalabilidade
O exemplo
delete-scaling-plana seguir exclui o plano de escalabilidade especificado.aws autoscaling-plans delete-scaling-plan \ --scaling-plan-namemy-scaling-plan\ --scaling-plan-version1Este comando não produz saída.
Para obter mais informações, consulte o Guia do usuário do AWS Auto Scaling.
-
Para obter detalhes da API, consulte DeleteScalingPlan
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-scaling-plan-resources.
- AWS CLI
-
Para descrever os recursos escaláveis para um plano de escalabilidade
O exemplo
describe-scaling-plan-resourcesa seguir exibe detalhes sobre o único recurso escalável (um grupo do Auto Scaling) associado ao plano de escalabilidade especificado.aws autoscaling-plans describe-scaling-plan-resources \ --scaling-plan-namemy-scaling-plan\ --scaling-plan-version1Saída:
{ "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" } ] }Para obter mais informações, consulte O que é o AWS Auto Scaling? no Guia do usuário do AWS Auto Scaling.
-
Para obter detalhes da API, consulte DescribeScalingPlanResources
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-scaling-plans.
- AWS CLI
-
Para descrever um plano de escalabilidade
O exemplo
describe-scaling-plansa seguir exibe os detalhes do plano de escalabilidade especificado.aws autoscaling-plans describe-scaling-plans \ --scaling-plan-namesscaling-plan-with-asg-and-ddbSaída:
{ "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" } ] }Para obter mais informações, consulte O que é o AWS Auto Scaling? no Guia do usuário do AWS Auto Scaling.
-
Para obter detalhes da API, consulte DescribeScalingPlans
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-scaling-plan-resource-forecast-data.
- AWS CLI
-
Para recuperar dados de previsão de carga
Este exemplo recupera dados de previsão de carga de um recurso escalável (um grupo do Auto Scaling) associado ao plano de escalabilidade especificado.
aws autoscaling-plans get-scaling-plan-resource-forecast-data \ --scaling-plan-namemy-scaling-plan\ --scaling-plan-version1\ --service-namespace"autoscaling"\ --resource-idautoScalingGroup/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"Saída:
{ "Datapoints": [...] }Para obter mais informações, consulte O que é o AWS Auto Scaling no Guia do usuário do Auto AWS Scaling.
-
Para obter detalhes da API, consulte GetScalingPlanResourceForecastData
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar update-scaling-plan.
- AWS CLI
-
Para atualizar um plano de escalabilidade
O exemplo
update-scaling-plana seguir modifica a métrica de escalabilidade de um grupo do Auto Scaling no plano de escalabilidade especificado.aws autoscaling-plans update-scaling-plan \ --scaling-plan-namemy-scaling-plan\ --scaling-plan-version1\ --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}'Este comando não produz saída.
Para obter mais informações, consulte O que é o AWS Auto Scaling? no Guia do usuário do AWS Auto Scaling.
-
Para obter detalhes da API, consulte UpdateScalingPlan
em Referência de AWS CLI Comandos.
-