Amazon ECS 서비스 자동 확장용 단계 확장(step scaling) 정책 만들기

Amazon ECS 서비스 자동 확장용 단계 확장(step scaling) 정책 만들기

단계 확장 정책을 만들면 Amazon ECS가 서비스의 원하는 태스크 수를 자동으로 늘리거나 줄일 수 있어요. 단계 확장은 알람 위반(alarm breach)의 크기에 따라 달라지는 일련의 확장 조정(step adjustments)을 기반으로 실행됩니다.

출처: 문서

본문

서비스를 만들고 업데이트하기 위한 표준 IAM 권한 외에 추가 권한이 필요해요. 자세한 내용은 Amazon ECS 서비스 자동 확장에 필요한 IAM 권한(IAM permissions required for Amazon ECS service auto scaling)을 참고하세요.

정책에 사용할 지표를 결정합니다. 사용 가능한 지표는 다음과 같아요:

  • ECSServiceAverageCPUUtilization – 서비스가 사용해야 하는 평균 CPU 사용률.
  • ECSServiceAverageMemoryUtilization – 서비스가 사용해야 하는 평균 메모리 사용률.
  • ALBRequestCountPerTarget – 태스크가 이상적으로 받아야 하는 분당 평균 요청 수.

지표에 대한 CloudWatch 알람을 만듭니다. 자세한 내용은 Amazon CloudWatch 사용자 가이드의 정적 임계값 기반 CloudWatch 알람 만들기(Create a CloudWatch alarm based on a static threshold)를 참고하세요.

  1. https://console.aws.amazon.com/ecs/v2 에서 콘솔을 엽니다.
  2. Clusters 페이지에서 클러스터를 선택합니다.
  3. 클러스터 세부 정보 페이지의 Services 섹션에서 서비스를 선택합니다. 서비스 세부 정보 페이지가 나타납니다.
  4. Set the number of tasks 을 선택합니다.
  5. Amazon ECS service task count 아래에서 Use auto scaling 을 선택합니다. Task count 섹션이 나타납니다.
  6. Minimum number of tasks 에서 서비스 자동 확장이 사용할 태스크 수의 하한을 입력합니다. desired count는 이 수보다 아래로 내려가지 않아요.
  7. Maximum 에서 서비스 자동 확장이 사용할 태스크 수의 상한을 입력합니다. desired count는 이 수보다 위로 올라가지 않습니다.
  8. Save 을 선택합니다. policies 페이지가 나타납니다.
  9. Create scaling policy 을 선택합니다. Create policy 페이지가 나타납니다.
  10. Scaling policy type 에서 Step Scaling 을 선택합니다.
  11. 확장(scaling-out) 속성을 구성합니다. Steps to add tasks 아래에서 다음을 수행합니다:
    • Policy name 에 정책 이름을 입력합니다.
    • CloudWatch alarm name 에서 CloudWatch 알람을 선택합니다.
    • Metric aggregation type 에서 선택한 지표를 정의된 임계값과 어떻게 비교할지 선택합니다.
    • Adjustment types 에서 조정이 태스크 수의 변경을 기준으로 하는지, 태스크 백분율의 변경을 기준으로 하는지 선택합니다.
    • Actions to take 에 취할 조치 값을 입력합니다.
    • Add step 을 선택해 추가 작업을 추가합니다.
  12. 축소(scaling-in) 속성을 구성합니다. Steps to remove tasks 아래에서 다음을 수행합니다:
    • Policy name 에 정책 이름을 입력합니다.
    • CloudWatch alarm name 에서 CloudWatch 알람을 선택합니다.
    • Metric aggregation type 에서 선택한 지표를 정의된 임계값과 어떻게 비교할지 선택합니다.
    • Adjustment types 에서 조정이 태스크 수 변경 또는 태스크 백분율 변경을 기준으로 하는지 선택합니다.
    • Actions to take 에 취할 조치 값을 입력합니다.
    • Add step 을 선택해 추가 작업을 추가합니다.
  13. Cooldown period 에서 이전 확장 활동이 적용되기를 기다리는 시간(초)을 입력합니다. 추가(add) 정책의 경우, 이는 scale-out 활동 후 확장 정책이 scale-in 활동을 차단하고 한 번에 scale out 할 수 있는 태스크 수를 제한하는 시간이에요. 제거(remove) 정책의 경우, 이는 scale-in 활동 후 다른 scale-in 활동이 시작되기 전에 지나야 하는 시간입니다.
  14. Create scaling policy 을 선택합니다.

register-scalable-target 명령으로 Amazon ECS 서비스를 확장 가능한 대상(scalable target)으로 등록합니다.

put-scaling-policy 명령으로 확장 정책을 만듭니다.