Application Auto Scaling의 단계별 조정 작동 방식 - Application Auto Scaling

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

Application Auto Scaling의 단계별 조정 작동 방식

이 주제에서는 단계별 조정 작동 방식을 설명하고 단계별 조정 정책의 주요 요소를 소개합니다.

작동 방식

스텝 스케일링을 사용하려면 확장 가능한 대상의 메트릭을 모니터링하는 CloudWatch 경보를 생성해야 합니다. 경보 위반을 결정하는 지표, 임계값, 평가 기간 수를 정의합니다. 또한 경보 임계값 위반 시 용량을 조정하는 방법을 정의하고 이를 확장 가능한 대상과 연결하는 방법을 정의하는 단계 조정 정책을 생성합니다.

정책에 단계 조정을 추가합니다. 경보의 위반 규모에 따라 다양한 단계 조정을 정의할 수 있습니다. 예:

  • 경보 지표가 60%에 도달하면 10개 용량 단위로 스케일 아웃합니다.

  • 경보 지표가 75%에 도달하면 30개 용량 단위로 스케일 아웃합니다.

  • 경보 지표가 85%에 도달하면 40개 용량 단위로 스케일 아웃합니다.

지정된 수의 평가 기간 동안 경보 임계값이 위반되면 Application Auto Scaling은 정책에 정의된 단계 조정을 적용합니다. 경보 상태가 OK로 돌아갈 때까지 추가 경보 위반에 대해 조정을 계속할 수 있습니다.

조정 작업은 용량의 급격한 변동을 방지하기 위해 작업 중간에 휴지 기간을 두고 수행됩니다. 선택적으로 조정 정책에 대한 휴지 기간을 구성할 수 있습니다.

단계 조절

단계 조정 정책을 생성할 때 경보 위반의 크기에 따라 대상 용량이 동적으로 자동 조정되도록 하나 이상의 단계 조정을 지정합니다. 각 단계별 조정은 다음을 지정합니다.

  • 지표 값의 하한값입니다.

  • 지표 값의 상한값입니다.

  • 조정 유형에 근거하여 축소하거나 스케일 아웃하는 양입니다.

CloudWatch 경보와 관련된 지표의 통계를 기반으로 지표 데이터 포인트를 집계합니다. CloudWatch 경보를 위반하면 적절한 조정 정책이 호출됩니다. Application Auto Scaling은 지정된 집계 유형을 원시 지표 데이터가 아닌 가장 최근의 지표 데이터 요소에 적용합니다. CloudWatch 이 집계된 지표 값을 단계별 조정으로 정의된 상한값 및 하한값과 비교하여 어느 단계의 조정을 수행할 것인지 결정합니다.

위반 임계값과 연계하여 상한값과 하한값을 지정합니다. 예를 들어 지표가 50% 를 초과하는 경우에 대한 CloudWatch 경보 및 확장 정책을 만들었다고 가정해 보겠습니다. 그런 다음 지표가 50% 미만일 때를 대비한 두 번째 경보와 스케일 인 정책을 만들었습니다. 각 정책에 대해 PercentChangeInCapacity 조정 유형을 지정하여 일련의 단계 조정을 설정했습니다.

예: 스케일 아웃 정책에 대한 단계 조절
하한 상한 조절

0

10

0

10

20

10

20

null

30

예: 축소 정책에 대한 단계 조절
하한 상한 조절

-10

0

0

-20

-10

-10

null

-20

-30

이렇게 하면 다음과 같은 조정 구성이 생성됩니다.

Metric value -infinity 30% 40% 60% 70% infinity ----------------------------------------------------------------------- -30% | -10% | Unchanged | +10% | +30% -----------------------------------------------------------------------

이제 용량이 10인 확장 가능한 대상에 이 조정 구성을 사용한다고 가정해 보겠습니다. 다음 사항은 확장 가능한 대상의 용량과 관련된 조정 구성의 동작을 요약합니다.

  • 원래 용량이 유지되고 집계된 지표 값은 40을 초과하고 60 미만입니다.

  • 지표 값이 60에 도달하면 Application Auto Scaling에서 확장 가능한 대상의 용량이 1 증가하여 11이 됩니다. 이는 확장 정책의 두 번째 단계 조정을 기반으로 합니다(10의 10퍼센트). 새로운 용량이 추가되면 Application Auto Scaling은 현재 용량을 11로 늘립니다. 이 용량 증가 후에도 지표 값이 70으로 증가하면 Application Auto Scaling이 대상 용량을 3 증가하여 14가 됩니다. 이는 확장 정책의 세 번째 단계 조정을 기반으로 합니다(11의 30퍼센트인 3.3, 3으로 반내림).

  • 지표 값이 40이 될 경우 Application Auto Scaling은 스케일 인 정책의 두 번째 단계 조절에 따라 확장 가능한 대상 용량을 1(14의 10%인 1.4, 1로 반내림) 줄여서 13으로 만듭니다. 이 용량 감소 후에도 지표 값이 30으로 떨어질 경우 Application Auto Scaling은 축소 정책의 세 번째 단계 조절에 따라 대상 용량을 3(13의 30%인 3.9, 3으로 반내림)만큼 더 줄여 10으로 만듭니다.

