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.
Cree una política de escalado de seguimiento de objetivos para Application Auto Scaling mediante el AWS CLI
Puede crear una política de escalado de seguimiento de objetivos para Application Auto Scaling mediante las AWS CLI siguientes tareas de configuración.
-
Registrar un destino escalable.
-
Agregue una política de escalado de seguimiento de destino al destino escalable.
Por cuestiones de brevedad, los ejemplos que se muestran en este tema ilustran los comandos de la CLI para una flota de spot de Amazon EC2. Para especificar un destino escalable diferente, especifique su espacio de nombres en --service-namespace
, su dimensión escalable en --scalable-dimension
y su ID de recurso en --resource-id
. Para obtener más información y ejemplos de cada servicio, consulte los temas de Servicios de AWS que puede usar con Application Auto Scaling.
Cuando utilice el AWS CLI, recuerde que sus comandos se ejecutan en la Región de AWS configuración de su perfil. Si desea ejecutar los comandos en otra región, cambie la región predeterminada de su perfil o utilice el parámetro --region
con el comando.
Contenido
Registrar un destino escalable
Si aún no lo ha hecho, registre el destino escalable. Use el comando register-scalable-target para registrar un recurso específico en el servicio de destino como destino escalable. En el ejemplo siguiente se registra una solicitud de flota de spot con Auto Scaling de aplicaciones. Auto Scaling de aplicaciones puede escalar el número de instancias de flota de spot en un mínimo de 2 instancias y un máximo de 10. Reemplace cada marcador de posición de entrada del usuario
con información propia.
Linux, macOS o Unix
aws application-autoscaling register-scalable-target --service-namespace
ec2
\ --scalable-dimensionec2:spot-fleet-request:TargetCapacity
\ --resource-idspot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
\ --min-capacity2
--max-capacity10
Windows
aws application-autoscaling register-scalable-target --service-namespace
ec2
--scalable-dimensionec2:spot-fleet-request:TargetCapacity
--resource-idspot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
--min-capacity2
--max-capacity10
Si se ejecuta correctamente, este comando devolverá el ARN del destino escalable.
{
"ScalableTargetARN": "arn:aws:application-autoscaling:region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123"
}
Creación de una política de escalado de seguimiento de destino
Para crear una política de escalado y seguimiento de objetivos, puede utilizar los siguientes ejemplos como ayuda para empezar.
Para crear una política de escalado de seguimiento de destino
-
Usa el siguiente
cat
comando para almacenar un valor objetivo para tu política de escalado y una especificación métrica predefinida en un archivo JSON nombradoconfig.json
en tu directorio principal. El siguiente es un ejemplo de configuración de seguimiento de objetivos que mantiene la utilización media de la CPU en un 50 por ciento.$ cat ~/config.json { "TargetValue":
50.0
, "PredefinedMetricSpecification": { "PredefinedMetricType": "EC2SpotFleetRequestAverageCPUUtilization
" } }Para obtener más información, consulte PredefinedMetricEspecificación en la referencia de la API Application Auto Scaling.
Como alternativa, puede usar una métrica personalizada para escalar creando una especificación de métrica personalizada y agregando valores para cada parámetro desde CloudWatch. A continuación, se muestra un ejemplo de configuración de seguimiento de objetivos que mantiene la utilización media de la métrica especificada en 100.
$ cat ~/config.json { "TargetValue":
100.0
, "CustomizedMetricSpecification":{ "MetricName": "MyUtilizationMetric
", "Namespace": "MyNamespace
", "Dimensions": [ { "Name": "MyOptionalMetricDimensionName
", "Value": "MyOptionalMetricDimensionValue
" } ], "Statistic": "Average
", "Unit": "Percent
" } }Para obtener más información, consulte CustomizedMetricEspecificación en la referencia de la API Application Auto Scaling.
-
Utilice el siguiente comando put-scaling-policy junto con el archivo
config.json
que ha creado para crear una política de escalado denominadacpu50-target-tracking-scaling-policy
:Linux, macOS o Unix
aws application-autoscaling put-scaling-policy --service-namespace
ec2
\ --scalable-dimensionec2:spot-fleet-request:TargetCapacity
\ --resource-idspot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
\ --policy-namecpu50-target-tracking-scaling-policy
--policy-type TargetTrackingScaling \ --target-tracking-scaling-policy-configurationfile://config.json
Windows
aws application-autoscaling put-scaling-policy --service-namespace
ec2
--scalable-dimensionec2:spot-fleet-request:TargetCapacity
--resource-idspot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
--policy-namecpu50-target-tracking-scaling-policy
--policy-type TargetTrackingScaling --target-tracking-scaling-policy-configurationfile://config.json
Si se ejecuta correctamente, este comando devuelve los ARN y los nombres de las dos CloudWatch alarmas creadas en su nombre.
{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:resource/ec2/spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE:policyName/cpu50-target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca", "AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca" }, { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d", "AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d" } ] }
Descripción de políticas de escalado de seguimiento de destino
Puede describir todas las políticas de escalado para el espacio de nombres del servicio especificado mediante el siguiente comando describe-scaling-policies.
aws application-autoscaling describe-scaling-policies --service-namespace
ec2
Puede filtrar los resultados a solo las políticas de escalado de seguimiento de destino mediante el parámetro --query
. Para obtener más información acerca de syntax para query
, consulte Control de la salida de comandos de la AWS CLI en la Guía del usuario de AWS Command Line Interface .
Linux, macOS o Unix
aws application-autoscaling describe-scaling-policies --service-namespace
ec2
\ --query 'ScalingPolicies[?PolicyType==`TargetTrackingScaling`]'
Windows
aws application-autoscaling describe-scaling-policies --service-namespace
ec2
--query "ScalingPolicies[?PolicyType==`TargetTrackingScaling`]"
A continuación, se muestra un ejemplo del resultado.
[
{
"PolicyARN": "PolicyARN",
"TargetTrackingScalingPolicyConfiguration": {
"PredefinedMetricSpecification": {
"PredefinedMetricType": "EC2SpotFleetRequestAverageCPUUtilization"
},
"TargetValue": 50.0
},
"PolicyName": "cpu50-target-tracking-scaling-policy",
"ScalableDimension": "ec2:spot-fleet-request:TargetCapacity",
"ServiceNamespace": "ec2",
"PolicyType": "TargetTrackingScaling",
"ResourceId": "spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
"Alarms": [
{
"AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca",
"AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca"
},
{
"AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d",
"AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d"
}
],
"CreationTime": 1515021724.807
}
]
Eliminación de una política de escalado de seguimiento de destino
Cuando haya terminado con una política de escalado de seguimiento de destino, puede eliminarla mediante el comando delete-scaling-policy.
El siguiente comando elimina la política de escalado de seguimiento de destino especificada para la solicitud de flota de spot indicada. También elimina las CloudWatch alarmas que Application Auto Scaling creó en su nombre.
Linux, macOS o Unix
aws application-autoscaling delete-scaling-policy --service-namespace
ec2
\ --scalable-dimensionec2:spot-fleet-request:TargetCapacity
\ --resource-idspot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
\ --policy-namecpu50-target-tracking-scaling-policy
Windows
aws application-autoscaling delete-scaling-policy --service-namespace
ec2
--scalable-dimensionec2:spot-fleet-request:TargetCapacity
--resource-idspot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
--policy-namecpu50-target-tracking-scaling-policy