Amazon Elastic Container Service(Amazon ECS) 서비스의 예약된 규모 조정 작업을 보고 관리하려고 합니다.
해결 방법
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
특정 시간에 Amazon ECS 서비스의 최소 및 최대 작업 수를 예약하려면 서비스 오토 스케일링을 사용하십시오. 서비스 오토 스케일링을 구성하려면 Amazon ECS 콘솔을 사용하거나 AWS CLI를 사용할 수 있습니다.
AWS CLI를 사용하여 예약된 규모 조정 작업을 구성하려면 먼저 Amazon ECS 서비스를 확장 가능한 대상으로 등록해야 합니다. Amazon ECS 서비스에 확장 가능한 대상이 존재하는지 확인하려면 다음 describe-scalable-targets 명령을 실행하십시오.
aws application-autoscaling describe-scalable-targets \
--service-namespace ecs \
--resource-id service/ecs-cluster/service-name
참고: ecs-cluster를 클러스터 이름으로 바꾸고 service-name을 서비스 이름으로 바꾸십시오.
Amazon ECS 서비스에 확장 가능한 대상이 없는 경우 다음 register-scalable-target 명령을 실행하여 추가하십시오.
aws application-autoscaling register-scalable-target \
--service-namespace ecs \
--scalable-dimension ecs:service:DesiredCount \
--resource-id service/ecs-cluster/service-name \
--min-capacity 0 \
--max-capacity 0
참고: ecs-cluster를 클러스터 이름으로 바꾸고 service-name을 서비스 이름으로 바꾸십시오.
Amazon ECS 콘솔에서 예약된 모든 규모 조정 작업을 보고 수정하려면 다음 단계를 완료하십시오.
- Amazon ECS 콘솔을 엽니다.
- 서비스 오토 스케일링 탭을 선택합니다.
- 예약된 작업의 작업 드롭다운 목록에서 보기, 편집 또는 삭제를 선택합니다.
AWS CLI를 사용하여 새로운 예약된 규모 조정 작업을 생성하거나 기존 예약된 규모 조정 작업을 수정하려면 다음 put-scheduled-action 명령을 실행하십시오.
aws application-autoscaling put-scheduled-action \
--service-namespace ecs \
--scalable-dimension ecs:service:DesiredCount \
--resource-id service/ecs-cluster/service-name \
--scheduled-action-name action-name \
--scalable-target-action MinCapacity=minimum-count,MaxCapacity=maximum-count \
--schedule "schedule"
참고: ecs-cluster를 클러스터 이름으로 바꾸고, service-name을 서비스 이름으로 바꾸고, action-name을 예약된 작업 이름으로 바꾸십시오. 또한 minimum-count를 최소 작업 수로 바꾸고, maximum-count를 최대 작업 수로 바꾸고, schedule을 rate, cron 또는 at expression으로 바꾸십시오.
AWS CLI를 사용하여 예약된 작업을 보려면 다음 describe-scheduled-actions 명령을 실행하십시오.
aws application-autoscaling describe-scheduled-actions \
--service-namespace ecs \
--resource-id service/ecs-cluster/service-name
참고: ecs-cluster를 클러스터 이름으로 바꾸고 service-name을 서비스 이름으로 바꾸십시오.
AWS CLI를 사용하여 예약된 작업을 삭제하려면 다음 delete-scheduled-action 명령을 실행하십시오.
aws application-autoscaling delete-scheduled-action \
--service-namespace ecs \
--scalable-dimension ecs:service:DesiredCount \
--resource-id service/ecs-cluster/service-name \
--scheduled-action-name action-name
참고: ecs-cluster를 클러스터 이름으로 바꾸고, service-name을 서비스 이름으로 바꾸고, action-name을 예약된 작업 이름으로 바꾸십시오.
Amazon ECS 서비스에 대해 예약된 작업을 모두 삭제하면 확장 가능한 대상에서 서비스를 등록 취소할 수 있습니다. 다음 deregister-scalable-target 명령을 실행하십시오.
aws application-autoscaling deregister-scalable-target \
--service-namespace ecs \
--resource-id service/ecs-cluster/service-name \
--scalable-dimension ecs:service:DesiredCount
참고: ecs-cluster를 클러스터 이름으로 바꾸고 service-name을 서비스 이름으로 바꾸십시오.