인스턴스 그룹 자동 확장

관리형 인스턴스 그룹(MIG)은 부하의 증가 또는 감소에 따라 MIG에서 가상 머신(VM) 인스턴스를 자동으로 추가하거나 삭제할 수 있게 해주는 자동 확장 기능을 제공합니다. 자동 확장을 통해 앱에서 트래픽 증가 처리가 원활해지고, 리소스에 대한 요구가 줄면 비용을 절감할 수 있습니다. 자동 확장 정책을 정의하면 자동 확장 처리에서 측정된 부하를 기준으로 자동 확장을 수행합니다.

자동 확장은 부하가 많아지면 MIG에 VM을 추가(수평 확장, 경우에 따라 수직 확장이라고도 함)하고, VM 수요가 줄면 VM을 삭제(수평/수직 축소)하는 방식으로 작동합니다.

사양

  • 자동 확장은 영역 및 리전 관리형 인스턴스 그룹(MIG)에서만 작동합니다. 비관리형 인스턴스 그룹에서는 지원되지 않습니다.
  • 사전 인스턴스 재배포가 사용 중지된 경우 리전 MIG에서 자동 확장이 작동하지 않습니다.
  • 스테이트풀(Stateful) MIG에서는 자동 확장이 작동하지 않습니다.
  • 자동 확장을 사용하는 동안에는 특정 이름을 가진 인스턴스를 생성할 수 없습니다. 그러나 특정 이름을 가진 VM 인스턴스를 만든 후에는 자동 확장 처리를 사용 설정할 수 있습니다.
  • MIG에 스테이트풀(Stateful) 구성이 있는 경우 자동 확장을 사용할 수 없습니다.
  • Google Kubernetes Engine이 소유하는 MIG에는 Compute Engine 자동 확장을 사용하지 마세요. Google Kubernetes Engine 그룹의 경우에는 클러스터 자동 확장을 대신 사용합니다.

    그룹이 GKE 클러스터의 일부인지 확실하지 않으면 MIG 이름에서 gke 프리픽스를 찾습니다. 예를 들면 gke-test-1-3-default-pool-eadji9ah입니다.

  • 자동 확장 처리는 여러 측정항목을 기준으로 확장 결정을 내릴 수 있지만 측정항목 유형 하나당 정책 하나씩만 처리할 수 있습니다. 단, Cloud Monitoring 측정항목은 예외로, Monitoring 측정항목을 기준으로 정책을 5개까지 처리할 수 있습니다. 자동 확장 처리는 각 정책에 권장되는 가상 머신 수를 계산한 다음 그룹의 최대 가상 머신 수를 제시하는 정책에 따라 확장됩니다.

  • 자동 확장은 자동 복구와 독립적으로 작동합니다. 그룹에 자동 복구를 구성하고 인스턴스가 상태 확인에 실패하면 자동 복구 기능이 인스턴스를 다시 만들려고 시도합니다. 인스턴스가 다시 생성되면 그룹의 인스턴스 수가 지정된 자동 확장 임곗값(minNumReplicas) 아래로 떨어질 수 있습니다.

  • 리전 MIG를 자동 확장하는 경우 인스턴스를 영역에 추가한 후 영역 중 하나에서 즉시 삭제할 수 있습니다. 영역의 사용률이 수평 확장을 트리거하되 리전 MIG의 전체 사용률에는 추가 인스턴스가 필요하지 않거나 다른 영역에 추가 인스턴스가 필요한 경우에 이 문제가 발생합니다.

기초

자동 확장에서 사용하는 기초적인 개념 및 서비스는 다음과 같습니다.

관리형 인스턴스 그룹

자동 확장은 관리형 인스턴스 그룹(MIG)의 기능입니다. 관리형 인스턴스 그룹은 공통 인스턴스 템플릿에서 생성되는 가상 머신(VM) 인스턴스의 모음입니다. 자동 확장 처리는 관리형 인스턴스 그룹에서 인스턴스를 추가하거나 삭제합니다. Compute Engine에는 관리형 인스턴스 그룹과 비관리형 인스턴스 그룹이 모두 있으며, 자동 확장 처리는 관리형 인스턴스 그룹에서만 사용할 수 있습니다.

관리형 인스턴스 그룹과 비관리형 인스턴스 그룹의 차이를 이해하려면 인스턴스 그룹을 참조하세요.

자동 확장 정책 및 목표 사용률

자동 확장 처리를 만들려면 자동 확장 처리에서 그룹 확장 시점을 결정하는 데 사용할 자동 확장 정책과 목표 사용률 수준을 지정합니다. 확장을 결정하는 데 사용할 수 있는 정책은 다음과 같습니다.

  • 평균 CPU 사용률
  • HTTP 부하 분산 제공 용량: 이 값은 초당 사용률 또는 요청 수를 기준으로 합니다.
  • Cloud Monitoring 측정항목

자동 확장 처리는 정책에 따라 지속적으로 사용량 정보를 수집하고 실제 사용률을 원하는 목표 사용률과 비교하며, 이 정보를 사용하여 그룹에서 인스턴스를 제거(수평 축소)해야 할지 인스턴스를 추가(수평 확장)해야 하는지 결정합니다.

목표 사용률 수준은 가상 머신 인스턴스를 유지하려는 수준입니다. 예를 들어 CPU 사용률을 기준으로 확장하는 경우 목표 사용률 수준을 75%로 설정해 두면 자동 확장 처리에서는 지정한 인스턴스 그룹의 CPU 사용률을 75%로 유지하거나 그에 가깝게 유지합니다. 사용률 수준은 자동 확장 정책에 따라 측정항목별로 다르게 해석됩니다.

