MIG에 대한 머신 유형 권장사항 적용


Compute Engine은 워크로드 성능과 비용 효율성을 높이는 데 도움이 되는 관리형 인스턴스 그룹(MIG)에 대한 머신 유형 권장사항을 제공합니다. 인스턴스의 머신 유형 크기를 조정하여 vCPU 및 메모리 리소스를 추가 또는 삭제해야 하는 경우 이러한 권장사항을 참조하세요.

VM 인스턴스에 사용 가능한 머신 유형에 대한 자세한 내용은 머신 유형 문서를 참조하세요.

머신 유형 권장사항은 적정 크기 권장사항이라고도 합니다.

시작하기 전에

  • Google Cloud 콘솔 문서를 읽어보세요.
  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    콘솔

    Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스할 때는 인증을 설정할 필요가 없습니다.

    gcloud

    1. Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init
    2. 기본 리전 및 영역을 설정합니다.

    REST

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

      Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init

제한사항

권장사항은 단일 영역에 있고 자동 확장 또는 부하 분산 처리되지 않는 관리형 인스턴스 그룹에 사용할 수 있습니다.

가격 책정

머신 유형 권장사항은 무료로 제공됩니다. 권장사항을 적용하여 인스턴스의 머신 유형 크기를 조절하면 선택한 머신 유형에 대한 요금이 청구됩니다.

사용 사례

다음 워크로드 조건에 해당하는 경우 머신 유형 권장사항을 활용할 수 있습니다.

  • 계절 트래픽에 영향받기 쉬운 워크로드를 비롯하여 트래픽이 주기적으로 증가 또는 감소하는 워크로드
  • 읽기/쓰기 처리량 같은 다른 제한 때문에 CPU와 RAM을 적게 사용하는 워크로드
  • 개별 소프트웨어 라이선스가 필요하며 인스턴스를 추가할 수 없는 소프트웨어를 실행하는 워크로드. 이 경우 사용자는 머신 유형 권장사항을 이용해 머신 유형을 확장하면서 VM 인스턴스의 수는 일정하게 유지할 수 있습니다.
  • 자동 확장에 적합하지 않은 워크로드를 비롯하여 인스턴스 수 변화에 바로 대응할 수 없는 워크로드

다음과 같은 이유에 해당하는 경우 머신 유형 권장사항을 사용하지 않을 수 있습니다.

  • CPU 사용량이 매우 짧은 시간에 급증하는 워크로드가 있는 경우. 머신 유형 권장사항은 60초 간격의 평균 CPU 사용률을 기반으로 하므로 이보다 짧은 시간 동안 급증한 사용량을 포착할 만큼 빠르게 생성되지 않을 수 있습니다. 짧은 시간 동안 사용량이 급증하는 앱은 권장 크기보다 큰 머신 유형에서 실행해야 하며, 자동 확장을 사용 설정하여 이러한 급증을 조정할 수도 있습니다.
  • 부하 급증이 발생하는 빈도가 8일을 초과(예: 매월)하는 경우. 급증이 빈번하지 않게 발생하면 최근 8일간의 기록만 확인하는 크기 조정 알고리즘으로는 급증이 간과됩니다.
  • MIG의 각 인스턴스는 완전히 다른 워크로드를 처리하는 경우. 이러한 경우에 권장사항을 사용하면 VM 인스턴스가 최고 부하에 맞춰 최적화되므로 그룹 내 대부분의 VM 인스턴스 크기가 지나치게 커지게 됩니다.
  • 실시간 부하를 처리하는 것이 아니라 처리 가능한 장애 조치 용량을 제공하기 위한 것이어서 사용량이 적은 VM이 MIG에 포함된 경우
  • 다음 이유 중 하나로 인해 크기가 지나치게 큰 VM이 MIG에 포함된 경우
    • 소프트웨어 라이선스 요구사항에 따라 최소 머신 크기를 충족해야 합니다.
    • 최소 머신 유형으로만 사용 가능한 스토리지 또는 네트워킹 IOPS 요구 사항을 충족해야 합니다.

머신 유형 권장사항 작동 방식

Compute Engine은 실행 중인 가상 머신의 CPU 및 메모리 사용률을 모니터링하고 지난 8일간의 데이터를 바탕으로 권장사항을 제공합니다. 관리형 인스턴스 그룹의 모든 인스턴스에 가장 적합한 단일 머신 유형을 권장하기 위해 Compute Engine은 개별 인스턴스의 표준 머신 유형 권장사항을 제공하고, 이상점에 대한 조정이 끝나면 어떤 단일 VM 인스턴스의 크기도 과도하게 줄이지 않는 머신 유형을 선택합니다. 중단되었거나 재시작 중인 VM 인스턴스 같은 미실행 인스턴스는 계산에 포함되지 않습니다.

