유휴 VM 권장사항 구성


이 페이지에서는 유휴 VM 권장사항의 구성을 보고 수정하는 방법을 설명합니다. 수신하는 권장사항 수를 늘리거나 의도적으로 작은 워크로드가 있는 VM을 유휴 VM으로 잘못 분류하지 않도록 구성을 수정할 수 있습니다.

시작하기 전에

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

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

    gcloud

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

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

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

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

        gcloud init

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

가격 책정

구성 가능한 권장사항은 무료로 제공됩니다. 권장사항을 사용하여 리소스 사용량을 줄이면 비용을 절감할 수 있습니다.

권장사항 구성

유휴 VM 권장사항을 구성하려면 다음 단계를 수행합니다.

  1. 현재 구성을 가져와서 구성의 JSON 파일을 가져옵니다.
  2. JSON 형식으로 구성 파일을 수정합니다.
  3. 새 구성 파일을 업로드하여 변경사항을 적용합니다.

현재 구성 가져오기

Google Cloud CLI 또는 REST를 사용하여 프로젝트의 유휴 VM 권장사항에 대한 현재 구성을 가져올 수 있습니다.

gcloud

현재 구성 매개변수를 가져오려면 gcloud recommender recommender-config describe 명령어를 사용하고 google.compute.instance.IdleResourceRecommender를 추천자 ID로 사용합니다.

gcloud recommender recommender-config describe google.compute.instance.IdleResourceRecommender \
  --project=PROJECT_ID \
  --location=ZONE

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트의 ID
  • ZONE: 현재 구성을 가져올 영역

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

gcloud recommender recommender-config describe google.compute.instance.IdleResourceRecommender \
  --project=my-project \
  --location=us-central1-c

이 명령어는 수정 가능한 하위 필드 params.observation_period를 포함한 추천자 구성을 반환합니다.

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "1209600s"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\"",
  "updateTime": "2021-02-03T04:41:15.330351Z"
}

REST

현재 구성을 검색하려면 recommenders.getConfig 메서드를 사용하고 google.compute.instance.IdleResourceRecommender를 추천자 ID로 지정합니다.

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

다음을 바꿉니다.

  • PROJECT_ID: 추천자 구성을 검색할 프로젝트의 ID입니다.
  • ZONE: 프로젝트가 포함된 영역입니다.

명령줄에서 다음 명령어를 실행하여 프로젝트의 추천자 구성을 가져옵니다.

PROJECT_ID=PROJECT_ID
ZONE=ZONE
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: ${PROJECT_ID}" \
https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

이 명령어는 수정할 수 있는 하위 필드(params.observation_period)를 포함하여 추천자 구성을 반환합니다.

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "1209600s"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\"",
  "updateTime": "2021-02-03T04:41:15.330351Z"
}

프로젝트 구성 업데이트

유휴 VM 권장사항의 구성을 업데이트하려면 observation_period의 값을 수정하고 프로젝트의 새 구성을 업로드합니다.

관찰 기간(1일~14일)을 총 시간(초)과 s 문자로 구성된 문자열을 사용하여 설정할 수 있습니다.

  • 관찰 기간이 1일이면 "86400s"를 사용합니다.
  • 14일의 관찰 기간에는 "1209600s"를 사용합니다.

새 구성을 업로드한 후 적용되는 데 약 48시간이 걸립니다. 그 때까지는 생성된 모든 권장사항이 이전 구성을 사용합니다.

gcloud

구성 매개변수를 업데이트하려면 gcloud recommender recommender-config update 명령어를 사용하고 google.compute.instance.IdleResourceRecommender를 추천자 ID로 사용합니다.

gcloud recommender recommender-config update google.compute.instance.IdleResourceRecommender\
  --project=PROJECT_ID \
  --location=ZONE \
  --config-file=CONFIG_FILE_PATH \
  --etag=ETAG

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트의 ID
  • ZONE: 현재 구성을 가져올 영역
  • CONFIG_FILE_PATH: 현재 구성이 포함된 JSON 파일의 경로
  • ETAG: 현재 구성의 etag 값

구성 파일에서 업데이트된 구성 매개변수가 있는 recommenderGenerationConfig 객체만 지정합니다. 예를 들어 관찰 기간을 5일로 지정하려면 다음 구성 파일을 사용합니다.

{
  "params": {
    "observation_period": "432000s"
  }
}

명령어가 성공하면 다음과 비슷한 응답 본문이 반환되고 방금 수정한 매개변수가 포함된 새 구성이 표시됩니다.

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "432000s"
    }
  },
  "etag": "\"1245f9435cd01ea8\"",
  "updateTime": "2021-02-03T05:00:05Z"
}

REST

구성을 업데이트하려면 recommenders.updateConfig 메서드를 사용하고 google.compute.instance.IdleResourceRecommender를 추천자 ID로 지정합니다.

PATCH https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "1209600s"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\""
}

다음을 바꿉니다.

  • PROJECT_ID: 추천자 구성을 수정할 프로젝트의 ID입니다.
  • ZONE: 프로젝트가 포함된 영역입니다.

요청 본문을 파일에 저장합니다(예: config.json). 그런 후 다음과 비슷한 명령어를 사용하여 프로젝트의 추천자 구성을 업데이트할 때 이 파일을 참조할 수 있습니다.

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "x-goog-user-project: ${PROJECT_ID}" \
-d @config.json \
https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

POST 명령어는 방금 수정한 매개변수와 함께 새 구성을 보여주는 다음과 같은 응답 본문을 반환합니다.

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "432000s"
    }
  },
  "etag": "\"1245f9435cd01ea8\"",
  "updateTime": "2021-02-03T05:00:05Z"
}

다음 단계