기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon AppStream 2.0용 를 AWS CLI 사용하여 플릿 크기 조정 관리
AWS Command Line Interface ()를 사용하여 플릿 크기 조정을 설정하고 관리할 수 있습니다AWS CLI. 다중 조정 정책 설정 또는 스케일 인 및 스케일 아웃 휴지 시간 설정과 같은 고급 기능은 를 사용합니다 AWS CLI. 조정 정책 명령을 실행하기 전에 플릿을 확장 가능 대상으로 등록해야 합니다. 이렇게 하려면 다음 register-scalable-target 명령을 사용합니다.
aws application-autoscaling register-scalable-target --service-namespace appstream \ --resource-id fleet/
fleetname
\ --scalable-dimension appstream:fleet:DesiredCapacity \ --min-capacity 1 --max-capacity 5
예시
예제 1: 용량 사용률을 기반으로 조정 정책 적용
이 AWS CLI 예제에서는 사용률이 >= 75%인 경우 플릿을 25% 확장하는 조정 정책을 설정합니다.
다음 put-scaling-policy 명령은 사용률 기반 조정 정책을 정의합니다.
aws application-autoscaling put-scaling-policy --cli-input-json file://scale-out-utilization.json
scale-out-utilization.json
파일의 내용은 다음과 같습니다.
{ "PolicyName": "
policyname
", "ServiceNamespace": "appstream", "ResourceId": "fleet/fleetname
", "ScalableDimension": "appstream:fleet:DesiredCapacity", "PolicyType": "StepScaling", "StepScalingPolicyConfiguration": { "AdjustmentType": "PercentChangeInCapacity", "StepAdjustments": [ { "MetricIntervalLowerBound": 0, "ScalingAdjustment": 25 } ], "Cooldown": 120 } }
명령이 성공하면 일부 세부 정보가 계정 및 리전에 고유한 경우에도 다음과 비슷한 출력이 표시됩니다. 이 예제에서 정책 식별자는 e3425d21-16f0-d701-89fb-12f98dac64af
입니다.
{"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:e3425d21-16f0-d701-89fb-12f98dac64af:resource/appstream/fleet/SampleFleetName:policyName/scale-out-utilization-policy"}
이제 이 정책에 대한 CloudWatch 경보를 설정합니다. 사용자에게 적용되는 이름, 리전, 계정 번호 및 정책 식별자를 사용합니다. --alarm-actions
파라미터에 대해 이전 명령에서 ARN 반환된 정책을 사용할 수 있습니다.
aws cloudwatch put-metric-alarm --alarm-name
alarmname
\ --alarm-description "Alarm when Capacity Utilization exceeds 75 percent" \ --metric-name CapacityUtilization \ --namespace AWS/AppStream \ --statistic Average \ --period 300 \ --threshold 75 \ --comparison-operator GreaterThanOrEqualToThreshold \ --dimensions "Name=Fleet,Value=fleetname
" \ --evaluation-periods 1 --unit Percent \ --alarm-actions "arn:aws:autoscaling:your-region-code
:account-number-without-hyphens
:scalingPolicy:policyid
:resource/appstream/fleet/fleetname
:policyName/policyname
"
예제 2: 용량 부족 오류를 기반으로 조정 정책 적용
이 AWS CLI 예제에서는 플릿이 InsufficientCapacityError
오류를 반환하는 경우 플릿을 1만큼 스케일 아웃하는 스케일링 정책을 설정합니다.
다음 명령은 용량 부족 기반 조정 정책을 정의합니다.
aws application-autoscaling put-scaling-policy --cli-input-json file://scale-out-capacity.json
scale-out-capacity.json
파일의 내용은 다음과 같습니다.
{ "PolicyName": "
policyname
", "ServiceNamespace": "appstream", "ResourceId": "fleet/fleetname
", "ScalableDimension": "appstream:fleet:DesiredCapacity", "PolicyType": "StepScaling", "StepScalingPolicyConfiguration": { "AdjustmentType": "ChangeInCapacity", "StepAdjustments": [ { "MetricIntervalLowerBound": 0, "ScalingAdjustment": 1 } ], "Cooldown": 120 } }
명령이 성공하면 일부 세부 정보가 계정 및 리전에 고유한 경우에도 다음과 비슷한 출력이 표시됩니다. 이 예제에서 정책 식별자는 f4495f21-0650-470c-88e6-0f393adb64fc
입니다.
{"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:f4495f21-0650-470c-88e6-0f393adb64fc:resource/appstream/fleet/SampleFleetName:policyName/scale-out-insufficient-capacity-policy"}
이제 이 정책에 대한 CloudWatch 경보를 설정합니다. 사용자에게 적용되는 이름, 리전, 계정 번호 및 정책 식별자를 사용합니다. --alarm-actions
파라미터에 대해 이전 명령에서 ARN 반환된 정책을 사용할 수 있습니다.
aws cloudwatch put-metric-alarm --alarm-name
alarmname
\ --alarm-description "Alarm when out of capacity is > 0" \ --metric-name InsufficientCapacityError \ --namespace AWS/AppStream \ --statistic Maximum \ --period 300 \ --threshold 0 \ --comparison-operator GreaterThanThreshold \ --dimensions "Name=Fleet,Value=fleetname
" \ --evaluation-periods 1 --unit Count \ --alarm-actions "arn:aws:autoscaling:your-region-code
:account-number-without-hyphens
:scalingPolicy:policyid
:resource/appstream/fleet/fleetname
:policyName/policyname
"
예제 3: 낮은 용량 사용률을 기반으로 조정 정책 적용
이 AWS CLI 예제에서는 가 CapacityUtilization
낮을 때 실제 용량을 줄이기 위해 플릿에서 확장하는 조정 정책을 설정합니다.
다음 명령은 잉여 용량 기반 조정 정책을 정의합니다.
aws application-autoscaling put-scaling-policy --cli-input-json file://scale-in-capacity.json
scale-in-capacity.json
파일의 내용은 다음과 같습니다.
{ "PolicyName": "
policyname
", "ServiceNamespace": "appstream", "ResourceId": "fleet/fleetname
", "ScalableDimension": "appstream:fleet:DesiredCapacity", "PolicyType": "StepScaling", "StepScalingPolicyConfiguration": { "AdjustmentType": "PercentChangeInCapacity", "StepAdjustments": [ { "MetricIntervalUpperBound": 0, "ScalingAdjustment": -25 } ], "Cooldown": 360 } }
명령이 성공하면 일부 세부 정보가 계정 및 리전에 고유한 경우에도 다음과 비슷한 출력이 표시됩니다. 이 예제에서 정책 식별자는 12ab3c4d-56789-0ef1-2345-6ghi7jk8lm90
입니다.
{"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:12ab3c4d-56789-0ef1-2345-6ghi7jk8lm90:resource/appstream/fleet/SampleFleetName:policyName/scale-in-utilization-policy"}
이제 이 정책에 대한 CloudWatch 경보를 설정합니다. 사용자에게 적용되는 이름, 리전, 계정 번호 및 정책 식별자를 사용합니다. --alarm-actions
파라미터에 대해 이전 명령에서 ARN 반환된 정책을 사용할 수 있습니다.
aws cloudwatch put-metric-alarm --alarm-name
alarmname
\ --alarm-description "Alarm when Capacity Utilization is less than or equal to 25 percent" \ --metric-name CapacityUtilization \ --namespace AWS/AppStream \ --statistic Average \ --period 120 \ --threshold 25 \ --comparison-operator LessThanOrEqualToThreshold \ --dimensions "Name=Fleet,Value=fleetname
" \ --evaluation-periods 10 --unit Percent \ --alarm-actions "arn:aws:autoscaling:your-region-code
:account-number-without-hyphens
:scalingPolicy:policyid
:resource/appstream/fleet/fleetname
:policyName/policyname
"
예 4: 일정에 따른 플릿 용량 변경
일정에 따라 플릿 용량을 변경하면 예측 가능한 수요 변화에 따라 플릿 용량을 조정할 수 있습니다. 예를 들어, 영업일이 시작될 때 동시에 스트리밍 연결을 요청하는 일정 수의 사용자를 예상할 수 있습니다. 일정에 따라 플릿 용량을 변경하려면 Application Auto Scaling PutScheduledAction API 작업 또는 put-scheduled-action AWS CLI 명령을 사용할 수 있습니다.
플릿 용량을 변경하기 전에 AppStream 2.0 describe-fleets AWS CLI 명령을 사용하여 현재 플릿 용량을 나열할 수 있습니다.
aws appstream describe-fleets --name
fleetname
현재 플릿 용량은 다음 출력과 비슷하게 표시됩니다(JSON형식으로 표시됨).
{
{
"ComputeCapacityStatus": {
"Available": 1,
"Desired": 1,
"Running": 1,
"InUse": 0
},
}
그러면 put-scheduled-action
명령을 사용하여 플릿 용량을 변경하기 위한 예약 작업을 생성합니다. 예를 들어 다음 명령은 매일 오전 9시에 최소 용량을 3으로 변경하고 최대 용량을 5로 변경합니다UTC.
참고
cron 표현식의 경우 에서 작업을 수행할 시기를 지정합니다UTC. 자세한 내용은 Cron 식 단원을 참조하십시오.
aws application-autoscaling put-scheduled-action --service-namespace appstream \ --resource-id fleet/
fleetname
\ --schedule="cron(0 9 * * ? *)" \ --scalable-target-action MinCapacity=3,MaxCapacity=5 \ --scheduled-action-name ExampleScheduledAction \ --scalable-dimension appstream:fleet:DesiredCapacity
플릿 용량을 변경하는 예약된 작업이 성공적으로 생성되었는지 확인하려면 describe-scheduled-actions 명령을 실행합니다.
aws application-autoscaling describe-scheduled-actions --service-namespace appstream --resource-id fleet/
fleetname
예약 작업이 성공적으로 생성되면 다음과 같은 출력이 나타납니다.
{
"ScheduledActions": [
{
"ScalableDimension": "appstream:fleet:DesiredCapacity",
"Schedule": "cron(0 9 * * ? *)",
"ResourceId": "fleet/ExampleFleet",
"CreationTime": 1518651232.886,
"ScheduledActionARN": "<arn>",
"ScalableTargetAction": {
"MinCapacity": 3,
"MaxCapacity": 5
},
"ScheduledActionName": "ExampleScheduledAction",
"ServiceNamespace": "appstream"
}
]
}
자세한 내용은 https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.htmlApplication Auto Scaling 사용 설명서의 예약된 조정을 참조하세요.
예제 5: 목표 추적 조정 정책 적용
목표 추적 조정을 통해 플릿에 대한 용량 사용률 수준을 지정할 수 있습니다.
대상 추적 조정 정책을 생성하면 Application Auto Scaling은 조정 정책을 트리거하는 CloudWatch 경보를 자동으로 생성하고 관리합니다. 조정 정책은 필요에 따라 용량을 추가하거나 제거하여 용량 사용률을 지정한 목표 값에 또는 가깝게 유지합니다. 애플리케이션 가용성을 보장하기 위해 플릿은 가능한 한 빨리 지표에 비례하여 확장되고 더 서서히 축소됩니다.
다음 put-scaling-policy 명령은 AppStream 2.0 플릿의 용량 사용률을 75% 유지하려는 대상 추적 조정 정책을 정의합니다.
aws application-autoscaling put-scaling-policy --cli-input-json file://config.json
config.json
파일의 내용은 다음과 같습니다.
{ "PolicyName":"target-tracking-scaling-policy", "ServiceNamespace":"appstream", "ResourceId":"fleet/
fleetname
", "ScalableDimension":"appstream:fleet:DesiredCapacity", "PolicyType":"TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration":{ "TargetValue":75.0, "PredefinedMetricSpecification":{ "PredefinedMetricType":"AppStreamAverageCapacityUtilization" }, "ScaleOutCooldown":300, "ScaleInCooldown":300 } }
명령이 성공하면 일부 세부 정보가 계정 및 리전에 고유한 경우에도 다음과 비슷한 출력이 표시됩니다. 이 예제에서 정책 식별자는 6d8972f3-efc8-437c-92d1-6270f29a66e7입니다.
{
"PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/appstream/fleet/fleetname:policyName/target-tracking-scaling-policy",
"Alarms": [
{
"AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-fleet/fleetname-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca",
"AlarmName": "TargetTracking-fleet/fleetname-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca"
},
{
"AlarmARN": "arn:aws:cloudwatch:us-west-2:123456789012:alarm:TargetTracking-fleet/fleetname-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d",
"AlarmName": "TargetTracking-fleet/fleetname-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d"
}
]
}
자세한 내용은 Application Auto Scaling 사용 설명서의 대상 추적 조정 정책을 참조하세요. Auto Scaling