조정 정책에 대한 단계 조절을 지정할 때는 다음 사항에 유의합니다.

  • 단계 조절의 범위는 중복되거나 격차가 있어서는 안 됩니다.

  • 1단계 조절에만 null 하한값(negative infinity)이 포함될 수 있습니다. 1단계 조절에 음의 하한값이 포함될 경우, null 하한값으로 단계 조절을 해야 합니다.

  • 1단계 조절에만 null 상한값(positive infinity)이 포함될 수 있습니다. 1단계 조절에 양의 상한값이 포함될 경우, null 상한값으로 단계 조절을 해야 합니다.

  • 상한 및 하한값은 동일한 단계 조절에서 null이 될 수 없습니다.

  • 지표 값이 위반 임계값을 초과할 경우, 하한값은 포함되고 상한값은 제외됩니다. 지표 값이 위반 임계값 미만일 경우, 하한값은 제외되고 상한값은 포함됩니다.

조정 조절 유형

선택한 조정 조절 유형에 따라 최적의 조정 작업을 수행하는 조정 정책을 정의할 수 있습니다. 조절 유형을 확장 가능 대상의 현재 용량의 백분율로 지정하거나 절대 숫자로 지정할 수 있습니다.

Application Auto Scaling은 다음과 같이 단계 조정 정책을 위한 조절 유형을 지원합니다.

  • ChangeInCapacity—확장 가능한 대상의 현재 용량을 지정된 값만큼 늘리거나 줄입니다. 양의 값은 용량을 늘리고, 음의 값은 용량을 줄입니다. 예: 현재 용량이 3이고 조절이 5인 경우 Application Auto Scaling은 용량에 5를 추가하여 총 8로 변경합니다.

  • ExactCapacity—확장 가능한 대상의 현재 용량을 지정된 값으로 변경합니다. 이 조절 유형에는 음이 아닌 값을 지정합니다. 예: 현재 용량이 3이고 조절이 5인 경우 Application Auto Scaling은 용량을 5로 변경합니다.

  • PercentChangeInCapacity—확장 가능한 대상의 현재 용량을 지정된 비율만큼 늘리거나 줄입니다. 양의 값은 용량을 늘리고, 음의 값은 용량을 줄입니다. 예: 현재 용량이 10이고 조절이 10퍼센트인 경우 Application Auto Scaling은 용량에 1을 추가하여 총 11로 변경합니다.

    결과 값이 정수가 아닌 경우 Application Auto Scaling은 다음과 같이 반올림(반내림)합니다.

    • 1보다 큰 값은 반내림합니다. 예컨대, 12.712로 반내림합니다.

    • 0과 1 사이의 값은 1로 반올림합니다. 예컨대, .671로 반올림합니다.

    • 0과 -1 사이의 값은 1로 반내림합니다. 예컨대, -.58-1으로 반올림합니다.

    • -1보다 작은 값은 반올림합니다. 예컨대, -6.67-6으로 반올림합니다.

    PercentChangeInCapacity를 사용하면 MinAdjustmentMagnitude 매개변수를 사용하여 확장할 최소 양을 지정할 수도 있습니다. 예를 들어 25%를 추가하는 정책을 생성하고 최소량으로 2를 지정한다고 가정해 보십시오. 확장 가능 대상의 용량이 4이고 조정 정책이 실행되는 경우, 4의 25%는 1이 됩니다. 그러나 최소 증분을 2로 지정했기 때문에 Application Auto Scaling은 2를 추가합니다.

휴지 기간

단계 조정 정책에서 휴지 기간을 선택적으로 정의할 수 있습니다.

이전 조정 활동이 적용될 때까지 기다리는 시간을 휴지 기간이라고 합니다.

