Amazon EC2 Auto Scaling에 예약된 조정 - Amazon EC2 Auto Scaling

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

Amazon EC2 Auto Scaling에 예약된 조정

예약 조정을 사용하면 예측 가능한 부하 변동에 따라 애플리케이션에 대한 자동 크기 조정을 설정할 수 있습니다. 특정 시간에 그룹의 원하는 용량을 늘리거나 줄이는 예약된 작업을 생성할 수 있습니다.

예를 들어, 주중에는 부하가 증가하고 주말에는 부하가 감소하는 주간 트래픽 패턴이 규칙적으로 나타납니다. Amazon EC2 Auto Scaling에서 다음 패턴에 맞게 조정 일정을 구성할 수 있습니다.

  • 수요일 아침에는 예정된 작업 하나가 Auto Scaling 그룹에 이전에 설정된 희망 용량을 늘려 용량을 증가시킵니다.

  • 금요일 저녁에 예정된 또 다른 작업은 Auto Scaling 그룹에 이전에 설정된 원하는 용량을 줄임으로써 용량을 줄입니다.

이러한 예약된 규모 조정 작업을 통해 비용과 성능을 최적화할 수 있습니다. 애플리케이션은 주중 트래픽 피크를 처리할 수 있을 만큼 충분한 용량을 갖추고 있지만, 다른 시간에 불필요한 용량을 오버프로비저닝하지는 않습니다.

예약된 규모 조정 정책과 규모 조정 정책을 함께 사용하면 두 가지 규모 조정 방식의 이점을 모두 누릴 수 있습니다. 예약된 작업이 실행된 후 조정 정책은 계속해서 용량을 추가로 조정할지를 결정할 수 있습니다. 이를 통해 애플리케이션의 로드를 처리할 수 있는 충분한 용량을 보유하도록 보장합니다. 애플리케이션이 수요에 맞게 조정되는 동안 현재 용량은 예약된 작업에서 설정한 최소 및 최대 용량 이내여야 합니다.

예약된 조정 작동 방식

예약 조정을 사용하려면 Amazon EC2 Auto Scaling에서 특정 시간에 조정 작업을 수행하도록 지시하는 예약 작업을 생성하십시오. 스케줄링된 작업을 생성할 때는 Auto Scaling 그룹, 조정 활동이 발생하는 시기, 원하는 새 용량, 그리고 선택적으로 새로운 최소 용량과 새로운 최대 용량을 지정합니다. 규모를 한 번만 조정하거나 반복되는 일정으로 조정하도록 예약된 작업을 생성할 수 있습니다.

지정된 시간에 Amazon EC2 Auto Scaling은 현재 용량을 지정된 원하는 용량과 비교하여 새 용량 값을 기반으로 조정합니다.

  • 현재 용량이 지정된 원하는 용량보다 적을 경우 Amazon EC2 Auto Scaling은 원하는 지정된 용량까지 인스턴스를 확장하거나 추가합니다.

  • 현재 용량이 지정된 원하는 용량보다 큰 경우 Amazon EC2 Auto Scaling은 지정된 원하는 용량까지 인스턴스를 확장하거나 제거합니다.

예약된 작업에 따라 지정된 날짜 및 시간에 그룹의 희망 용량, 최소 용량, 최대 용량이 설정됩니다. 이러한 용량 중 하나만 한 번에 원하는 용량 (예: 원하는 용량) 에 대해서만 스케줄링된 작업을 생성할 수 있습니다. 그러나 작업에서 지정한 원하는 용량이 이러한 제한을 벗어나지 않도록 최소 및 최대 용량을 포함해야 하는 경우도 있습니다.

반복되는 일정

AWS CLI 또는 SDK를 사용하여 반복 일정을 만들려면 cron 표현식과 시간대를 지정하여 예약된 작업이 반복되는 시기를 설명하십시오. 선택적으로 시작 시간, 해지 시간 또는 두 가지 모두에 대한 날짜 및 시간을 지정할 수 있습니다.

를 사용하여 반복 일정을 만들려면 예약된 작업의 반복 패턴 AWS Management Console, 시간대, 시작 시간 및 선택적 종료 시간을 지정하십시오. 모든 반복 패턴 옵션은 cron 표현식에 근거하여 합니다. 또는 맞춤 cron 표현식을 작성할 수 있습니다.

지원되는 cron 표현식 형식은 다음과 같이 공백으로 구분된 다섯 개의 필드로 구성됩니다. [Minute] [Hour] [Day_of_Month] [Month_of_Year] [Day_of_Week]. 예컨대, cron 표현식 30 6 * * 2는 매주 화요일 오전 6:30에 발생하는 예약된 작업을 구성합니다. 별표는 필드의 모든 값을 일치시키기 위한 와일드카드로 사용됩니다. cron 표현식의 다른 예는 https://crontab.guru/examples.html을 참조하세요. 이 형식으로 자체 cron 표현식을 작성하는 방법에 대한 자세한 설명은 Crontab을 참조하세요.