Compute Engine은 다음과 같은 권장사항을 제공합니다.

  • 사용자 인스턴스의 그룹의 CPU 사용률이 대체로 낮으면 Compute Engine은 가상 CPU가 더 적은 머신 유형을 권장합니다.
  • 사용자 인스턴스 그룹의 CPU 사용률이 대체로 높으면 Compute Engine은 가상 CPU가 더 많은 머신 유형을 권장합니다.
  • 사용자 인스턴스 그룹이 메모리의 많은 부분을 사용하지 않으면 Compute Engine은 메모리가 더 적은 머신 유형을 권장합니다.
  • 사용자 인스턴스 그룹이 대부분의 시간 동안 메모리의 많은 부분을 적극적으로 사용하면 Compute Engine은 메모리가 더 많은 머신 유형을 권장합니다.

Compute Engine은 표준 또는 커스텀 머신 유형을 사용하도록 권장하기도 합니다. 머신이 사용할 수 있는 메모리와 vCPU 양에는 몇 가지 제한이 적용됩니다. 특히 한 리소스를 늘리려면 유효한 머신 유형의 사양을 충족하기 위해 동시에 다른 리소스를 늘려야 할 수도 있습니다. 또한 Compute Engine은 인스턴스가 실행 중인 영역에서 사용 가능한 머신 유형만 사용하도록 권장합니다.

자세한 내용은 커스텀 머신 유형 사양을 참조하세요.

관리형 인스턴스 그룹의 워크로드가 개별 인스턴스 간에 크게 차이가 난다면, 전체 활용 인스턴스가 권장사항에 따라 충분한 리소스를 가질 수 있도록 일부 인스턴스의 크기를 늘려야 할 수도 있습니다. 예를 들어 Compute Engine은 인스턴스 1, 2, 3, 5의 크기를 늘리고 사용량을 줄여야 하는 상황에서도 인스턴스 4의 워크로드 지원을 위해 다음과 같은 권장사항을 제공하기도 합니다.

관리형 인스턴스 그룹에 대한 권장사항
관리형 인스턴스의 다양한 워크로드로 인해 과도하게 커진 크기의 예시

따라서 관리형 인스턴스 그룹에 대한 권장사항은 인스턴스에 합리적으로 워크로드가 분산되어 있을 때 가장 잘 적용됩니다.

비용 차이 산출을 위해 인스턴스 그룹의 비용은 지난주의 사용량(지속 사용 할인 전)을 기준으로 책정되며 30일 동안 사용한 것으로 추정됩니다. 그리고 이 비용을 권장 머신 유형의 월 비용(지속 사용 할인 전)과 비교합니다. 정확한 가격 및 세부정보는 가격 책정 문서를 참조하세요.

머신 유형 권장사항 보기

Compute Engine은 Google Cloud Console을 통해 권장사항을 제공합니다. 머신 유형 권장사항은 gcloud CLI 또는 REST를 사용하는 추천자를 통해 볼 수 있습니다.

콘솔

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

    인스턴스 그룹 페이지로 이동

  2. 프로젝트를 선택하고 계속을 클릭합니다.
  3. 권장사항 열에서 개별 관리형 인스턴스 그룹에 대한 권장사항을 확인합니다. 예상 절감액을 기준으로 열을 정렬할 수도 있습니다. 인스턴스 그룹 옆에 권장사항이 없다면 Compute Engine은 어떠한 권장사항도 제공하지 않습니다.

    권장사항 열

  4. 인스턴스 그룹에 2개의 인스턴스 템플릿이 있으면 Compute Engine은 각 인스턴스 템플릿에 대한 권장사항을 제공합니다. 권장사항을 클릭하면 각 인스턴스 템플릿에 대한 권장사항을 확인할 수 있습니다.

    여러 템플릿에 대한 권장사항

gcloud

gcloud recommender recommendations list 명령어를 사용하고 VM 관리형 인스턴스 그룹 적정 크기 추천 기능을 지정합니다.

gcloud recommender recommendations list \
      --recommender=google.compute.instanceGroupManager.MachineTypeRecommender \
      --project [PROJECT_ID] \
      --location [ZONE] \
      --format=yaml

예를 들면 다음과 같습니다.

gcloud recommender recommendations list \
    --recommender=google.compute.instanceGroupManager.MachineTypeRecommender \
    --project my-project \
    --location us-central1-a \
    --format=yaml

응답에는 각 권장사항에 대한 다음 필드가 포함됩니다.