단계별 조정 구성을 위해 휴지 기간 사용을 계획하는 두 가지 방법은 다음과 같습니다.

  • 스케일 아웃 정책을 위한 휴지 기간을 사용하는 경우, 지속적이지만 과도하지는 않게 스케일 아웃하는 것이 목적입니다. Application Auto Scaling에서 조정 정책을 사용하여 성공적으로 스케일 아웃하면 휴지 기간이 계산되기 시작합니다. 조정 정책은 더 큰 스케일 아웃이 트리거되거나 휴지 기간이 종료되지 않는 한 원하는 용량을 다시 늘리지 않습니다. 확장 휴지 기간이 진행되는 동안 확장 활동을 시작하여 추가된 용량은 다음 확장 활동에 대해 원하는 용량의 일부로 계산됩니다.

  • 스케일 인 정책을 위한 휴지 기간을 사용하는 경우 애플리케이션의 가용성을 보호하기 위해 보수적으로 확장하므로 스케일 인 휴지 기간이 만료될 때까지 스케일 인 활동이 차단됩니다. 그러나 축소 휴지 기간 중에 다른 경보가 확장 활동을 트리거하면 Application Auto Scaling은 대상을 즉시 확장합니다. 이 경우 스케일 인 휴지 기간이 중지되고 완료되지 않습니다.

예를 들어 트래픽 피크가 발생하면 경보가 트리거되고 Application Auto Scaling은 증가된 부하를 처리할 수 있도록 용량을 자동으로 추가합니다. 스케일 아웃 정책에 대해 휴지 기간을 설정한 경우 경보가 정책을 트리거하여 용량을 2로 늘리면 조정 활동이 성공적으로 완료되고 스케일 아웃 휴지 기간이 시작됩니다. 휴지 기간에 경보가 다시 트리거되지만 더 적극적인 단계 조정(3)에서 발생하는 경우, 이전의 증가치 2는 현재 용량의 일부로 간주됩니다. 따라서 용량은 1만 추가됩니다. 이렇게 하면 필요한 용량보다 더 추가하지 않아도 휴지 기간이 만료될 때까지 기다리는 것보다 빠르게 확장할 수 있습니다.

휴지 기간은 초 단위로 측정되며 정책 관련 조정 활동 조정에만 적용됩니다. 휴지 기간에 예약된 작업이 예약된 시간에 시작되면 휴지 기간이 만료될 때까지 기다리지 않고 조정 활동을 즉시 트리거할 수 있습니다.

값을 지정하지 않을 경우 기본값은 300입니다.

조정 정책 생성, 관리 및 삭제를 위해 일반적으로 사용되는 명령

조정 정책 작업에 일반적으로 사용되는 명령은 다음과 같습니다.

  • register-scalable-target리소스를 확장 가능한 대상 (Application Auto Scaling이 확장할 수 있는 리소스) 으로 AWS 등록하거나 사용자 지정하고 조정을 일시 중지하고 재개합니다.

  • put-scaling-policy기존 확장 가능한 대상에 대한 규모 조정 정책을 추가하거나 수정하는 것.

  • describe-scaling-activities AWS 지역 내 규모 조정 활동에 대한 정보를 반환하기 위해서입니다.

  • describe-scaling-policies AWS 지역 내 규모 조정 정책에 대한 정보를 반환하려면

  • delete-scaling-policy규모 조정 정책을 삭제하려면

고려 사항

단계 조정 정책과 관련한 작업을 수행할 때는 다음 고려 사항이 적용됩니다.

  • 단계 조정을 사용할 수 있을 만큼 애플리케이션의 단계 조정을 정확하게 예측할 수 있는지 생각해 보세요. 조정 지표가 스케일 아웃 가능한 대상의 용량에 비례하여 증가하거나 감소하는 경우, 대상 추적 조정 정책을 대신 사용하는 것이 좋습니다. 단계별 조정을 고급 구성에 대한 추가 정책으로 사용할 수도 있습니다. 예컨대, 사용률이 일정 수준에 도달할 때 더 공격적인 대응을 구성할 수 있습니다.

  • 플래핑을 방지하려면 스케일 아웃 임계값과 스케일 인 임계값 사이에서 적절한 마진을 선택해야 합니다. 플래핑은 스케일 인과 스케일 아웃의 무한 루프입니다. 즉, 확장 작업을 진행하면 지표 값이 변경되고 반대 방향으로 다른 확장 작업이 시작됩니다.

Auto Scaling의 단계 조정 정책 생성에 대한 자세한 내용은 Amazon EC2 Auto Scaling 사용 설명서Amazon EC2 Auto Scaling 단계 및 단순 조정 정책을 참조하세요.

콘솔 액세스

확장 가능한 리소스에 대한 단계 조정 정책을 확인, 추가, 업데이트 또는 제거할 수 있는 콘솔 액세스 권한은 사용하는 리소스에 따라 다릅니다. 자세한 정보는 AWS 서비스 Application Auto Scaling과 함께 사용할 수 있는을 참조하세요.