このドキュメントでは、Persistent Disk ボリューム、IP アドレス、カスタム ディスク イメージのアイドル状態のリソースに関する推奨事項を表示して適用する方法について説明します。
Compute Engine から、アイドル状態の Persistent Disk ボリューム、IP アドレス、カスタム ディスク イメージを特定し、無駄を最小限に抑えて不要な費用を回避するための推奨事項が提供されます。
アイドル状態の仮想マシン(VM)インスタンスに関する推奨事項については、アイドル状態の VM の推奨事項を表示して適用するをご覧ください。
始める前に
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Persistent Disk が 15 日以上前に作成された。
- Persistent Disk が一度も VM にアタッチされていない。
- Persistent Disk が空である。
- Persistent Disk が GKE Pod にバインドされていない。
- Persistent Disk が 15 日以上アタッチされていない。
- Persistent Disk が GKE Pod にバインドされていない。
- イメージが 15 日以上ディスクの作成に使用されていない。
- イメージがどのインスタンス テンプレートでも使用されていない。
PROJECT_ID
: オブジェクトの ID。LOCATION
: 推奨事項を取得するリソースが含まれているロケーション。- Persistent Disk ボリュームの場合は、ゾーンまたはリージョンを指定します(例:
us-central1-c
)。 - IP の場合:
- リージョン IP を一覧表示するには、リージョンを指定する必要があります。
- グローバル IP を一覧表示するには、
global
を指定します。リージョン IP アドレス リソースとグローバル IP アドレス リソースの詳細については、IP アドレスをご覧ください。
- カスタム イメージの場合は、
global
を指定します。
- Persistent Disk ボリュームの場合は、ゾーンまたはリージョンを指定します(例:
RECOMMENDER_ID
: Recommender の ID- ディスクの場合は、
google.compute.disk.IdleResourceRecommender
を指定します。 - イメージの場合は、
google.compute.image.IdleResourceRecommender
を指定します。 - IP の場合は、
google.compute.address.IdleResourceRecommender
を指定します。
- ディスクの場合は、
PROJECT_ID
: オブジェクトの ID。LOCATION
: 推奨事項を取得するリソースが含まれているロケーション。- Persistent Disk ボリュームの場合は、ゾーンまたはリージョンを指定します(例:
us-central1-c
)。 - IP の場合:
- リージョン IP を一覧表示するには、リージョンを指定する必要があります。
- グローバル IP を一覧表示するには、
global
を指定します。リージョン IP アドレス リソースとグローバル IP アドレス リソースの詳細については、IP アドレスをご覧ください。
- カスタム イメージの場合は、
global
を指定します。
- Persistent Disk ボリュームの場合は、ゾーンまたはリージョンを指定します(例:
RECOMMENDER_ID
: Recommender の ID- ディスクの場合は、
google.compute.disk.IdleResourceRecommender
を指定します。 - イメージの場合は、
google.compute.image.IdleResourceRecommender
を指定します。 - IP の場合は、
google.compute.address.IdleResourceRecommender
を指定します。
- ディスクの場合は、
アイドル状態の Persistent Disk にデータが保存されている場合は、Persistent Disk のバックアップとなるスナップショットを作成する
add
オペレーションが推奨事項に含まれます。次に例を示します。{ "action": "add", "resourceType": "compute.googleapis.com/Disk", "resource" : "//compute.googleapis.com/projects/test-project/global/snapshots/$snapshot-name", "path": "/", "value": { "name": "$snapshot-name", "sourceDisk": "projects/test-project/zones/us-central1-c/disks/pd-name", "storageLocations": ["us-central1"] } }
アイドル状態の Persistent Disk を完全に削除する
remove
オペレーション。次に例を示します。{ "action": "remove", "resourceType": "compute.googleapis.com/Disk", "resource" : "//compute.googleapis.com/projects/test-project/zones/us-central1-c/disks/pd-name", "path": "/" }
LOCATION
: 分析情報を取得するリソースが含まれるロケーション。- PD の場合、ゾーンまたはリージョンを指定します(例:
us-central1-c
)。 - IP の場合:
- リージョン IP を一覧表示するには、リージョンを指定する必要があります。
- グローバル IP を一覧表示するには、
global
を指定します。リージョン IP アドレス リソースとグローバル IP アドレス リソースの詳細については、IP アドレスをご覧ください。
- カスタム イメージの場合は、
global
を指定します。
- PD の場合、ゾーンまたはリージョンを指定します(例:
INSIGHT_TYPE
: 分析情報の種類の ID- ディスクの場合は、
google.compute.disk.IdleResourceInsight
を指定します。 - イメージの場合は、
google.compute.image.IdleResourceInsight
を指定します。 - IP の場合は、
google.compute.address.IdleResourceInsight
を指定します。
- ディスクの場合は、
PROJECT_ID
: オブジェクトの ID。LOCATION
: 分析情報を取得するリソースが含まれるロケーション。- Persistent Disk ボリュームの場合は、ゾーンまたはリージョンを指定します(例:
us-central1-c
)。 - IP の場合:
- リージョン IP を一覧表示するには、リージョンを指定する必要があります。
- グローバル IP を一覧表示するには、
global
を指定します。リージョン IP アドレス リソースとグローバル IP アドレス リソースの詳細については、IP アドレスをご覧ください。
- カスタム イメージの場合は、
global
を指定します。
- Persistent Disk ボリュームの場合は、ゾーンまたはリージョンを指定します(例:
INSIGHT_TYPE
: 分析情報の種類の ID- ディスクの場合は、
google.compute.disk.IdleResourceInsight
を指定します。 - イメージの場合は、
google.compute.image.IdleResourceInsight
を指定します。 - IP の場合は、
google.compute.address.IdleResourceInsight
を指定します。
- ディスクの場合は、
diskLastUseTime
: ディスクが VM に最後に接続した時刻。ディスクが VM に接続されていない場合は、ディスクの作成時刻が設定されます。isBlank
: ディスクが空で、VM に接続していない場合、このフィールドにtrue
が設定されます。それ以外の場合はfalse
です。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
料金
アイドル状態のリソースに関する推奨事項の使用に伴う費用は発生しません。
推奨の生成
VM などのリソースに 15 日間接続されていないリソースは、Recommender によってアイドル状態に分類されます。リソースをアイドル状態に分類する条件と推奨される対応の詳細については、次の表をご覧ください。
リソース リソースがアイドル状態に分類される条件 推奨される対応 コスト削減 Persistent Disk 以下のすべての条件に該当する必要があります。
削除 このディスクの費用を 100% 削減できます。詳細については、ディスクとイメージの料金をご覧ください。 Persistent Disk 以下のすべての条件に該当する必要があります。
Persistent Disk のスナップショットを作成して削除する このディスクのメンテナンス費用を 35%~92% 削減できます。詳細については、ディスクとイメージの料金をご覧ください。 カスタム イメージ 以下のすべての条件に該当する必要があります。
削除 このイメージの費用を 100% 削減できます。詳細については、ディスクとイメージの料金をご覧ください。 外部 IP アドレス IP アドレスが 15 日以上どのリソースにも接続されていない。 削除 この IP アドレスの費用を 100% 削減できます。詳細については、外部 IP アドレスの料金をご覧ください。 推奨の頻度
アイドル状態のリソースに対する推奨は、リソースの作成から 15 日後に始まり、24 時間ごとに更新されます。
推奨の表示
アイドル状態のリソースに対する推奨を表示するには、gcloud CLI または REST を使用します。
コンソール
Google Cloud コンソールで、[すべての推奨事項] ページに移動します。
アイドル状態のリソースは、[未使用の Compute Engine リソース] の下に表示されます。
gcloud
--recommender=
RECOMMENDER_ID
フラグを指定して、gcloud recommender recommendations list
コマンドを使用します。gcloud recommender recommendations list \ --project=PROJECT_ID \ --location=LOCATION \ --recommender=RECOMMENDER_ID \ --format=yaml
次のように置き換えます。
たとえば、次のコマンドは、
us-central1-c
にあるtest-project
のアイドル状態の Persistent Disk に関する推奨事項を一覧取得します。gcloud recommender recommendations list \ --project=test-project \ --location=us-central1-c \ --recommender=google.compute.disk.IdleResourceRecommender \ --format=yaml --- content: operationGroups: - operations: - action: add resource: //compute.googleapis.com/projects/test-project/global/snapshots/$snapshot-name resourceType: compute.googleapis.com/Disk path: / value: - name: $snapshot-name sourceDisk: projects/test-project/locations/us-central1-c/disks/pd-name storageLocations: us-central1 - action: remove resource: //compute.googleapis.com/projects/test-project/zones/us-central1-c/disks/pd-name resourceType: compute.googleapis.com/Disk path: / description: Save cost by snapshotting and then deleting idle persistent disk 'pd-name' name: projects/test-project/locations/us-central1-c/recommenders/google.compute.disk.IdleResourceRecommender/recommendations/0fd31b24-cc05-4132-8431-ed54a22dd4f1 recommenderSubtype: SNAPSHOT_AND_DELETE_DISK lastRefreshTime: seconds: 1543912652 primaryImpact: category: COST costProjection: cost: currencyCode: USD units: '-50' duration: seconds: 2592000 stateInfo: ACTIVE etag: "cb0e6ac2cfc0b591"
gcloud CLI で推奨事項を表示する方法をご確認ください。
REST
recommendations.list
メソッドを呼び出し、Recommender ID を指定します(例:google.compute.disk.IdleResourceRecommender
)。GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/RECOMMENDER_ID/recommendations
次のように置き換えます。
次の例は、
curl
を使用してリクエストを送信する方法と、関連するサンプル レスポンスを示しています。PROJECT_ID=test-project LOCATION=us-central1-c RECOMMENDER_ID=google.compute.disk.IdleResourceRecommender curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$LOCATION/recommenders/$RECOMMENDER_ID/recommendations
アイドル状態の Persistent Disk に関する推奨事項の JSON レスポンスの例:
{ "description" : "Save cost by deleting idle persistent disk 'pd-name'", "name": "projects/test-project/locations/us-central1-c/recommenders/" "google.compute.disk.IdleResourceRecommender/" "recommendations/0fd31b24-cc05-4132-8431-ed54a22dd4f1", "recommenderSubtype" : "SNAPSHOT_AND_DELETE_DISK", "lastRefreshTime": { "seconds": 1543912652 }, "primaryImpact": { "category": COST, "costProjection": { "cost": {"currencyCode": "USD", "units": -50}, "duration": { "seconds": 2592000 } } }, "stateInfo": ACTIVE, "content": { "operationGroups" : [ { "operations" : [ { "action": "add", "resourceType": "compute.googleapis.com/Disk", "resource" : "//compute.googleapis.com/projects/test-project/global/snapshots/$snapshot-name", "value": { "name": "$snapshot-name", "sourceDisk": "projects/test-project/zones/us-central1-c/disks/pd-name", "storageLocations": ["us-central1"], } }, { "action": "remove", "resourceType": "compute.googleapis/Disk", "resource": "//compute.googleapis.com/projects/test-project/" "zones/us-central1-c/disks/pd-name" } ] } ] }, "associatedInsights": [ { "insight": "projects/test-project/locations/us-central1-c/insightTypes/google.compute.disk.IdleResourceInsight/insights/31326443-bcc3-4776-9b86-48879fddb656" } ], "etag": "cb0e6ac2cfc0b591" }
推奨のレスポンスの解釈
gcloud CLI または REST を介して受信する各推奨には、推奨を適用するために連続して実行できるオペレーション グループが含まれています。たとえば、アイドル状態の Persistent Disk に関する推奨事項のオペレーション グループには、次の 1 つまたは 2 つのオペレーションが含まれます。
アイドル状態のリソースに関する推奨事項の分析情報の表示
リソースの分析情報に基づいて、Recommender が推奨事項を生成します。リソースに関する分析情報を表示することで、リソースに関する詳細(リソースが VM に接続されていない期間、Persistent Disk が空かどうかなど)を確認できます。
推奨事項を生成する元となった分析情報を表示するには、gcloud CLI または REST を使用します。
gcloud
insights list
コマンドを使用します。gcloud beta recommender insights list --project=PROJECT_NAME \ --location=LOCATION --insight-type=INSIGHT_TYPE
次のように置き換えます。
REST
insights.list
メソッドを使用します。GET https://recommender.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/insightTypes/INSIGHT_TYPE/insights
次のように置き換えます。
アイドル状態の Persistent Disk リソースに関する分析情報のレスポンスの例を次に示します。
{ "name": "projects/test-project/locations/us-central1-c/insightTypes/google.compute.disk.IdleResourceInsight/insights/0ec21a13-bb04-3121-7321-dc43a11cc3e2", "description": "Disk 'pd-name' in zone 'us-central1-c' was last used 17 days ago. Consider taking snapshot and delete it.", "targetResources": [ "//compute.googleapis.com/projects/test-project/zones/us-central1-c/disks/pd-name" ], "insightSubtype": "IDLE_DISK", "content": { "diskLastUseTime": "2019-10-01 13:00:00", "isBlank": false, }, "lastRefreshTime": "2019-10-10 13:00:00", "observationPeriod": "15 days", "stateInfo": { "state": "ACTIVE" }, "category": "COST", "etag": "fds421j2349", "associatedRecommendations": [ { "projects/test-project/locations/us-central1-c/recommenders/" "google.compute.disk.IdleResourceRecommender/" "recommendations/0fd31b24-cc05-4132-8431-ed54a22dd4f1" } ] }
サンプルのレスポンスには次のフィールドがあります。
分析情報の詳細については、リファレンス ドキュメントをご覧ください。
アイドル状態のリソースに関する推奨事項の適用
アイドル状態のリソースに関する推奨事項を受け取り、その推奨事項を適用する場合は、次のセクションの手順に沿って操作します。
アイドル状態の IP アドレスの削除
addresses.delete
メソッド、gcloud compute addresses delete
コマンド、または静的外部 IP アドレスを解放するのドキュメントをご覧ください。アイドル状態のカスタム イメージの削除
images.delete
メソッド、gcloud compute images delete
コマンド、イメージの削除に関するドキュメントをご覧ください。アイドル状態の Persistent Disk に関する推奨事項の適用
削除する前に Persistent Disk のスナップショットを作成する必要がある場合は、永続ディスクのスナップショットの作成をご覧ください。
アイドル状態の Persistent Disk を削除するには、
gcloud compute disks delete
コマンドをご覧ください。スナップショットからデータを復元して Persistent Disk を再作成する方法については、スナップショットの復元をご覧ください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-12-23 UTC。
-