Amazon EC2 Auto Scaling
사용 설명서

Amazon EC2 Auto Scaling의 예약된 조정

일정을 기반으로 조정을 수행하면 예측 가능한 로드 변경에 맞게 애플리케이션을 조정할 수 있습니다. 예를 들어, 매주 수요일에 웹 애플리케이션에 대한 트래픽이 증가하고 목요일까지 높은 상태로 유지되다가 금요일이 줄어들기 시작합니다. 웹 애플리케이션의 예측 가능한 트래픽 패턴에 따라 조정 활동을 계획할 수 있습니다.

일정을 기반으로 Auto Scaling 그룹이 조정하도록 구성하려면 Amazon EC2 Auto Scaling이 지정 시간에 조정 작업을 실행하도록 예약된 작업을 생성하십시오. 예약된 조정 작업을 생성하려면 조정 작업이 시행되어야 하는 시작 시간을 지정하고, 조정 작업을 위한 최소 및 최대 크기와 원하는 크기를 새로 지정합니다. 지정된 시간에 Amazon EC2 Auto Scaling은 조정 작업에서 정의한 대로 최소, 최대 크기와 원하는 크기에 대한 새 값으로 그룹을 업데이트합니다.

일회성 조정 또는 반복되는 일정으로 조정하도록 예약된 작업을 생성할 수 있습니다.

Application Auto Scaling을 통해 예약된 조정을 사용할 수도 있습니다. 자세한 내용은 Application Auto Scaling 사용 설명서에서 예약된 조정을 참조하십시오.

예약된 작업에 대한 고려 사항

예약된 작업을 만들 경우 다음 사항에 유의해야 합니다.

  • 그룹 전체가 아니라 동일한 그룹 내에서 예약된 작업의 실행 순서가 보장됩니다.

  • 예약된 작업은 대체로 수 초 내에 실행됩니다. 하지만 작업이 예약된 시작 시간에서 최대 2분까지 지연될 수 있습니다. 이것은 Auto Scaling 그룹 내의 작업은 지정된 순서대로 실행하기 때문이며 예약된 작업의 예약된 시작 시간이 서로 가까운 경우 실행하는 데 더 많은 시간이 소요될 수 있습니다.

  • Auto Scaling 그룹당 최대 125개의 예약된 작업을 만들 수 있습니다.

  • 예약된 작업은 고유한 시간 값을 가져야 합니다. 또 다른 조정 작업이 이미 예약된 경우 한 번에 하나의 활동을 예약하려고 시도하면 충돌을 알리는 오류 메시지와 함께 호출이 거부됩니다.

  • 휴지 기간은 지원되지 않습니다.

콘솔을 사용하여 예약된 작업 만들기

다음 절차를 완료하여 Auto Scaling 그룹을 조정하기 위한 예약된 작업을 만듭니다.

예약된 작업을 만들려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창의 Auto Scaling 아래에서 Auto Scaling 그룹을 선택합니다.

  3. Auto Scaling 그룹을 선택합니다.

  4. [Scheduled Actions] 탭에서 [Create Scheduled Action]을 선택합니다.

  5. [Create Scheduled Action] 페이지에서 다음을 수행합니다.

    • [Min], [Max], [Desired Capacity] 중 하나 이상을 사용하여 그룹의 크기를 지정합니다.

    • [Recurrence] 옵션을 선택합니다. [Once]를 선택하면 지정된 시간에 작업을 수행합니다. [Cron]을 선택하는 경우, 작업을 수행하는 시기를 지정하는 Cron 식을 UTC로 입력합니다. [Every]로 시작하는 옵션을 선택하면 Cron 식이 생성됩니다.

    • [Recurrence]에서 [Once를] 선택한 경우, [Start Time]에 작업 시간을 지정합니다.

    • 반복 일정을 선택한 경우, [Start Time]과 [End Time] 값을 지정할 수 있습니다. 시작 시간을 지정한 경우, 이때 작업을 실행한 후 반복 일정에 따라 작업을 실행합니다. 종료 시간을 지정하면 이 시간 이후에 작업을 수행하지 않습니다.

  6. Create를 선택합니다.

예약된 작업 업데이트

요구 사항이 변경되는 경우, 예약된 작업을 업데이트할 수 있습니다.

예약된 작업을 업데이트하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창의 Auto Scaling 아래에서 Auto Scaling 그룹을 선택합니다.

  3. Auto Scaling 그룹을 선택합니다.

  4. [Scheduled Actions] 탭에서 예약된 작업을 선택합니다.

  5. [Actions], [Edit]를 선택합니다.

  6. [Edit Scheduled Action] 페이지에서 다음을 수행합니다.

    • [Min], [Max] 또는 [Desired Capacity]를 사용하여 필요에 따라 그룹의 크기를 업데이트합니다.

    • 필요에 따라 지정된 반복을 업데이트합니다.

    • 필요에 따라 시작 및 종료 시간을 업데이트합니다.

    • Save를 선택합니다.

AWS CLI를 사용하여 예약된 작업을 만들거나 업데이트

일회성 조정 또는 반복되는 일정으로 조정하도록 일정을 생성할 수 있습니다.

일회성 조정을 예약하려면

지정된 시간(UTC 시간의 "YYYY-MM-DDThh:mm:ssZ" 형식)에 Auto Scaling 그룹에서 실행 중인 인스턴스의 수를 늘리려면 다음 put-scheduled-update-group-action 명령을 사용합니다.

aws autoscaling put-scheduled-update-group-action --scheduled-action-name ScaleUp --auto-scaling-group-name my-asg --start-time "2013-05-12T08:00:00Z" --desired-capacity 3

지정된 시간(UTC 시간의 "YYYY-MM-DDThh:mm:ssZ" 형식)에 Auto Scaling 그룹에서 실행 중인 인스턴스의 수를 줄이려면 다음 put-scheduled-update-group-action 명령을 사용합니다.

aws autoscaling put-scheduled-update-group-action --scheduled-action-name ScaleDown --auto-scaling-group-name my-asg --start-time "2013-05-13T08:00:00Z" --desired-capacity 1

반복되는 일정으로 조정을 예약하려면

Cron 형식을 사용하여 반복 일정을 UTC로 지정할 수 있습니다. 이 형식에 대한 자세한 내용은 Crontab을 참조하십시오.

다음 put-scheduled-update-group-action 명령을 사용하여 매년 1월, 6월, 12월의 첫째 날 00:30에 실행되는 예약된 작업을 만듭니다.

aws autoscaling put-scheduled-update-group-action --scheduled-action-name scaleup-schedule-year --auto-scaling-group-name my-asg --recurrence "30 0 1 1,6,12 0" --desired-capacity 3

예약된 작업 삭제

예약된 작업을 마치면 이를 삭제할 수 있습니다.

콘솔을 사용하여 예약된 작업을 삭제하려면

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창의 Auto Scaling 아래에서 Auto Scaling 그룹을 선택합니다.

  3. Auto Scaling 그룹을 선택합니다.

  4. [Scheduled Actions] 탭에서 예약된 작업을 선택합니다.

  5. [Actions], [Delete]를 선택합니다.

  6. 확인 메시지가 나타나면 예, 삭제합니다.를 선택합니다.

AWS CLI를 사용하여 예약된 작업을 삭제하려면

다음 delete-scheduled-action 명령을 사용합니다.

aws autoscaling delete-scheduled-action --scheduled-action-name ScaleUp