---
content:
  ...
  operationGroups:
  - operations:
    - action: test
      path: /properties/machineType
      resource: //compute.googleapis.com/projects/my-project/global/instanceTemplates/my-old-template
      resourceType: compute.googleapis.com/InstanceTemplate
      value: n1-standard-4
    - action: copy
      path: /
      resource: //compute.googleapis.com/projects/my-project/global/instanceTemplates/$new-it-name
      resourceType: compute.googleapis.com/InstanceTemplate
      sourcePath: /
      sourceResource: //compute.googleapis.com/projects/my-project/global/instanceTemplates/my-old-template
    - action: replace
      path: /name
      resource: //compute.googleapis.com/projects/my-project/global/instanceTemplates/$new-it-name
      resourceType: compute.googleapis.com/InstanceTemplate
      value: $new-it-name
    - action: replace
      path: /properties/machineType
      resource: //compute.googleapis.com/projects/my-project/global/instanceTemplates/$new-it-name
      resourceType: compute.googleapis.com/InstanceTemplate
      value: custom-2-5632
  - operations:
    - action: replace
      path: /versions/*/name
      pathValueMatchers:
        versions/*/instanceTemplate:
          matchesPattern: .*global/instanceTemplates/my-old-template
      resource: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instanceGroupManagers/example-group
      resourceType: compute.googleapis.com/InstanceGroupManager
      value: global/instanceTemplates/$new-it-name
...
description: Save cost by changing machine type from n1-standard-4 to custom-2-5120.
...
name: projects/823742397239/locations/us-central1-a/recommenders/google.compute.instanceGroupManager.MachineTypeRecommender/recommendations/c50a1c41-7e65-417d-a32e-45248a2cb318
...

자세한 내용은 Recommender 문서를 참조하세요.

REST

MIG 머신 유형 추천자 ID와 함께 Recommender API를 사용합니다.

PROJECT_ID=my-project
LOCATION=us-central1-c
RECOMMENDER_ID=google.compute.instanceGroupManager.MachineTypeRecommender

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$LOCATION/recommenders/$RECOMMENDER_ID/recommendations

응답에는 각 권장사항에 대한 다음 필드가 포함됩니다.

  • name: 권장사항 이름
  • description: 사람이 읽을 수 있는 권장사항 설명
  • operationGroups: 권장사항을 적용하기 위해 일련의 순서로 수행할 수 있는 작업 그룹

자세한 내용은 Recommender 문서를 참조하세요.

새 관리형 인스턴스 그룹을 만들면 그룹 생성 시점으로부터 24시간 후에 새 그룹에 대한 권장사항이 표시됩니다.

이후에는 권장사항이 온종일 정기적으로 갱신됩니다.

인스턴스 그룹에 권장사항 적용

Compute Engine이 제안한 권장사항을 적용하고 싶다면 Console에서 관리형 인스턴스 크기를 바로 조절할 수 있습니다. 또는 직접 크기 조절 작업을 수행할 수도 있습니다. Recommender API는 일련의 크기 조절 작업을 반환합니다. 자세한 내용은 작업 그룹을 참조하세요.

권장사항을 관리형 인스턴스 그룹에 적용할 때는 다음 작업을 수행합니다.

  1. 관리형 인스턴스 그룹이 사용하는 인스턴스 템플릿을 클론합니다.
  2. 클론된 인스턴스 템플릿을 권장사항과 사용자가 적용한 변경사항을 바탕으로 수정합니다.
  3. 관리형 인스턴스 그룹 업데이터를 사용하여 새 템플릿을 적용합니다. 인스턴스 그룹에 2개의 인스턴스 템플릿이 있는 경우 다음을 참조하세요.

    1. 권장사항은 한 번에 하나의 인스턴스 템플릿에만 적용할 수 있습니다.
    2. 관리형 인스턴스 그룹은 한 번에 인스턴스 템플릿을 2개까지만 유지할 수 있으므로 권장사항을 적용하면서 다른 인스턴스 템플릿 2개를 유지할 수는 없습니다. 하지만 인스턴스 그룹에 인스턴스 템플릿이 하나만 있다면 권장사항을 적용할 수 있습니다.

