Ci sono altri AWS SDK esempi disponibili nel repository AWS Doc SDK Examples
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à.
Utilizzare PutScalingPolicy
con un CLI
I seguenti esempi di codice mostrano come utilizzarePutScalingPolicy
.
- CLI
-
- AWS CLI
-
Esempio 1: applicazione di una policy di dimensionamento con monitoraggio degli obiettivi con uno specifico parametro di default
L'
put-scaling-policy
esempio seguente applica una politica di scalabilità del tracciamento degli obiettivi con una specifica metrica predefinita a un ECS servizio Amazon chiamato web-app nel cluster predefinito. La policy mantiene l'CPUutilizzo medio del servizio al 75%, con periodi di recupero della scalabilità orizzontale e intermedia di 60 secondi. L'output contiene i nomi ARNs e i nomi dei due CloudWatch allarmi creati per tuo conto.aws application-autoscaling put-scaling-policy --service-namespace
ecs
\ --scalable-dimensionecs:service:DesiredCount
\ --resource-idservice/default/web-app
\ --policy-namecpu75-target-tracking-scaling-policy
--policy-typeTargetTrackingScaling
\ --target-tracking-scaling-policy-configurationfile://config.json
Questo esempio presuppone che nella directory corrente sia presente un file config.json con il seguente contenuto:
{ "TargetValue": 75.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ECSServiceAverageCPUUtilization" }, "ScaleOutCooldown": 60, "ScaleInCooldown": 60 }
Output:
{ "PolicyARN": "arn:aws:autoscaling:us-west-2:012345678910:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/ecs/service/default/web-app:policyName/cpu75-target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca", "AlarmName": "TargetTracking-service/default/web-app-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca" }, { "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d", "AlarmName": "TargetTracking-service/default/web-app-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d" } ] }
Esempio 2: applicazione di una policy di dimensionamento con monitoraggio degli obiettivi con uno specifico parametro personalizzato
L'
put-scaling-policy
esempio seguente applica una politica di scalabilità del tracciamento degli obiettivi con una specifica metrica personalizzata a un ECS servizio Amazon chiamato web-app nel cluster predefinito. La policy mantiene l'utilizzo medio del servizio al 75%, con periodi di recupero della scalabilità orizzontale e intermedia di 60 secondi. L'output contiene i nomi ARNs e i nomi dei due CloudWatch allarmi creati per tuo conto.aws application-autoscaling put-scaling-policy --service-namespace
ecs
\ --scalable-dimensionecs:service:DesiredCount
\ --resource-idservice/default/web-app
\ --policy-namecms75-target-tracking-scaling-policy
--policy-typeTargetTrackingScaling
\ --target-tracking-scaling-policy-configurationfile://config.json
Questo esempio presuppone che nella directory corrente sia presente un file config.json con il seguente contenuto:
{ "TargetValue":75.0, "CustomizedMetricSpecification":{ "MetricName":"MyUtilizationMetric", "Namespace":"MyNamespace", "Dimensions": [ { "Name":"MyOptionalMetricDimensionName", "Value":"MyOptionalMetricDimensionValue" } ], "Statistic":"Average", "Unit":"Percent" }, "ScaleOutCooldown": 60, "ScaleInCooldown": 60 }
Output:
{ "PolicyARN": "arn:aws:autoscaling:us-west-2:012345678910:scalingPolicy: 8784a896-b2ba-47a1-b08c-27301cc499a1:resource/ecs/service/default/web-app:policyName/cms75-target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmHigh-9bc77b56-0571-4276-ba0f-d4178882e0a0", "AlarmName": "TargetTracking-service/default/web-app-AlarmHigh-9bc77b56-0571-4276-ba0f-d4178882e0a0" }, { "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-service/default/web-app-AlarmLow-9b6ad934-6d37-438e-9e05-02836ddcbdc4", "AlarmName": "TargetTracking-service/default/web-app-AlarmLow-9b6ad934-6d37-438e-9e05-02836ddcbdc4" } ] }
Esempio 3: applicazione di una policy di dimensionamento con monitoraggio degli obiettivi per il solo aumento orizzontale
L'
put-scaling-policy
esempio seguente applica una politica di dimensionamento del tracciamento degli obiettivi a un ECS servizio Amazon chiamatoweb-app
nel cluster predefinito. La policy viene utilizzata per scalare orizzontalmente il ECS servizio quando laRequestCountPerTarget
metrica dell'Application Load Balancer supera la soglia. L'output contiene il nome ARN e il nome dell' CloudWatch allarme creato per tuo conto.aws application-autoscaling put-scaling-policy \ --service-namespace
ecs
\ --scalable-dimensionecs:service:DesiredCount
\ --resource-idservice/default/web-app
\ --policy-namealb-scale-out-target-tracking-scaling-policy
\ --policy-typeTargetTrackingScaling
\ --target-tracking-scaling-policy-configurationfile://config.json
Contenuto di
config.json
.{ "TargetValue": 1000.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ALBRequestCountPerTarget", "ResourceLabel": "app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d" }, "ScaleOutCooldown": 60, "ScaleInCooldown": 60, "DisableScaleIn": true }
Output:
{ "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/ecs/service/default/web-app:policyName/alb-scale-out-target-tracking-scaling-policy", "Alarms": [ { "AlarmName": "TargetTracking-service/default/web-app-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca", "AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-service/default/web-app-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca" } ] }
Per ulteriori informazioni, consulta Target Tracking Scaling Policies for Application Auto Scaling nella AWS Application Auto Scaling User Guide.
-
Per API i dettagli, consulta Command PutScalingPolicy
Reference AWS CLI .
-
- PowerShell
-
- Strumenti per PowerShell
-
Esempio 1: questo cmdlet crea o aggiorna una policy per un target scalabile Application Auto Scaling. Ogni destinazione scalabile è identificata da uno spazio dei nomi di servizio, un ID di risorsa e una dimensione scalabile.
Set-AASScalingPolicy -ServiceNamespace AppStream -PolicyName ASFleetScaleInPolicy -PolicyType StepScaling -ResourceId fleet/MyFleet -ScalableDimension appstream:fleet:DesiredCapacity -StepScalingPolicyConfiguration_AdjustmentType ChangeInCapacity -StepScalingPolicyConfiguration_Cooldown 360 -StepScalingPolicyConfiguration_MetricAggregationType Average -StepScalingPolicyConfiguration_StepAdjustments @{ScalingAdjustment = -1; MetricIntervalUpperBound = 0}
Output:
Alarms PolicyARN ------ --------- {} arn:aws:autoscaling:us-west-2:012345678912:scalingPolicy:4897ca24-3caa-4bf1-8484-851a089b243c:resource/appstream/fleet/MyFleet:policyName/ASFleetScaleInPolicy
-
Per i API dettagli, vedere PutScalingPolicyin Cmdlet Reference.AWS Tools for PowerShell
-