CPU 사용률을 기준으로 확장


가장 간단한 형태의 자동 확장은 인스턴스의 CPU 사용량에 따라 관리형 인스턴스 그룹(MIG)을 확장하는 것입니다.

부하 분산 처리 용량, Monitoring 측정항목 또는 일정에 따라 MIG를 자동 확장할 수도 있습니다.

시작하기 전에

  • 자동 확장 처리 제한사항을 검토합니다.
  • 자동 확장 처리 기초에 대해 읽어봅니다.
  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공하는 사용자 인증 정보를 사용합니다.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.

CPU 사용률을 기준으로 확장

관리형 인스턴스 그룹(MIG)의 평균 CPU 사용률을 기준으로 자동 확장할 수 있습니다. 이 정책을 사용하면 자동 확장 처리 기능이 그룹 내 인스턴스의 CPU 사용률을 수집하고 확장이 필요한지 여부를 결정합니다. 자동 확장 처리 시 유지해야 하는 대상 CPU 사용률은 사용자가 설정합니다. 그러면 자동 확장 처리 기능이 해당 수준을 유지하려고 합니다.

자동 확장 처리는 시간 경과에 따른 인스턴스 그룹 내 모든 vCPU의 평균 사용량의 일부로 대상 CPU 사용률 수준을 처리합니다. 전체 vCPU의 평균 사용률이 목표 사용률을 초과하면 자동 확장 처리 기능이 VM 인스턴스를 더 추가합니다. 전체 vCPU의 평균 사용률이 목표 사용률보다 적으면 자동 확장 처리 기능이 인스턴스를 삭제합니다. 예를 들어 목표 사용률을 0.75로 설정하면 자동 확장 처리 기능이 인스턴스 그룹의 모든 vCPU에서 평균 사용률을 75%로 유지합니다.

예측된 CPU 사용률에 따라 확장할 수도 있습니다. 자세한 내용과 워크로드에 적합한지 확인하려면 예측을 기준으로 확장을 참조하세요.

CPU 사용률에 따른 자동 확장 사용 설정

콘솔

  1. 콘솔에서 인스턴스 그룹 페이지로 이동합니다.

    인스턴스 그룹으로 이동

  2. 인스턴스 그룹이 있으면 인스턴스 그룹을 선택하고 수정을 클릭합니다. 인스턴스 그룹이 없으면 인스턴스 그룹 만들기를 클릭합니다.

  3. 자동 확장 구성이 없으면 자동 확장에서 자동 확장 구성을 클릭합니다.

  4. 자동 확장 모드에서 켜기: 그룹에 인스턴스 추가 및 삭제를 선택하여 자동 확장을 사용 설정합니다.

  5. 자동 확장 처리가 이 그룹에 만들 수 있는 인스턴스의 최소 및 최대 개수를 지정합니다.

  6. 자동 확장 측정항목 섹션에서 기존 CPU 사용률 측정항목이 아직 없으면 추가합니다.

    1. 측정항목 추가를 클릭합니다.
    2. 측정항목 유형에서 CPU 사용률을 선택합니다.
    3. 대상 CPU 사용률을 원하는 대로 입력합니다. 이 값은 백분율로 간주됩니다. 예를 들어 원하는 CPU 사용률이 75%이면 75를 입력합니다.
    4. 예측 자동 확장에서 사용 안함을 선택합니다. 예측 자동 확장에 대한 자세한 내용과 워크로드에 적합한지 여부를 알아보려면 예측을 기준으로 확장을 참조하세요.
    5. 완료를 클릭합니다.
  7. 초기화 기간을 사용하여 애플리케이션이 초기화되는 데 걸리는 시간을 자동 확장 처리에 알릴 수 있습니다. 정확한 초기화 기간을 지정하면 자동 확장 처리 결정이 향상됩니다. 예를 들어 아직 초기화 중인 VM은 애플리케이션의 일반적인 사용량을 아직 나타내지 않을 수 있으므로, 수평 확장 시 자동 확장 처리는 이러한 VM의 데이터를 무시합니다. 기본 초기화 기간은 60초입니다.

  8. 저장을 클릭합니다.