각 정책에 대한 요약을 보려면 정책을 참조하세요. 각 정책에 대한 자세한 내용을 보려면 다음을 참조하세요.

대기 기간

인스턴스가 초기화되는 동안에는 인스턴스 사용 정보가 정상적인 상황을 반영하지 않아 자동확장 처리 결정에 사용하기에 신뢰성이 부족하므로 해당 데이터를 생략하는 것이 좋습니다. 자동 확장 처리가 사용 정보 수집을 시작하기 전에 인스턴스가 초기화를 완료할 때까지 기다리는 대기 기간을 지정합니다. 기본적으로 대기 기간은 60초입니다.

실제 초기화 시간은 다양한 요인에 따라 달라집니다. 애플리케이션이 초기화되는 데 걸리는 시간을 테스트하는 것이 좋습니다. 테스트하려면 인스턴스를 만들고 인스턴스가 RUNNING 상태가 될 때부터 애플리케이션이 준비 상태가 될 때까지의 시작 프로세스 시간을 측정합니다.

인스턴스가 초기화되는 데 걸리는 시간보다 훨씬 긴 시간을 대기 기간 값으로 설정하면 자동 확장 처리에서 적합한 사용률 데이터를 무시하고 그룹에 필요한 크기를 낮게 잡아 수평 확장에 지연을 초래할 수 있습니다.

안정화 기간

자동 확장 처리는 수평 축소를 위해 마지막 10분간의 최대 부하를 기준으로 그룹의 권장 목표 크기를 계산합니다. 이러한 마지막 10분을 안정화 기간이라고 합니다.

자동 확장 처리는 안정화 기간을 사용하여 항상 관리형 인스턴스 그룹에 권장되는 크기가 마지막 10분 동안 관찰된 최대 부하를 처리하기에 충분한지 확인합니다.

이러한 10분간의 안정화 기간은 수평 축소 시 발생하는 지연으로 보일 수 있지만 실제로는 자동 확장에 내장되어 있는 기능입니다. 이러한 지연 시간 덕분에 더 작은 그룹으로도 마지막 10분 동안의 최대 부하를 충분히 지원할 수 있습니다.

자동 확장 모드

자동 확장 처리 작업의 간섭 없이 그룹을 조사하거나 구성해야 하는 경우 일시적으로 자동 확장 활동을 사용 중지하거나 제한할 수 있습니다. 자동 확장 처리가 사용 중지되거나 제한되는 동안에도 자동 확장 처리 구성은 지속되며 모든 자동 확장 활동은 사용자가 다시 사용 설정하거나 제한을 해제하면 다시 시작됩니다.

수평 축소 제어

긴 설치 작업 등으로 인해 워크로드를 초기화하는 데 시간이 오래 걸리는 경우 수평 축소 제어를 구성하여 갑작스러운 수평 축소 이벤트로 인한 응답 지연 시간을 줄일 수 있습니다. 특히 부하가 감소한 직후 급증할 것으로 예상되는 경우에는 수평 축소 속도를 제한하여 자동확장이 워크로드가 허용할 수 있는 것보다 더 많은 VM 인스턴스로 MIG 크기를 줄이지 못하도록 할 수 있습니다.

애플리케이션 수평 확장 시 부하 급증을 포착할 만큼 빠르게 초기화되는 경우 수평 축소 제어를 구성할 필요가 없습니다.

수평 축소 제어를 구성하려면 자동 확장 정책에서 다음 속성을 설정합니다.

  • 최대로 허용되는 축소. 지정된 후행 기간 내에 워크로드가 최대 크기에서 잃을 수 있는 인스턴스 수입니다. 이 매개변수를 사용하면 더 많은 인스턴스가 처리될 때까지 부하 급증을 계속 처리할 수 있도록 그룹이 수평 축소될 수 있는 양을 제한할 수 있습니다. 최대로 허용되는 축소를 낮게 설정할수록 그룹을 수평 축소하는 데 더 오래 걸립니다.

  • 후행 기간. 자동 확장 처리에서 워크로드에 필요한 최대 크기를 모니터링하는 기록입니다. 자동 확장 처리는 이 기간 동안 관측된 최대 크기에서 차감된 최대로 허용되는 축소 이하로는 크기를 재조정하지 않습니다. 최대로 허용되는 축소에 정의된 대로 이 매개변수를 사용하여 자동 확장 처리가 인스턴스를 삭제하기 전에 대기해야 하는 기간을 정의할 수 있습니다. 후행 기간이 길어질수록 자동 확장 처리가 이전의 최대 부하를 더 많이 고려하여 더 보수적이고 안정적으로 축소하게 됩니다.

자세한 내용은 수평 축소 제어 구성자동 확장 처리 결정 이해를 참조하세요.

권장 그룹 크기는 마지막 10분 동안 관찰된 최대 부하를 기준으로 관리형 인스턴스 그룹이 유지해야 하는 자동 확장 처리의 권장 VM 수입니다. 이러한 마지막 10분을 안정화 기간이라고 합니다. 권장 대상 크기는 지속적으로 다시 계산됩니다. 자동 확장 정책을 수평 축소 제어와 함께 설정하면 recommendedSize가 수평 축소 제어의 제약을 받습니다.

다음 단계

  1. 기존 MIG가 없는 경우 관리형 인스턴스 그룹을 만드는 방법을 검토하세요.
  2. 다음을 기준으로 확장되는 자동 확장 처리를 만듭니다.

  3. 예를 들어 자동 확장 처리 관리에 대해 알아보거나, 축소 제어를 구성하거나 이를 일시적으로 제한하려면 자동 확장 처리 관리를 참조하세요.