PutScalingPolicyOR와 함께 사용 AWS SDK CLI - AWS SDK코드 예제

AWS 문서 AWS SDK SDK 예제 GitHub 리포지토리에 더 많은 예제가 있습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

PutScalingPolicyOR와 함께 사용 AWS SDK CLI

다음 코드 예제는 PutScalingPolicy의 사용 방법을 보여 줍니다.

CLI
AWS CLI

예 1: 사전 정의된 지표 사양을 사용하여 대상 추적 조정 정책 적용

다음 put-scaling-policy 예제는 기본 클러스터의 web-app이라는 Amazon ECS 서비스에 사전 정의된 지표 사양이 포함된 대상 추적 조정 정책을 적용합니다. 이 정책은 서비스의 평균 CPU 사용률을 75% 로 유지하고 스케일 아웃 및 스케일 인 휴지 기간은 60초입니다. 출력에는 사용자 대신 생성된 두 CloudWatch 경보의 ARNs 및 이름이 포함됩니다.

aws application-autoscaling put-scaling-policy --service-namespace ecs \ --scalable-dimension ecs:service:DesiredCount \ --resource-id service/default/web-app \ --policy-name cpu75-target-tracking-scaling-policy --policy-type TargetTrackingScaling \ --target-tracking-scaling-policy-configuration file://config.json

이 예제에서는 현재 디렉터리에 다음 내용이 포함된 config.json 파일이 있다고 가정합니다.

{ "TargetValue": 75.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ECSServiceAverageCPUUtilization" }, "ScaleOutCooldown": 60, "ScaleInCooldown": 60 }

출력:

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

예 2: 사용자 지정된 지표 사양을 사용하여 대상 추적 조정 정책 적용

다음 put-scaling-policy 예제는 사용자 지정된 지표 사양이 포함된 대상 추적 조정 정책을 기본 클러스터의 web-app이라는 Amazon ECS 서비스에 적용합니다. 이 정책은 서비스의 평균 사용률을 75% 로 유지하고 스케일 아웃 및 스케일 인 휴지 기간은 60초입니다. 출력에는 사용자 대신 생성된 두 CloudWatch 경보의 ARNs 및 이름이 포함됩니다.

aws application-autoscaling put-scaling-policy --service-namespace ecs \ --scalable-dimension ecs:service:DesiredCount \ --resource-id service/default/web-app \ --policy-name cms75-target-tracking-scaling-policy --policy-type TargetTrackingScaling \ --target-tracking-scaling-policy-configuration file://config.json

이 예제에서는 현재 디렉터리에 다음 내용이 포함된 config.json 파일이 있다고 가정합니다.

{ "TargetValue":75.0, "CustomizedMetricSpecification":{ "MetricName":"MyUtilizationMetric", "Namespace":"MyNamespace", "Dimensions": [ { "Name":"MyOptionalMetricDimensionName", "Value":"MyOptionalMetricDimensionValue" } ], "Statistic":"Average", "Unit":"Percent" }, "ScaleOutCooldown": 60, "ScaleInCooldown": 60 }

출력:

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

예 3: 스케일 아웃을 위한 대상 추적 조정 정책 적용

다음 put-scaling-policy 예제는 기본 web-app 클러스터에서 호출되는 Amazon ECS 서비스에 대상 추적 조정 정책을 적용합니다. 이 정책은 Application Load Balancer의 RequestCountPerTarget 지표가 임계값을 초과할 때 ECS 서비스를 확장하는 데 사용됩니다. 출력에는 사용자 대신 생성된 CloudWatch 경보의 ARN 및 이름이 포함됩니다.

aws application-autoscaling put-scaling-policy \ --service-namespace ecs \ --scalable-dimension ecs:service:DesiredCount \ --resource-id service/default/web-app \ --policy-name alb-scale-out-target-tracking-scaling-policy \ --policy-type TargetTrackingScaling \ --target-tracking-scaling-policy-configuration file://config.json

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 }

출력:

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

자세한 내용은 Application Auto Scaling 사용 설명서의 Application Auto Scaling을AWS 위한 대상 추적 조정 정책을 참조하십시오.

  • 자세한 API 내용은 AWS CLI 명령 PutScalingPolicy참조를 참조하십시오.

PowerShell
도구: PowerShell

예 1: 이 cmdlet은 Application Auto Scaling 확장 가능 대상에 대한 정책을 만들거나 업데이트합니다. 각 확장 가능한 대상은 서비스 네임스페이스, 리소스 ID 및 확장 가능한 차원으로 식별됩니다.

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}

출력:

Alarms PolicyARN ------ --------- {} arn:aws:autoscaling:us-west-2:012345678912:scalingPolicy:4897ca24-3caa-4bf1-8484-851a089b243c:resource/appstream/fleet/MyFleet:policyName/ASFleetScaleInPolicy
  • 자세한 API 내용은 AWS Tools for PowerShell Cmdlet PutScalingPolicy참조를 참조하십시오.