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
En este ejemplo, se utilizan AWS CLI comandos para crear una política de almacenamiento objetivo para una flota de Amazon EC2 Spot. Para un objetivo escalable diferente, especifique su espacio de nombres en--service-namespace
, su dimensión escalable en y su ID de --scalable-dimension
recurso en. --resource-id
Cuando utilice 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.
Tareas
Paso 1: Registrar un objetivo escalable
Si aún no lo ha hecho, registre el destino escalable. Utilice el register-scalable-targetcomando 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
Salida
Si se ejecuta correctamente, este comando devolverá el ARN del destino escalable. A continuación, se muestra un ejemplo del resultado.
{
"ScalableTargetARN": "arn:aws:application-autoscaling:region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123"
}
Paso 2: Crear 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 la Referencia PredefinedMetricSpecificationde 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. El siguiente es 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 la Referencia CustomizedMetricSpecificationde la API Application Auto Scaling.
-
Utilice el siguiente put-scaling-policycomando, junto con el
config.json
archivo que creó, 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
Salida
Si se ejecuta correctamente, este comando devuelve los ARN y los nombres de las dos CloudWatch alarmas creadas en su nombre. A continuación, se muestra un ejemplo del resultado.
{ "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" } ] }
Paso 3: Describa las políticas de escalado y seguimiento de objetivos
Puede describir todas las políticas de escalado del espacio de nombres del servicio especificado mediante el siguiente describe-scaling-policiescomando.
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`]"
Salida
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
}
]