예약된 Auto Scaling 작업 - AWS Elastic Beanstalk

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

예약된 Auto Scaling 작업

예측 가능한 피크 트래픽 기간에 환경에서 Amazon EC2 인스턴스의 사용을 최적화하려면 일정에 따라 인스턴스 개수를 변경하도록 Amazon EC2 Auto Scaling 그룹을 구성합니다. 매일 오전에 확장되고 트래픽이 낮은 야간에는 축소되는 반복 작업으로 환경을 구성할 수 있습니다. 예를 들어 제한된 기간 동안 사이트에 대한 트래픽을 높이는 마케팅 이벤트가 있는 경우 이벤트 시작 시 확장되는 일회성 이벤트 하나와 이벤트 종료 시 축소되는 또 다른 이벤트 하나를 예약할 수 있습니다.

활성 예약 작업은 환경당 최대 120개까지 정의할 수 있습니다. 또한 Elastic Beanstalk에서는 만료된 예약 작업을 최대 150개까지 보관하므로 설정을 업데이트해 다시 사용할 수 있습니다.

예약 작업 구성

Elastic Beanstalk 콘솔에서 환경의 Auto Scaling 그룹에 대한 예약 작업을 생성할 수 있습니다.

Elastic Beanstalk 콘솔에서 예약된 작업을 구성하려면
  1. Elastic Beanstalk 콘솔을 연 다음 리전(Regions) 목록에서 해당 AWS 리전을 선택합니다.

  2. 탐색 창에서 환경을 선택한 다음 목록에서 환경 이름을 선택합니다.

    참고

    여러개의 환경을 보유한 경우 검색 창을 통해 환경 목록을 필터링합니다.

  3. 탐색 창에서 구성을 선택합니다.

  4. [용량] 구성 범주에서 [편집]을 선택합니다.

  5. [시간 기반 조정] 섹션에서 [예약된 작업 추가]를 선택합니다.

    Elastic Beanstalk Auto Scaling 예약된 작업 구성 창
  6. 다음 예약된 작업 설정을 채웁니다.

    • 이름(Name) - 최대 255자의 영숫자를 공백 없이 입력해 고유한 이름을 지정합니다.

    • 인스턴스(Instances) - Auto Scaling 그룹에 적용할 최소 및 최대 인스턴스 개수를 선택합니다.

    • 원하는 용량(선택 사항) - Auto Scaling 그룹에 원하는 초기 용량을 설정합니다. 예약 작업이 적용되면 트리거가 설정을 기반으로 원하는 용량을 조정합니다.

    • 발생(Occurrence) - 일정에 따라 조정 작업을 반복하려면 반복(Recurring)을 선택합니다.

    • 시작 시간(Start time) - 일회성 작업의 경우 작업을 실행할 날짜와 시간을 선택합니다.

      반복 작업의 경우 시작 시간은 선택 사항입니다. 이 옵션을 지정하여 작업이 수행되는 가장 빠른 시간을 선택합니다. 이 시간이 지나면 반복에 따라 작업이 반복됩니다.

    • 반복 시간(Recurrence) - Cron 식을 사용하여 예약된 작업을 실행할 빈도를 지정합니다. 예를 들어 30 6 * * 2는 매주 화요일 오전 6:30 UTC에 작업을 실행합니다.

    • 종료 시간(End time)(선택 사항) - 반복 작업에 대한 옵션입니다. 종료 시간이 지정되면 작업이 반복 표현식에 따라 반복되며, 이 시간 이후에는 다시 수행되지 않습니다.

      예약 작업이 종료됐을 때 Auto Scaling은 이전 설정으로 자동으로 되돌아가지 않습니다. 필요에 따라 두 번째 예약 작업은 Auto Scaling을 원래 설정으로 되돌리도록 구성할 수 있습니다.

  7. [추가]를 선택합니다.

  8. 변경 사항을 저장하려면 페이지 하단에서 적용을 선택합니다.

    참고

    예약된 작업은 적용될 때까지 저장되지 않습니다.

aws:autoscaling:scheduledaction 네임스페이스

많은 수의 예약 작업을 구성해야 하는 경우 구성 파일 또는 Elastic Beanstalk API를 사용하여 YAML 또는 JSON 파일의 구성 옵션 변경 사항을 적용할 수 있습니다. 또한 이러한 방법을 통해 Suspend 옵션에 액세스해 반복 예약 작업을 일시적으로 비활성화할 수 있습니다.

