인스턴스 그룹 자동 확장

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

자동 확장은 부하가 많아지면 인스턴스 그룹에 인스턴스를 추가(확장)하고, 인스턴스 수요가 줄면 인스턴스를 삭제(축소)하는 방식으로 작동합니다.

기초

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

관리형 인스턴스 그룹

자동 확장은 관리형 인스턴스 그룹의 기능입니다. 관리형 인스턴스 그룹은 공통의 인스턴스 템플릿에서 만든 동종 인스턴스로 구성된 풀입니다. 자동 확장 처리는 관리형 인스턴스 그룹에서 인스턴스를 추가하거나 삭제합니다. Compute Engine에는 관리형 인스턴스 그룹과 비관리형 인스턴스 그룹이 모두 있으며, 자동 확장 처리는 관리형 인스턴스 그룹에서만 사용할 수 있습니다.

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

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

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

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

자동 확장 처리는 정책에 따라 지속적으로 사용 정보를 수집하고 실제 사용률을 원하는 목표 사용률과 비교하며 그룹을 확장해야 하는지, 축소해야 하는지 결정합니다.

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

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

대기 시간

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

안정화 기간

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

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

자동 확장 모드

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

사양

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

    그룹이 GKE 클러스터의 일부인지 확실하지 않으면 관리형 인스턴스 그룹 이름에 gke 프리픽스가 있는지 확인하세요. 예를 들면 gke-test-1-3-default-pool-eadji9ah입니다.

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

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

시작하기 전에

  1. 관리형 인스턴스 그룹에 대해 알아보기

    자동 확장 처리는 관리형 인스턴스 그룹의 기능이므로 자동 확장을 사용하기 전에 관리형 인스턴스 그룹이 작동하는 방식을 알아보세요.

  2. 관리형 인스턴스 그룹 이름 또는 URL 가져오기

    모든 자동 확장 요청에는 관리형 인스턴스 그룹 이름 또는 관리형 인스턴스 그룹 URL을 제공해야 합니다. gcloud 명령줄 도구에서 관리형 인스턴스 그룹 이름을 사용할 수 있으며 API에는 정규 URL이 필요합니다.

    기존 관리형 인스턴스 그룹으로 URL을 가져오려면 instance-groups managed list --uri 명령어 또는 instance-groups managed list [INSTANCE_GROUP] --uri 명령어를 사용하면 됩니다. 예를 들어 다음 명령어는 us-central1-f 영역에 있는 관리형 인스턴스 그룹의 URL을 제공합니다.

    gcloud compute instance-groups managed list example-group --uri --filter="zone:(us-central1-f)"
    

    gcloud 도구는 관리형 인스턴스 그룹의 URL을 반환합니다.

    https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/example-group
    

    기존 관리형 인스턴스 그룹이 없는 경우 관리형 인스턴스 그룹을 생성하는 방법을 검토합니다.

다음 단계

준비가 되면 CPU나 부하 분산 제공 용량 또는 Stackdriver Monitoring 측정항목을 기준으로 확장하는 자동 확장 처리를 만듭니다.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Compute Engine 문서