Amazon EC2 Auto Scaling - Amazon EC2 Auto Scaling

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

Amazon EC2 Auto Scaling

동적 조정을 구성할 때 수요 변화에 따라 Auto Scaling 그룹의 용량을 조정하는 방법을 정의합니다.

예를 들어, 현재 인스턴스 2개에서 웹 애플리케이션이 실행되고 있고 사용자가 애플리케이션 로드에 변경이 있는 경우 Auto Scaling 그룹의 CPU 사용량을 50% 정도로 유지시키려 한다고 가정해 보겠습니다. 이로 인해 과도한 유휴 리소스를 유지하지 않고도 트래픽 급증을 처리할 수 있는 추가 용량을 확보할 수 있습니다.

조정 정책을 생성하여 이러한 요구에 맞게 동적으로 조정되도록 Auto Scaling 그룹을 구성할 수 있습니다. Amazon EC2 Auto Scaling 은 그룹을 확장하여 (인스턴스를 추가함) 피크 타임에 높은 수요를 처리하고 그룹을 축소하여 (인스턴스 수를 줄임) 사용률이 낮은 기간 동안 비용을 절감할 수 있습니다.

조정 정책 작동 방식

조정 정책은 Amazon EC2 Auto Scaling 에서 특정 CloudWatch 지표를 추적하도록 지시하며, 연결된 CloudWatch 경보가 ALARM (경보) 상태에 있을 때 수행할 작업을 정의합니다. 경보를 트리거하는 데 사용되는 지표는 Auto Scaling 그룹의 모든 인스턴스에서 보내는 지표를 집계한 것입니다. (예를 들어, 하나는 60% CPU이고 다른 하나는 40% 인스턴스로 구성된 두 개의 인스턴스로 구성된 Auto Scaling 그룹이 있다고 가정해 보겠습니다. 평균적으로 50% CPU입니다.) 정책이 적용되면 경보가 트리거될 때 Amazon EC2 Auto Scaling 은 그룹의 원하는 용량을 늘리거나 줄입니다.

조정 정책이 실행될 때 용량 계산에서 그룹의 최소 및 최대 크기 범위를 벗어나는 숫자를 생성하는 경우, Amazon EC2 Auto Scaling 은 새 용량이 최소 및 최대 크기 제한을 벗어나지 않도록 합니다. 용량은 두 가지 방법 중 하나로 측정됩니다. 인스턴스 기준으로 원하는 용량을 설정할 때 선택한 것과 동일한 단위를 사용 또는 용량 유닛을 사용(인스턴스 가중치가 적용된 경우).

  • 예 1: Auto Scaling 그룹의 최대 용량 3, 인스턴스 3개를 추가하는 조정 정책. 이 조정 정책을 실행할 때 Amazon EC2 Auto Scaling 은 그룹에 인스턴스를 하나만 추가하여 그룹이 최대 크기를 초과하지 않도록 합니다.

  • 예 2: Auto Scaling 그룹은 최소 용량 2, 인스턴스 2개를 제거하는 조정 정책. 이 조정 정책을 실행할 때 Amazon EC2 Auto Scaling 은 그룹에서 인스턴스를 하나만 제거하여 그룹이 최소 크기보다 작아지지 않도록 합니다.

원하는 용량이 최대 크기 제한에 도달하면 확장이 중지됩니다. 수요가 감소하고 용량이 감소하면 Amazon EC2 Auto Scaling 은 다시 확장할 수 있습니다.

인스턴스 가중치를 사용하는 경우는 예외입니다. 이 경우 Amazon EC2 Auto Scaling 은 최대 크기 제한을 초과하여 확장할 수 있지만 최대 인스턴스 가중치까지만 확장할 수 있습니다. 그 의도는 최대한 새로운 원하는 용량에 근접하면서도 그룹에 지정된 할당 전략을 고수하는 것입니다. 할당 전략에 따라 시작할 인스턴스 유형이 결정됩니다. 가중치는 인스턴스 유형에 따라 각 인스턴스가 그룹의 원하는 용량에 기여하는 용량 유닛 수를 결정합니다.

  • 예 3: Auto Scaling 그룹의 최대 용량 12, 현재 용량 10, 용량 유닛 5를 추가하는 조정 정책. 인스턴스 유형에는 1, 4 또는 6의 세 가지 가중치 중 하나가 할당됩니다. 조정 정책을 실행할 때 Amazon EC2 Auto Scaling 은 할당 전략에 따라 가중치가 6인 인스턴스 유형을 시작하도록 선택합니다. 이 확장 이벤트의 결과는 원하는 용량이 12이고 현재 용량이 16인 그룹입니다.

조정 정책

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

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

  • 단계 조정- 그룹의 현재 용량을 늘리거나 줄입니다.단계 조절경보 위반의 크기에 따라 다릅니다.

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

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

다중 조정 정책

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

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

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

동시에 여러 정책이 실행되는 경우, 각 정책이 Auto Scaling 그룹에 동시에 확장 (또는 축소) 하도록 지시할 수 있습니다. 예를 들어,CPUUtilization지표가 CloudWatch 보를 스파이크 및 트리거하고 동시에 SQS 사용자 지정 지표가 사용자 지정 지표 경보를 스파이크 및 트리거합니다.

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

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

그러나 대상 추적 조정 정책과 단계 조정 정책을 함께 사용하는 경우 정책 간 충돌로 인해 바람직하지 않은 동작이 발생할 수 있으므로 주의해야 합니다. 예를 들어 대상 추적 정책이 축소 준비가 되기 전에 단계 조정 정책이 축소 활동을 시작하는 경우 축소 활동이 차단되지 않습니다. 축소 작업이 완료된 후 대상 추적 정책이 그룹에 다시 확장하도록 지시할 수 있습니다.