시작 시간과 해지 시간은 신중하게 선택합니다. 다음 사항에 유의하세요.

  • 시작 시간을 지정하면 Amazon EC2 Auto Scaling이 해당 시간에 작업을 수행한 다음 지정된 반복에 따라 작업을 수행합니다.

  • 해지 시간을 지정하면 이 시간 이후에는 작업이 반복되지 않습니다. 예약된 작업은 해지 시간이 되면 해당 계정에 존속하지 않습니다.

  • AWS CLI 또는 SDK를 사용할 때는 시작 시간과 종료 시간을 UTC로 설정해야 합니다.

시간대

기본적으로 사용자가 설정한 반복 일정의 시간대는 UTC(협정 세계시)입니다. 현지 표준 시간대 또는 네트워크의 다른 부분에 대한 표준 시간대와 일치하도록 시간을 변경할 수 있습니다. DST(일광 절약 시간)를 준수하는 시간대를 지정하면 작업이 DST에 맞게 자동으로 조정됩니다.

유효한 값은 IANA (인터넷 할당 번호 기관) 표준 시간대 데이터베이스의 표준 시간대 이름입니다. 예를 들어, 미국 동부 시간은 표준적으로 다음과 같이 식별됩니다. America/New_York 자세한 내용은 https://www.iana.org/time-zones 을 참조하십시오.

위치 기반 시간대 (예: DST에 맞게 America/New_York 자동 조정) 그러나 UTC 기반 표준 시간대(예: Etc/UTC)는 절대 시간이며 DST에 맞춰 조정되지 않습니다.

예컨대, 해당 표준 시간대가 America/New_York인 반복되는 일정이 있습니다. 첫 번째 조정 작업은 DST 시작 전 America/New_York 표준 시간대에 발생합니다. 다음 조정 작업은 DST 시작 후 America/New_York 표준 시간대에 발생합니다. 첫 번째 작업은 현지 시간으로 오전 8시 UTC-5에 시작하며, 두 번째 작업은 현지 시간으로 오전 8시 UTC-4에 시작됩니다.

를 사용하여 예약된 작업을 만들고 DST를 준수하는 시간대를 지정하면 반복 AWS Management Console 일정과 시작 및 종료 시간이 모두 DST에 맞게 자동으로 조정됩니다.

고려 사항

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

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

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

  • ScheduledActions 프로세스를 일시 중지하여 Auto Scaling 그룹에 대해 예약된 조정을 일시적으로 끌 수 있습니다. 이렇게 하면 예약된 작업을 삭제할 필요 없이 활성 상태가 되는 것을 방지할 수 있습니다. 그런 다음 다시 사용하려는 경우, 예약된 조정을 재개할 수 있습니다. 자세한 정보는 Amazon EC2 Auto Scaling 프로세스 일시 중지 및 재개을 참조하세요.

  • 예약된 작업을 생성한 후 이름을 제외한 모든 설정을 업데이트할 수 있습니다.

예약된 작업 생성

Auto Scaling 그룹에 예약된 작업을 생성하려면 다음 방법 중 하나를 사용하십시오.

Console
예약된 작업을 만들려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 열고 탐색 창에서 Auto Scaling 그룹(Auto Scaling Groups)을 선택합니다.

  2. Auto Scaling 그룹 옆의 확인란을 선택합니다.

    페이지 하단에 분할 창이 열립니다.

  3. 자동 조정 탭의 Scheduled actions(예약된 작업)에서 Create scheduled action(예약된 작업 생성)을 선택합니다.

  4. 예약된 작업의 이름을 입력합니다.

  5. 원하는 용량,최소,최대에서 그룹에 새로 원하는 용량과 최소 및 최대 크기 한도를 선택합니다. 원하는 용량은 최소 그룹 크기보다 크거나 같아야 하며 최대 그룹 크기보다 작거나 같아야 합니다.

  6. Recurrence(반복)에서 사용 가능한 옵션 중 하나를 선택합니다.

    • 반복되는 일정에 따라 조정하려면 Amazon EC2 Auto Scaling에서 예약된 작업을 실행하는 빈도를 선택합니다.

      • Every(간격)로 시작하는 옵션을 선택하면 cron 식이 자동으로 생성됩니다.

      • Cron을 선택하는 경우, 작업을 수행하는 시기를 지정하는 Cron 식을 입력합니다.

    • 한 번만 조정하려면 Once(한 번)를 선택합니다.

  7. Time zone(표준 시간대)에서 시간대를 선택합니다. 기본값은 Etc/UTC입니다.

    나열된 모든 표준 시간대는 IANA 표준 시간대 데이터베이스에서 가져온 것입니다. 자세한 정보는 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones을 참조하세요.

  8. Specific start time(특정 시작 시간)의 날짜 및 시간을 정의합니다.

    • 반복되는 일정을 선택한 경우, 시작 시간은 일련의 반복에서 첫 번째 예약된 작업이 실행되는 시점을 정의합니다.

    • 반복으로 Once(한 번)를 선택하면 시작 시간은 예약된 작업이 실행될 날짜와 시간을 정의합니다.

  9. (옵션) 반복되는 일정의 경우Set End Time(해지 시간 설정)을 선택하한 다음 End by(해지 기한)의 날짜 및 시간을 선택하여 해지 시간을 지정할 수 있습니다.

  10. Create(생성)를 선택합니다. 콘솔에 Auto Scaling 그룹에 대해 예약된 작업이 표시됩니다.

