유휴 상태 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. 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 사용을 위한 인증을 참고하세요.

가격 책정

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

권장사항 구성

유휴 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의 값을 수정하고 프로젝트의 새 구성을 업로드합니다.

관찰 기간은 초 수와 s 문자가 포함된 문자열을 사용하여 1~14일 사이의 값으로 설정할 수 있습니다.

  • 관찰 기간이 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"
}

다음 단계