Amazon EC2 Auto Scaling
사용 설명서

Amazon EC2 Auto Scaling의 동적 조정

동적 조정을 구성할 때 수요 변화에 따라 어떻게 조정할지 정의해야 합니다. 예를 들어, 현재 인스턴스 2개에서 웹 애플리케이션이 실행되고 있고 사용자가 애플리케이션 로드에 변경이 있는 경우 Auto Scaling 그룹의 CPU 사용량을 50% 정도로 유지시키려고 합니다. 이로 인해 과도한 유휴 리소스를 유지하지 않고도 트래픽 급증을 처리할 수 있는 추가 용량을 확보할 수 있습니다. 이때는 Auto Scaling 그룹이 이러한 필요에 따라 자동으로 조정되도록 구성할 수 있습니다. 정책 유형은 조정 작업이 수행되는 방식을 결정합니다.

조정 정책 유형

Amazon EC2 Auto Scaling은 다음과 같은 조정 정책 유형을 지원합니다.

  • 대상 추적 조정 - 특정 측정치의 목표 값을 기준으로 그룹의 현재 용량을 늘리거나 줄입니다.— 이는 온도 조절기가 집안 온도를 유지하는 방법, 즉 사용자가 온도만 선택하면 나머지는 온도 조절기가 알아서 하는 것과 유사합니다.

  • 단계 조정 - 그룹의 현재 용량을 일련의 조정 조절에 따라 늘리거나 줄이며 경보 위반의 크기에 따라 달라지는 단계 조절이라고 합니다.—

  • 단순 조정 - 그룹의 현재 용량을 단일 조정 조절에 따라 늘리거나 줄입니다.—

Auto Scaling 그룹의 인스턴스 수에 비례하여 증가하거나 감소하는 사용률 수치를 기준으로 조정하는 경우 대상 추적 조정 정책을 사용하는 것이 좋습니다. 그렇지 않은 경우 단계 조정 정책을 사용하는 것이 좋습니다.

여러 조정 정책

대부분의 경우, 대상 추적 조정 정책이 충분하여 Auto Scaling 그룹이 자동으로 확장 또는 축소되도록 구성할 수 있습니다. 대상 추적 조정 정책을 사용하면 원하는 결과를 선택하고, 그러한 결과를 얻기 위해 필요에 따라 Auto Scaling 그룹이 인스턴스를 추가 및 제거하도록 할 수 있습니다.

고급 조정 구성의 경우, Auto Scaling 그룹에 하나 이상의 조정 정책이 있을 수 있습니다. 예를 들어, 하나 이상의 대상 추적 조정 정책, 하나 이상의 단계 조정 정책, 또는 둘 모두를 정의할 수 있습니다. 이로 인해 유연성이 늘어나고 여러 시나리오를 처리할 수 있습니다.

여러 개의 정책이 함께 작동하는 방식에 대해 알아보기 위해, Auto Scaling 그룹을 사용하는 애플리케이션과 해당 그룹 EC2 인스턴스에 요청을 전송하는 Amazon SQS 대기열을 고려해 보겠습니다. 애플리케이션에서 최적의 수준으로 작업이 수행되도록 보장하기 위해, Auto Scaling 그룹이 확장되어야 하는 시기를 제어하는 두 개의 정책이 마련되어 있습니다. 하나는 대상 추적 정책으로, 사용자 지정 지표를 사용하여 대기열에 있는 SQS 메시지 수에 따라 용량을 추가 및 제거합니다. 또 다른 하나는 단계 정책으로, 지정된 시간 동안 인스턴스가 90% 사용률을 초과할 때 Amazon CloudWatchCPUUtilization지표를 사용하여 용량을 추가합니다.

동시에 여러 정책이 실행되는 경우, 각 정책이 동시에 Auto Scaling 그룹으로 하여금 확장(또는 축소)하도록 지시할 수 있습니다. 예를 들어, EC2 인스턴스는 CPUUtilization 지표에 대해 CloudWatch 경보를 트리거하고 동시에 SQS 대기열에서 사용자 지정 지표에 대해 경보를 트리거할 수 있습니다.

이러한 상황이 발생하는 경우, Amazon EC2 Auto Scaling는 확장 및 축소를 위한 최대 용량을 제공하는 정책을 선택합니다. 예를 들어 CPU 사용량에 대한 정책에서 1개의 인스턴스를 시작하는 한편, SQS 대기열에 대한 정책에서는 2개의 인스턴스를 시작하는 경우를 생각해 볼 수 있습니다. 만일 두 정책의 확장 조건이 동시에 충족되는 경우, Amazon EC2 Auto Scaling는 SQS 정책에 우선권을 줍니다. 이렇게 하면 Auto Scaling 그룹에서 인스턴스 두 개가 시작됩니다.

가장 큰 용량을 제공하는 정책에 우선 순위를 부여하는 접근법은 다른 확장 기준을 사용하는 정책에도 적용됩니다. 예를 들어 어떤 정책은 인스턴스 세 개를 종료하고, 다른 정책은 인스턴스 수를 25% 줄이며, 축소 시점 현재 해당 그룹에 인스턴스가 여덟 개 있는 경우, Amazon EC2 Auto Scaling 그룹은 그 그룹에 가장 많은 수의 인스턴스를 제공하는 정책에 우선권을 부여합니다. 이에 따라 Auto Scaling 그룹은 인스턴스 두 개를 종료하게 됩니다(8의 25% = 2). 목표는 Amazon EC2 Auto Scaling에서 인스턴스를 너무 많이 제거하지 않도록 하는 것입니다.