Console에서 관리형 인스턴스의 크기를 바로 조절하려면 다음 안내를 따르세요.

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

    인스턴스 그룹 페이지로 이동

  2. 업데이트할 인스턴스 그룹의 권장사항 텍스트를 클릭합니다.

    권장사항 열 선택

  3. 세부정보를 확인하고 취소, 권장사항 닫기 또는 계속을 선택할 수 있는 팝업이 나타납니다. 권장사항을 검토하고 적용하려면 계속을 클릭하세요.

  4. 권장사항 검토 페이지에 권장사항이 자세히 설명됩니다. 계속해서 권장사항을 진행할 경우 Compute Engine은 이전 템플릿이 있는 인스턴스 그룹의 모든 인스턴스를 새 템플릿으로 업데이트합니다.

  5. (고급) 새 템플릿이 인스턴스에 적용되는 방식을 맞춤설정하려면 배포 맞춤설정을 클릭합니다. 배포 구성 화면이 표시됩니다.

    1. 새 인스턴스 템플릿을 사용하여 인스턴스를 적극적으로 삭제하고 만들려면 자동을 선택합니다. 크기 조절과 같은 다른 방법으로 인스턴스가 생성될 때 또는 그룹에 새 인스턴스가 추가될 때만 업데이트를 적용하려면 선택적을 선택합니다.
    2. 자동 업데이트를 선택하는 경우 인스턴스를 교체할 때 인스턴스 이름을 유지할지 선택합니다.
      • 인스턴스 이름을 유지하도록 선택할 경우 임시 추가 인스턴스 아래에서 관리형 인스턴스 그룹의 대상 크기 위로 만들 임시 추가 인스턴스 수를 선택합니다. 허용하는 인스턴스가 많을수록 추가 인스턴스를 이용해 업데이트를 빠르게 진행할 수 있습니다. 기본값은 추가 인스턴스 1개입니다.
    3. 사용할 수 없는 최대 인스턴스에서 이 업데이트 중에 동시에 오프라인 상태가 될 수 있는 인스턴스 수를 선택합니다. 이 숫자에는 다른 이유로 사용할 수 없는 인스턴스도 포함됩니다. 예를 들어 인스턴스 그룹의 크기 확장이 진행 중이라면 생성 중인 인스턴스를 이용하지 못할 수 있으며, 이 인스턴스가 숫자에 포함됩니다. 한 번에 사용 불가능한 인스턴스의 기본값은 1개입니다.
    4. 선택사항: 고급 옵션 표시를 확장합니다. 최소 대기 시간에서 새 인스턴스를 업데이트로 표시하기 전에 대기해야 하는 시간(초)을 선택합니다. 대기 시간은 상태 확인 결과 이상이 없을 때 시작됩니다. 이 기능을 사용해 인스턴스 템플릿이 적용되는 속도를 제어하세요.
  6. 변경사항을 적용하려면 저장을 클릭합니다.

  7. 변경사항을 배포할 준비가 되었으면 배포를 클릭합니다.

권장사항 닫기

적용이 완료된 권장사항은 Console에서 삭제할 수 있습니다. Console에서 권장사항을 닫으면 해당 권장사항이 총 예상 절감액에서 제외되며 회색으로 바뀌기 때문에 잘 보이지 않게 됩니다.

Console을 통해 권장사항을 닫아도 Recommender API에서 반환된 권장사항 목록에는 영향을 주지 않습니다. Recommender API에서 반환된 권장사항 상태를 관리하려면 API 사용을 참조하세요.

Console에서 단일 권장사항을 닫으려면 다음 안내를 따르세요.

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

    인스턴스 그룹 페이지로 이동

  2. 닫으려는 권장사항 텍스트를 클릭합니다. 세부정보와 닫기 버튼이 있는 팝업이 나타납니다.

  3. 닫기를 클릭합니다.

Console에서 권장사항을 복원하려면 다음 안내를 따르세요.

  1. 인스턴스 그룹 페이지에서 복원할 회색 권장사항 텍스트를 클릭합니다.

    닫은 권장사항

  2. 세부정보와 복원 버튼이 있는 팝업이 나타납니다.

  3. 복원을 클릭합니다.

더욱 정확한 권장사항을 위한 Monitoring 에이전트 활용

Cloud Monitoring은 VM 인스턴스에서 추가 디스크, CPU, 네트워크, 프로세스 측정항목을 수집하는 Monitoring 에이전트를 제공합니다. VM 인스턴스에 Monitoring 에이전트를 설치하면 에이전트가 시스템 리소스 및 애플리케이션 서비스에 액세스하여 이러한 데이터를 수집할 수 있습니다.

Monitoring 에이전트를 VM 인스턴스에 설치하고 실행하면 에이전트가 수집한 CPU와 메모리 측정항목이 자동으로 머신 유형 권장사항 계산에 사용됩니다. Monitoring 에이전트가 제공하는 에이전트 측정항목은 기본 Compute Engine 측정항목과 비교할 때 인스턴스의 리소스 사용률에 대해 더 유용한 정보를 제공합니다. 이를 통해 추천 엔진은 리소스 요구사항을 더 잘 평가하고 더욱 정확한 권장사항을 제공할 수 있습니다.

에이전트를 설치하려면 Cloud Monitoring 에이전트 설치를 참조하세요.

다음 단계