CPU 사용률을 기준으로 확장

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

외부 HTTP(S) 부하 분산기의 제공 용량에 따라 또는 Monitoring 측정항목에 따라 MIG를 확장할 수도 있습니다.

시작하기 전에

CPU 사용률을 기준으로 확장

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

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

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

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

Console

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

    인스턴스 그룹으로 이동

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

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

  4. 자동 확장 모드에서 자동 확장을 선택해 자동 확장을 사용 설정합니다.

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

    1. 새 측정항목 추가를 클릭합니다.
    2. 측정항목 유형에서 CPU 사용률을 선택합니다.
    3. 대상 CPU 사용률을 원하는 대로 입력합니다. 이 값은 백분율로 간주됩니다. 예를 들어 원하는 CPU 사용률이 75%이면 75를 입력합니다.
    4. 완료를 클릭합니다.
  6. 예측 자동 확장에서 사용 안함을 선택합니다. 예측 자동 확장에 대한 자세한 정보와 사용자 워크로드에 적합한지 여부를 알아보려면 예측 자동 확장 사용을 참조하세요.

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

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

  9. 저장을 클릭합니다.

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 참조에서 확인할 수 있습니다.

API

API에서 autoscalers.insert 메서드에 POST 요청을 실행합니다.

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% 늘립니다.

다음 단계