AWS CLI

예약된 작업을 생성하려면 다음 예제 명령 중 하나를 사용할 수 있습니다. user input placeholder를 사용자의 정보로 바꿉니다.

예: 한 번만 스케일링하려면

다음 put-scheduled-update-group-action 명령을 및 옵션과 함께 사용하십시오. --start-time "YYYY-MM-DDThh:mm:ssZ" --desired-capacity

aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-one-time-action \ --auto-scaling-group-name my-asg --start-time "2021-03-31T08:00:00Z" --desired-capacity 3
예: 반복 일정에 따라 스케일링을 예약하려면

다음 put-scheduled-update-group-action 명령을 및 옵션과 함께 사용하십시오. --recurrence "cron expression" --desired-capacity

aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-recurring-action \ --auto-scaling-group-name my-asg --recurrence "0 9 * * *" --desired-capacity 3

기본적으로 Amazon EC2 Auto Scaling은 UTC 시간대를 기준으로 지정된 반복 일정을 실행합니다. 다른 시간대를 지정하려면 다음 예와 같이 IANA 시간대의 --time-zone 옵션과 이름을 포함하십시오.

--time-zone "America/New_York"

자세한 설명은 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones을 참조하세요.

예정된 조치 세부 정보 보기

Auto Scaling 그룹에 예정된 예정된 작업의 세부 정보를 보려면 다음 방법 중 하나를 사용하십시오.

Console
예약된 작업 세부 정보를 보려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 열고 탐색 창에서 Auto Scaling 그룹(Auto Scaling Groups)을 선택합니다.

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

  3. 자동 조정 탭의 예약된 작업 섹션에서 예정된 예정된 작업을 볼 수 있습니다.

참고로 콘솔에는 시작 시간 및 종료 시간 값이 현지 시간으로 표시되며, 지정된 날짜 및 시간에 UTC 오프셋이 적용됩니다. UTC 오프셋은 현지 시간과 UTC 간의 시간 및 분 단위 차이입니다. Time zone(표준 시간대) 값은 요청한 시간대를 나타냅니다(예: America/New_York).

AWS CLI

다음 설명-스케줄링-액션 명령을 사용하세요.

aws autoscaling describe-scheduled-actions --auto-scaling-group-name my-asg

이 명령이 성공하면 다음과 비슷한 출력이 반환됩니다.

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2020-12-01T00:30:00Z", "Time": "2020-12-01T00:30:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4 } ] }

크기 조정 활동 확인

예약된 스케일링과 관련된 스케일링 작업을 확인하려면 Auto Scaling 그룹에 대한 크기 조정 활동 확인을(를) 참조하세요.

예약된 작업 삭제

예약된 작업을 삭제하려면 다음 방법 중 하나를 사용하십시오.

Console
예약된 작업 삭제
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 열고 탐색 창에서 Auto Scaling Groups(Auto Scaling 그룹)를 선택합니다.

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

  3. 자동 조정(Automatic scaling) 탭의 예약된 작업(Scheduled actions)에서 예약된 작업을 선택합니다.

  4. 작업(Actions), 삭제(Delete)를 선택합니다.

  5. 확인 메시지가 나타나면 예, 삭제합니다(Yes, Delete)를 선택합니다.

AWS CLI

다음 삭제 스케줄 작업 명령을 사용합니다.

aws autoscaling delete-scheduled-action --auto-scaling-group-name my-asg \ --scheduled-action-name my-recurring-action

제한 사항

  • 예약된 작업의 이름은 Auto Scaling 그룹별로 고유해야 합니다.

  • 예약된 작업은 고유한 시간 값을 가져야 합니다. 다른 크기 조정 활동이 이미 예약된 경우, 한 번에 하나의 활동을 예약하려고 시도하면 호출이 거부되고 예약된 시작 시간에 예약된 작업이 이미 있음을 알리는 오류가 반환됩니다.

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