이 페이지에서는 유휴 VM 권장사항을 사용해서 유휴 VM 인스턴스를 식별 및 중지하여 리소스 낭비를 줄이고 프로젝트에 대한 컴퓨팅 청구를 줄이는 방법에 대해 설명합니다.
- Compute Engine이 유휴 VM 권장사항을 생성하는 방법에 대한 자세한 내용은 유휴 VM 인스턴스 감지 작동 방법을 참조하세요.
- 유휴 VM 추천자를 구성해서 수신되는 권장사항을 늘리거나 줄이는 방법은 유휴 VM 권장사항 구성을 참조하세요.
시작하기 전에
- 제한사항을 검토하여 VM이 유휴 VM 권장사항을 지원하는지 확인합니다.
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. Google Cloud
로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.
-
가격 책정
유휴 VM 권장사항은 무료로 제공됩니다. 리소스 사용량 감소를 위한 권장사항을 사용하면 비용을 절약할 수 있습니다.
유휴 VM 인스턴스 권장사항 보기
유휴 VM에 대한 권장사항을 보려면 gcloud CLI나 REST를 사용합니다.
이 태스크에 필요한 권한
이 태스크를 수행하려면 다음과 같은 권한이 있어야 합니다.
- 프로젝트에 대한
recommender.computeInstanceIdleResourceRecommendations.list
권한
gcloud recommender recommendations list
명령어를 --recommender=google.compute.instance.IdleResourceRecommender
와 함께 사용합니다.
gcloud recommender recommendations list \ --project=PROJECT_ID \ --location=ZONE \ --recommender=google.compute.instance.IdleResourceRecommender \ --format=yaml
다음을 바꿉니다.
PROJECT_ID
: 프로젝트의 IDZONE
: 권장사항을 나열할 인스턴스가 포함된 영역
예를 들면 다음과 같습니다.
gcloud recommender recommendations list \ --project=my-project \ --location=us-central1-c \ --recommender=google.compute.instance.IdleResourceRecommender \ --format=yaml
해당 위치에 유휴 VM이 없으면 응답은 비어 있습니다. 그렇지 않으면 응답에는 각 권장사항에 대한 다음 필드가 포함됩니다.
operationGroups
: 권장사항을 적용하기 위해 일련의 순서로 수행할 수 있는 작업 그룹description
: 인간이 읽을 수 있는 권장사항 설명
---
content:
...
operationGroups:
- operations:
- action: test
path: /status
resource: //compute.googleapis.com/projects/my-project/zones/us-central1-c/instances/vm-name
resourceType: compute.googleapis.com/Instance
value: RUNNING
- action: replace
path: /status
resource: //compute.googleapis.com/projects/my-project/zones/us-central1-c/instances/vm-name
resourceType: compute.googleapis.com/Instance
value: TERMINATED
description: Save cost by stopping Idle VM 'vm-name'.
etag: '"83da314c23f634e1"'
lastRefreshTime: '2020-02-24T07:56:40Z'
name: projects/141732092341/locations/us-central1-c/recommenders/google.compute.instance.IdleResourceRecommender/recommendations/0e061a3a-f921-4216-b1b4-62e16942cd1a
primaryImpact:
category: COST
costProjection:
cost:
currencyCode: USD
nanos: -91533961
units: '-262'
duration: 2592000s
recommenderSubtype: STOP_VM
stateInfo:
state: ACTIVE
gcloud 예시에서 gcloud를 사용하여 권장사항 작업 수행에 대해 자세히 알아보세요.
recommendations.list
메서드를 호출하고 다음 권장 유형을 사용합니다.
- google.compute.instance.IdleResourceRecommender
API 호출은 다음과 같습니다.
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/ZONE /recommenders/google.compute.instance.IdleResourceRecommender/recommendations
다음을 바꿉니다.
PROJECT_ID
: 프로젝트의 ID입니다.ZONE
: 권장사항을 나열할 인스턴스가 포함된 영역
다음 예시에서는 curl
및 관련 샘플 응답을 사용하여 요청을 보내는 방법을 보여줍니다.
PROJECT_ID=my-project ZONE=us-central1-c RECOMMENDER_ID=google.compute.instance.IdleResourceRecommender curl -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/$RECOMMENDER_ID/recommendations
유휴 VM 권장사항에 대한 JSON 응답의 예시
{
"description" : "Save cost by stopping Idle VM `vm-name`",
"name": "projects/1574864402/locations/us-central1-c/recommenders/"
"google.compute.instance.IdleResourceRecommender/"
"recommendations/0fd31b24-cc05-4132-8431-ed54a22dd4f1",
"lastRefreshTime": {
"seconds": 1543912652
},
"primaryImpact": {
"category": COST,
"costProjection": {
"cost": {"currencyCode": "USD", "units": -50},
"duration": { "seconds": 2592000 }
}
},
"stateInfo": ACTIVE,
"content":
"groups" : [
{
"operations" : [
{
"action": "test",
"resourceType": "compute.googleapis.com/Instance",
"resource": "//compute.googleapis.com/projects/my-project/"
"zones/us-central1-c/instances/vm-name",
"path": "/status",
"value": "RUNNING"
},
{
"action": "replace",
"resourceType": "compute.googleapis.com/Instance",
"resource": "//compute.googleapis.com/projects/my-project/"
"zones/us-central1-c/instances/vm-name",
"path": "/status",
"value": "TERMINATED"
}
]
}
]
},
"etag" : "cb0e6ac2cfc0b591"
}
각 필드에 대한 자세한 내용은 Recommender API 참고 리소스를 참조하세요.
권장사항 응답 해석
gcloud CLI 또는 REST를 통해 수신하는 각 권장사항에는 순차적으로 수행하여 권장사항을 적용할 수 있는 작업으로 구성된 작업 그룹이 포함됩니다. 유휴 VM 권장사항 작업 그룹에는 다음과 같은 두 가지 작업이 포함됩니다.
VM의 현재
status
확인을 위한 테스트 작업. 예를 들면 다음과 같습니다.{ "action": "test", "resourceType": "compute.googleapis.com/Instance", "resource" : "//compute.googleapis.com/projects/my-project/zones/us-central1-c/instances/vm-name", "path": "/status", "value": "RUNNING" }
VM의
status
변경을 위한 바꾸기 작업. 예를 들면 다음과 같습니다.{ "action": "replace", "resourceType": "compute.googleapis.com/Instance", "resource" : "//compute.googleapis.com/projects/my-project/zones/us-central1-c/instances/vm-name", "path": "/status", "value": "TERMINATED" }
첫 번째 작업은 test
입니다. 즉, resource
가 여전히 RUNNING
상태인지 테스트해야 합니다. VM 상태를 확인하면 됩니다.
두 번째 작업은 replace
입니다. 리소스의 status
를 새 값인 TERMINATED
으로 바꿔야 합니다. 아래 설명에 따라 VM을 중지하면 됩니다.
유휴 VM 권장사항 적용
유휴 VM 권장사항을 수신한 후 인스턴스가 더 이상 필요하지 않은 경우에는 Google Cloud 콘솔, gcloud CLI 또는 REST를 사용하여 인스턴스를 중지하고 선택적으로 삭제합니다.
인스턴스와 해당 디스크를 중지하되 삭제하지 않으면 디스크 비용이 계속 청구됩니다.
이 태스크에 필요한 권한
이 태스크를 수행하려면 다음과 같은 권한이 있어야 합니다.
- 중지를 위한 인스턴스에 대한
compute.instances.stop
권한. - 삭제를 위한 인스턴스에 대한
compute.instances.delete
권한.
- Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
- 중지할 인스턴스를 선택합니다.
- 중지를 클릭합니다.
instances stop
명령어를 사용하고 중지할 VM_NAME
를 지정합니다.
gcloud compute instances stopVM_NAME --zone=ZONE
다음을 바꿉니다.
VM_NAME
: 중지할 VM 인스턴스의 이름ZONE
: 중지할 인스턴스가 포함된 영역
인스턴스 중지를 위한 POST
요청을 작성합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /instances/VM_NAME /stop
다음을 바꿉니다.
PROJECT_ID
: 프로젝트의 IDZONE
: 중지할 인스턴스가 포함된 영역VM_NAME
: 중지할 VM 인스턴스의 이름
VM 인스턴스와 해당 디스크를 삭제할 수 있다고 확신하는 경우 인스턴스를 삭제할 수 있습니다.
다음 단계
- VM 인스턴스 중지, 재설정, 삭제가 인스턴스와 해당 리소스에 미치는 영향에 대해 자세히 알아보기
- 유휴 VM 권장사항을 구성하는 방법 알아보기