참고

콘솔 외부에서 예약 작업 구성 옵션을 사용하는 경우에는 ISO 8601 시간 형식을 사용하여 시작 및 종료 시간을 UTC로 지정합니다. 예를 들면 2015-04-28T04:07:02Z입니다. ISO 8601 시간 형식에 대한 자세한 내용은 날짜 및 시간 형식을 참조하십시오. 날짜는 예약된 모든 작업에서 고유해야 합니다.

Elastic Beanstalk에서는 aws:autoscaling:scheduledaction 네임스페이스에 예약 작업 설정에 대한 구성 옵션을 제공합니다. resource_name 필드를 사용해 예약 작업의 이름을 지정합니다.

예 Scheduled-scale-up-specific-time-long.config

이 구성 파일은 Elastic Beanstalk가 2015-12-12T00:00:00Z에 5개에서 10개의 인스턴스를 스케일 아웃하도록 지시합니다.

option_settings: - namespace: aws:autoscaling:scheduledaction resource_name: ScheduledScaleUpSpecificTime option_name: MinSize value: '5' - namespace: aws:autoscaling:scheduledaction resource_name: ScheduledScaleUpSpecificTime option_name: MaxSize value: '10' - namespace: aws:autoscaling:scheduledaction resource_name: ScheduledScaleUpSpecificTime option_name: DesiredCapacity value: '5' - namespace: aws:autoscaling:scheduledaction resource_name: ScheduledScaleUpSpecificTime option_name: StartTime value: '2015-12-12T00:00:00Z'
예 Scheduled-scale-up-specific-time.config

EB CLI 또는 구성 파일에 간편 구문을 사용하려면 네임스페이스 앞에 리소스 이름을 추가합니다.

option_settings: ScheduledScaleUpSpecificTime.aws:autoscaling:scheduledaction: MinSize: '5' MaxSize: '10' DesiredCapacity: '5' StartTime: '2015-12-12T00:00:00Z'
예 Scheduled-scale-down-specific-time.config

이 구성 파일은 Elastic Beanstalk가 2015-12-12T07:00:00Z에 스케일 인을 수행하도록 지시합니다.

option_settings: ScheduledScaleDownSpecificTime.aws:autoscaling:scheduledaction: MinSize: '1' MaxSize: '1' DesiredCapacity: '1' StartTime: '2015-12-12T07:00:00Z'
예 Scheduled-periodic-scale-up.config

이 구성 파일은 Elastic Beanstalk가 매일 오전 9시에 스케일 아웃을 수행하도록 지시합니다. 이 작업은 2015년 5월 14일에 시작하여 2016년 1월 12일에 종료하도록 예약되어 있습니다.

option_settings: ScheduledPeriodicScaleUp.aws:autoscaling:scheduledaction: MinSize: '5' MaxSize: '10' DesiredCapacity: '5' StartTime: '2015-05-14T07:00:00Z' EndTime: '2016-01-12T07:00:00Z' Recurrence: 0 9 * * *
예 Scheduled-periodic-scale-down.config

이 구성 파일은 Elastic Beanstalk가 매일 오후 6시에 실행 중인 인스턴스가 없도록 스케일 인을 수행하도록 지시합니다. 애플리케이션이 영업 시간 외에는 대부분 유휴 상태인 경우에도 비슷하게 예약된 작업을 생성할 수 있습니다. 애플리케이션이 영업 시간이 아닐 때 실행되지 않도록 만들려면 MaxSize0로 변경합니다.

option_settings: ScheduledPeriodicScaleDown.aws:autoscaling:scheduledaction: MinSize: '0' MaxSize: '1' DesiredCapacity: '0' StartTime: '2015-05-14T07:00:00Z' EndTime: '2016-01-12T07:00:00Z' Recurrence: 0 18 * * *
예 Scheduled-weekend-scale-down.config

이 구성 파일은 Elastic Beanstalk가 금요일 오후 6시마다 스케일 인을 수행하도록 지시합니다. 애플리케이션이 주말 동안 많은 트래픽을 받지 못한다면 비슷한 예약된 작업을 만들 수 있습니다.

option_settings: ScheduledWeekendScaleDown.aws:autoscaling:scheduledaction: MinSize: '1' MaxSize: '4' DesiredCapacity: '1' StartTime: '2015-12-12T07:00:00Z' EndTime: '2016-01-12T07:00:00Z' Recurrence: 0 18 * * 5