유휴 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"
}

다음 단계