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 AWS CLI
Questo esempio utilizza AWS CLI i comandi per creare una politica di tracciamento degli obiettivi per una flotta Amazon EC2 Spot. Per un target scalabile diverso, specifica il relativo spazio dei nomi in--service-namespace, la dimensione scalabile in e l'ID della risorsa in--scalable-dimension. --resource-id
Quando usi il AWS CLI, ricorda che i 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.
Attività
Fase 1: Registrare un target scalabile
Se non lo hai ancora fatto, registra l'obiettivo scalabile. Utilizza il register-scalable-targetcomando per registrare una risorsa specifica nel servizio di destinazione come destinazione 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 ogni user input
placeholder con le tue informazioni.
Linux, macOS o Unix
aws application-autoscaling register-scalable-target --service-namespaceec2\ --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-namespaceec2^ --scalable-dimensionec2:spot-fleet-request:TargetCapacity^ --resource-idspot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE^ --min-capacity2--max-capacity10
Output
In caso di esito positivo, il comando restituisce l'ARN dell'obiettivo scalabile. Di seguito è riportato un output di esempio.
{
"ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123"
}
Fase 2: creazione 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
-
Utilizzate il
catcomando seguente per memorizzare un valore target per la vostra politica di scalabilità e una specifica metrica predefinita in un file JSON denominatoconfig.jsonnella 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, consulta PredefinedMetricSpecificationl'Application Auto Scaling API Reference.
In alternativa, è possibile utilizzare un parametro personalizzato per il dimensionamento creando una specifica di parametro personalizzata e aggiungendo i valori per ciascun 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, consulta CustomizedMetricSpecificationl'Application Auto Scaling API Reference.
-
Utilizza il seguente comando put-scaling-policy insieme al file
config.jsonche hai creato per generare una policy di dimensionamento denominatacpu50-target-tracking-scaling-policy:Linux, macOS o Unix
aws application-autoscaling put-scaling-policy --service-namespaceec2\ --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.jsonWindows
aws application-autoscaling put-scaling-policy --service-namespaceec2^ --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.jsonOutput
In caso di successo, questo comando restituisce i nomi ARNs e i nomi dei due CloudWatch allarmi creati per tuo conto. Di seguito è riportato un output di esempio.
{ "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" } ] }
Fase 3: Descrivi le politiche di scalabilità del tracciamento 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-namespaceec2
È 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-namespaceec2\ --query 'ScalingPolicies[?PolicyType==`TargetTrackingScaling`]'
Windows
aws application-autoscaling describe-scaling-policies --service-namespaceec2^ --query "ScalingPolicies[?PolicyType==`TargetTrackingScaling`]"
Output
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
}
]