gcloud

set-autoscaling 하위 명령어를 사용하여 관리형 인스턴스 그룹에 자동 확장을 사용 설정합니다. 예를 들어 다음 명령어는 대상 CPU 사용률이 60%인 자동 확장 처리를 만듭니다. 자동 확장 처리를 만들 때는 --target-cpu-utilization 매개변수와 함께 --max-num-replicas 매개변수도 필요합니다.

gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
    --max-num-replicas 20 \
    --target-cpu-utilization 0.60 \
    --cool-down-period 90

--cool-down-period 플래그를 사용하여 애플리케이션이 초기화되는 데 걸리는 시간을 자동 확장 처리에 알려주는 초기화 기간을 설정할 수 있습니다. 정확한 초기화 기간을 지정하면 자동 확장 처리 결정이 향상됩니다. 예를 들어 아직 초기화 중인 VM은 애플리케이션의 일반적인 사용량을 아직 나타내지 않을 수 있으므로, 수평 확장 시 자동 확장 처리는 이러한 VM의 데이터를 무시합니다. 기본 초기화 기간은 60초입니다.

필요에 따라 예측 자동 확장을 사용 설정하여 예측된 부하보다 앞서 수평 확장할 수 있습니다. 예측 자동 확장이 워크로드에 적합한지 여부를 알아보려면 예측을 기준으로 확장을 참조하세요.

관리형 인스턴스 그룹을 설명하고 인스턴스 그룹의 자동 확장 기능에 대한 정보를 제공하는 instance-groups managed describe 하위 명령어를 사용하여 자동 확장이 사용 설정되었는지 확인할 수 있습니다.

gcloud compute instance-groups managed describe example-managed-instance-group

사용 가능한 gcloud 명령어 및 플래그의 목록은 gcloud 참조에서 확인할 수 있습니다.

REST

자동 확장 처리를 만들려면 영역 MIG에 autoscalers.insert 메서드를 사용하거나 리전 MIG에 regionAutoscalers.insert 메서드를 사용합니다.

다음 예시에서는 영역별 MIG의 자동 확장 처리를 만듭니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/

요청 본문에는 name, target, autoscalingPolicy 필드가 포함되어야 합니다. autoscalingPolicycpuUtilizationmaxNumReplicas를 정의해야 합니다.

coolDownPeriodSec 필드를 사용하여 애플리케이션이 초기화되는 데 걸리는 시간을 자동 확장 처리에 알려주는 초기화 기간을 설정할 수 있습니다. 정확한 초기화 기간을 지정하면 자동 확장 처리 결정이 향상됩니다. 예를 들어 아직 초기화 중인 VM은 애플리케이션의 일반적인 사용량을 아직 나타내지 않을 수 있으므로, 수평 확장 시 자동 확장 처리는 이러한 VM의 데이터를 무시합니다. 기본 초기화 기간은 60초입니다.

필요에 따라 예측 자동 확장을 사용 설정하여 예측된 부하보다 앞서 수평 확장할 수 있습니다. 예측 자동 확장이 워크로드에 적합한지 여부를 알아보려면 예측을 기준으로 확장을 참조하세요.

{
  "name": "example-autoscaler",
  "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/example-managed-instance-group",
  "autoscalingPolicy": {
    "maxNumReplicas": 10,
    "cpuUtilization": {
      "utilizationTarget": 0.6
    },
    "coolDownPeriodSec": 90
  }
}

CPU 사용률을 기준으로 한 자동 확장 사용 설정에 대한 자세한 내용은 확장성이 뛰어난 애플리케이션을 위한 자동 확장 사용 가이드를 참조하세요.

자동 확장 처리가 과도한 CPU 사용률을 처리하는 방법

CPU 사용률이 많은 기간 동안 사용률이 거의 100%에 도달하면 자동 확장 처리 기능은 그룹이 이미 과부하된 것으로 추정합니다. 이러한 경우 자동 확장 처리 기능은 가상 머신 수를 최대 50% 늘립니다.

다음 단계