Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ejemplos de planes de Auto Scaling utilizando AWS CLI
Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso de los planes AWS Command Line Interface de Auto Scaling.
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.
Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.
Temas
Acciones
En el siguiente ejemplo de código se muestra cómo usar create-scaling-plan
.
- AWS CLI
-
Para crear un plan de escalado
En el siguiente
create-scaling-plan
ejemplo, se crea un plan de escalado denominadomy-scaling-plan
mediante un JSON archivo ya creado (denominado config.json). La estructura del plan de escalado incluye una instrucción de escalado para un grupo de Auto Scaling denominadomy-asg
. Especifica la propiedadTagFilters
como el origen de la aplicación y permite el escalado predictivo y el escalado dinámico.aws autoscaling-plans create-scaling-plan \ --scaling-plan-name
my-scaling-plan
\ --cli-input-jsonfile://~/config.json
Contenido del archivo
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 } ] } ] }
Salida:
{ "ScalingPlanVersion": 1 }
Para obtener más información, consulte la Guía del usuario de AWS Auto Scaling.
-
Para API obtener más información, consulte CreateScalingPlan
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar delete-scaling-plan
.
- AWS CLI
-
Para eliminar un plan de escalado
En el siguiente
delete-scaling-plan
ejemplo, se elimina el plan de escalado especificado.aws autoscaling-plans delete-scaling-plan \ --scaling-plan-name
my-scaling-plan
\ --scaling-plan-version1
Este comando no genera ninguna salida.
Para obtener más información, consulte la Guía del usuario de AWS Auto Scaling.
-
Para API obtener más información, consulte DeleteScalingPlan
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar describe-scaling-plan-resources
.
- AWS CLI
-
Para describir los recursos escalables de un plan de escalado
El siguiente
describe-scaling-plan-resources
ejemplo muestra detalles sobre el único recurso escalable (un grupo de Auto Scaling) que está asociado al plan de escalado especificado.aws autoscaling-plans describe-scaling-plan-resources \ --scaling-plan-name
my-scaling-plan
\ --scaling-plan-version1
Salida:
{ "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 obtener más información, consulte ¿Qué es AWS Auto Scaling? en la Guía del usuario de AWS Auto Scaling.
-
Para API obtener más información, consulte DescribeScalingPlanResources
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar describe-scaling-plans
.
- AWS CLI
-
Para describir un plan de escalado
En el siguiente
describe-scaling-plans
ejemplo, se muestran los detalles del plan de escalado especificado.aws autoscaling-plans describe-scaling-plans \ --scaling-plan-names
scaling-plan-with-asg-and-ddb
Salida:
{ "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 obtener más información, consulte ¿Qué es AWS Auto Scaling? en la Guía del usuario de AWS Auto Scaling.
-
Para API obtener más información, consulte DescribeScalingPlans
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar get-scaling-plan-resource-forecast-data
.
- AWS CLI
-
Para recuperar los datos de previsión de carga
En este ejemplo, se recuperan los datos de previsión de carga de un recurso escalable (un grupo de Auto Scaling) que está asociado al plan de escalado especificado.
aws autoscaling-plans get-scaling-plan-resource-forecast-data \ --scaling-plan-name
my-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"
Salida:
{ "Datapoints": [...] }
Para obtener más información, consulte Qué es AWS Auto Scaling en la Guía del usuario de AWS Auto Scaling.
-
Para API obtener más información, consulte GetScalingPlanResourceForecastData
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usar update-scaling-plan
.
- AWS CLI
-
Para actualizar un plan de escalado
El siguiente
update-scaling-plan
ejemplo modifica la métrica de escalado de un grupo de Auto Scaling en el plan de escalado especificado.aws autoscaling-plans update-scaling-plan \ --scaling-plan-name
my-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 no genera ninguna salida.
Para obtener más información, consulte ¿Qué es AWS Auto Scaling? en la Guía del usuario de AWS Auto Scaling.
-
Para API obtener más información, consulte UpdateScalingPlan
la Referencia de AWS CLI comandos.
-