Creare una politica di ridimensionamento del tracciamento degli obiettivi per Application Auto Scaling utilizzando il AWS CLI - Application Auto Scaling

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

Creare una politica di ridimensionamento del tracciamento degli obiettivi per Application Auto Scaling utilizzando il AWS CLI

È possibile creare una politica di scalabilità di tracciamento degli obiettivi per Application Auto Scaling utilizzando per AWS CLI le seguenti attività di configurazione.

  1. Registrazione di una destinazione dimensionabile.

  2. Aggiungi una policy di dimensionamento con monitoraggio della destinazione sulla destinazione dimensionabile.

Per brevità, gli esempi di questo argomento illustrano i comandi della CLI per una serie di istanze Spot di Amazon EC2. Per specificare un altro target scalabile, specificare il suo spazio dei nomi in --service-namespace, la sua dimensione scalabile --scalable-dimension e l'ID di risorsa in --resource-id. Per maggiori informazioni ed esempi per ogni servizio, consultare gli argomenti in Servizi AWS che puoi usare con Application Auto Scaling.

Quando usi il AWS CLI, ricorda che i tuoi comandi vengono eseguiti nella Regione AWS configurazione per il tuo profilo. Per eseguire i comandi in un'altra regione, modificare la regione predefinita per il profilo oppure utilizzare il parametro --region con il comando.

Registrazione di un target scalabile

Se non lo hai ancora fatto, registra l'obiettivo scalabile. Utilizza il comando register-scalable-target per registrare una risorsa specifica nel servizio obiettivo come obiettivo scalabile. Nell'esempio seguente viene registrata una richiesta alla serie di istanze Spot con Application Auto Scaling. Application Auto Scaling può dimensionare il numero di istanze della serie di istanze Spot a un minimo di 2 e un massimo di 10 istanze. Sostituisci ciascun placeholder input dell'utente con le tue informazioni.

Linux, macOS o Unix

aws application-autoscaling register-scalable-target --service-namespace ec2 \ --scalable-dimension ec2:spot-fleet-request:TargetCapacity \ --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --min-capacity 2 --max-capacity 10

Windows

aws application-autoscaling register-scalable-target --service-namespace ec2 --scalable-dimension ec2:spot-fleet-request:TargetCapacity --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE --min-capacity 2 --max-capacity 10

In caso di esito positivo, il comando restituisce l'ARN dell'obiettivo scalabile.

{ "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }

Creazione di una policy di dimensionamento con monitoraggio degli obiettivi

Per creare una politica di ridimensionamento del tracciamento degli obiettivi, puoi utilizzare i seguenti esempi per iniziare.

Creazione di una policy di dimensionamento con monitoraggio degli obiettivi
  1. Utilizzate il cat comando seguente per memorizzare un valore target per la vostra politica di scalabilità e una specifica metrica predefinita in un file JSON denominato config.json nella vostra home directory. Di seguito è riportato un esempio di configurazione di tracciamento degli obiettivi che mantiene l'utilizzo medio della CPU al 50%.

    $ cat ~/config.json { "TargetValue": 50.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "EC2SpotFleetRequestAverageCPUUtilization" } }

    Per ulteriori informazioni, vedere PredefinedMetricSpecificazione nell'Application Auto Scaling API Reference.

    In alternativa, puoi utilizzare una metrica personalizzata per il ridimensionamento creando una specifica metrica personalizzata e aggiungendo valori per ogni parametro da. CloudWatch Di seguito è riportato un esempio di configurazione di tracciamento degli obiettivi che mantiene l'utilizzo medio della metrica specificata a 100.

    $ cat ~/config.json { "TargetValue": 100.0, "CustomizedMetricSpecification":{ "MetricName": "MyUtilizationMetric", "Namespace": "MyNamespace", "Dimensions": [ { "Name": "MyOptionalMetricDimensionName", "Value": "MyOptionalMetricDimensionValue" } ], "Statistic": "Average", "Unit": "Percent" } }

    Per ulteriori informazioni, vedere CustomizedMetricSpecificazione nell'Application Auto Scaling API Reference.

  2. Utilizza il comando put-scaling-policy insieme al file config.json che hai creato per generare una policy di dimensionamento denominata cpu50-target-tracking-scaling-policy.

    Linux, macOS o Unix

    aws application-autoscaling put-scaling-policy --service-namespace ec2 \ --scalable-dimension ec2:spot-fleet-request:TargetCapacity \ --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --policy-name cpu50-target-tracking-scaling-policy --policy-type TargetTrackingScaling \ --target-tracking-scaling-policy-configuration file://config.json

    Windows

    aws application-autoscaling put-scaling-policy --service-namespace ec2 --scalable-dimension ec2:spot-fleet-request:TargetCapacity --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE --policy-name cpu50-target-tracking-scaling-policy --policy-type TargetTrackingScaling --target-tracking-scaling-policy-configuration file://config.json

    In caso di successo, questo comando restituisce gli ARN e i nomi dei due CloudWatch allarmi creati per tuo conto.

    { "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" } ] }

Descrizione delle policy di dimensionamento con monitoraggio degli obiettivi

È possibile descrivere tutte le policy di dimensionamento per lo spazio dei nomi dei servizi specificato utilizzando il comando describe-scaling-policies.

aws application-autoscaling describe-scaling-policies --service-namespace ec2

È possibile filtrare i risultati solo per le policy di dimensionamento del monitoraggio di target utilizzando il parametro --query. Per ulteriori informazioni sulla sintassi per query, consulta Controllo dell'output del comando dalla AWS CLI nella Guida per l'utente di 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`]"

Di seguito è riportato un output di esempio.

[ { "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 } ]

Eliminazione di una policy di dimensionamento con monitoraggio degli obiettivi

Una volta terminato con una policy di dimensionamento del monitoraggio di target, è possibile eliminarla utilizzando il comando delete-scaling-policy.

Il seguente comando elimina la policy di dimensionamento con monitoraggio degli obiettivi specificata per la richiesta della serie di istanze Spot indicata. Elimina anche gli CloudWatch allarmi creati da Application Auto Scaling per tuo conto.

Linux, macOS o Unix

aws application-autoscaling delete-scaling-policy --service-namespace ec2 \ --scalable-dimension ec2:spot-fleet-request:TargetCapacity \ --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --policy-name cpu50-target-tracking-scaling-policy

Windows

aws application-autoscaling delete-scaling-policy --service-namespace ec2 --scalable-dimension ec2:spot-fleet-request:TargetCapacity --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE --policy-name cpu50-target-tracking-scaling-policy