여러 정책 사용

여러 정책이 포함된 자동 확장 처리를 만들면 그룹에서 가장 많은 가상 머신 수를 제공하는 정책에 따라 자동 확장 처리가 확장됩니다. 이렇게 하면 애플리케이션 작업 부하를 처리할 수 있는 가상 머신이 항상 충분하며 병목 현상이 많이 발생하는 애플리케이션을 확장할 수 있습니다.

시작하기 전에

자동 확장 처리에서 여러 정책을 처리하는 방법

자동 확장 처리는 정책별로 권장되는 가상 머신 수를 계산한 다음 그룹에 가장 많은 수의 가상 머신을 유지하는 정책을 선택하여 여러 정책을 처리합니다.

자동 확장 처리는 측정항목 유형당 하나의 정책을 처리할 수 있습니다. 단, Stackdriver Monitoring 측정항목의 경우는 예외적으로 최대 5개의 정책을 선택할 수 있습니다. 예를 들어, 1개의 CPU 사용률 정책, 1개의 부하 분산 정책, 최대 5개의 커스텀 측정항목 정책을 사용하는 자동 확장 처리를 만들 수 있습니다.

예를 들어, 다음 정책 정의를 모두 포함하는 자동 확장 처리를 정의한 경우

  • 타겟 0.8의 cpuUtilization
  • 타겟 0.6의 loadBalancingUtilization
  • 타겟 1000의 metric1에 대한 customMetricUtilization
  • 타겟 2000의 metric2에 대한 customMetricUtilization

자동 확장 처리는 10개의 가상 머신이 포함된 관리형 인스턴스 그룹에 대해 다음과 같은 평균값을 측정합니다.

  • CPU 사용률의 경우 0.5
  • 부하 분산 사용률의 경우 0.4
  • metric1의 경우 1100
  • metric2의 경우 2700

자동 확장 처리는 평균값을 사용하여 각 정책에 따라 권장되는 가상 머신 수 변경을 계산합니다.

  • CPU 사용률을 기준으로 가상 머신 7개
  • 부하 분산 사용률을 기준으로 가상 머신 7개
  • metric1을 기준으로 가상 머신 11개
  • metric2를 기준으로 가상 머신 14개

이 자동 확장 처리에 대한 정책이 여러 개 있는 경우 자동 확장 처리는 가장 큰 권장 값(이 경우 머신 14개)을 선택하고 관리형 인스턴스 그룹의 크기를 가상 머신 14개로 조정합니다.

여러 정책으로 자동 확장 처리 만들기

여러 정책을 사용하여 자동 확장 처리를 만드는 방법은 gcloud 명령줄 도구를 사용하는지, API를 사용하는지에 따라 약간 다릅니다.

콘솔


  1. 인스턴스 그룹 페이지로 이동합니다.
  2. 목록에서 원하는 인스턴스 그룹을 선택하고 수정을 클릭합니다.
  3. 인스턴스 그룹 세부정보 페이지에 있는 자동 확장 처리 아래의 드롭다운 메뉴에서 켜기를 선택하여 자동 확장을 설정합니다.
  4. 자동 확장 기반 섹션의 드롭다운 메뉴에서 여러 측정항목을 선택합니다.

    여러 정책을 선택하는 스크린샷

  5. 원하는 경우 CPU 사용률 및 부하 분산 사용률 필드를 작성합니다.

  6. 커스텀 측정항목 정책을 추가하려면 타겟 모니터링 측정항목 섹션 아래의 + 아이콘을 클릭하고 커스텀 측정항목 정책의 필드를 작성합니다.

    커스텀 측정항목을 보여주는 스크린샷

    + 아이콘을 클릭하여 여러 개의 커스텀 측정항목 정책을 추가할 수 있습니다.

gcloud


여러 정책으로 자동 확장 처리를 만들려면 각 명령줄 플래그를 사용하여 여러 정책 사양을 전달하세요. 다음 명령어는 CPU 사용률과 2개의 커스텀 측정항목을 사용하는 자동 확장 처리를 만듭니다.

gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
    --target-cpu-utilization 0.8 \
    --custom-metric-utilization metric=custom.cloudmonitoring.googleapis.com/path/to/metric1,utilization-target=1000.0,utilization-target-type=GAUGE \
    --custom-metric-utilization metric=custom.cloudmonitoring.googleapis.com/path/to/metric2,utilization-target=2000.0,utilization-target-type=DELTA_PER_SECOND \
    --max-num-replicas 50

측정 항목 유형마다 최대 1개의 플래그만 전달할 수 있습니다. 단, 커스텀 측정항목 플래그는 예외입니다.

커스텀 측정항목의 경우 다음 플래그를 반복하여 여러 커스텀 측정항목을 제공할 수 있습니다.

--custom-metric-utilization metric=METRIC,utilization-target=TARGET,utilization-target-type=TYPE

API


API에서 원하는 모든 정책을 포함하는 요청 본문을 사용하여 POST를 요청합니다.

POST https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/autoscalers

{
  "autoscalingPolicy" : {
    "cpuUtilization":{
      "utilizationTarget": 0.8
    },
    "customMetricUtilizations":[
      {
        "metric": "custom.cloudmonitoring.googleapis.com/path/to/metric1",
        "utilizationTarget": 1000,
        "utilizationTargetType":"GAUGE"
      },
      {
        "metric": "custom.cloudmonitoring.googleapis.com/path/to/metric2",
        "utilizationTarget": 2000,
        "utilizationTargetType": "DELTA_PER_SECOND"
      }
    ],
    "loadBalancingUtilization":{
      "utilizationTarget": 0.6
    },
    "maxNumReplicas": 50,
    "minNumReplicas": 1
    }
  "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroupManagers/example-managed-instance-group",
  "name": "example-autoscaler"
}
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

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

Compute Engine 문서