VM インスタンスに対する推奨マシンタイプの適用


Compute Engine は、仮想マシン インスタンスのリソースの使用を最適化するために推奨されるマシンタイプを提示します。マシンタイプの推奨は Cloud Monitoring サービスが過去 8 日間に集めたシステム指標に基づいて自動的に生成されます。これに従ってインスタンスのマシンタイプをサイズ変更すると、インスタンスのリソースをより効率的に使用できます。この機能は、サイズ適正化ともいいます。

VM インスタンスで使用可能なマシンタイプの詳細については、マシンタイプのドキュメントをご覧ください。

始める前に

料金

推奨マシンタイプ提案は無料で利用できます。推奨を適用してインスタンスのマシンタイプをサイズ変更すると、選択したマシンタイプに対して課金されます。

制限とユースケース

現在、次のケースではマシンタイプの最適化案を使用できません。

  • App Engine フレキシブル環境、Dataflow、Google Kubernetes Engine、または Dataproc を使用して作成された VM インスタンス
  • エフェメラル ディスク、GPU、または TPU を搭載した VM インスタンス
  • メモリ最適化マシン ファミリーの VM インスタンス

推奨マシンタイプ提案アルゴリズムは、週次パターンに従うワークロード、数週間にわたって増加または減少するワークロード、リソースを常に十分に活用しないワークロード、不十分なリソースによって常に抑制されるワークロードに適しています。このような場合、過去 8 日間のデータで、マシンのサイズ変更によりリソース使用率をどのように改善できるか十分に予測できます。

推奨マシンタイプ提案アルゴリズムは、次のワークロードには適していません。

  • 急増頻度が少ないワークロード(たとえば、月 1 回急増するワークロード)。これは、8 日間のデータでは、CPU 処理変動を捕捉または予測するのに十分ではないためです。
  • CPU スパイクがとても短時間のワークロード。推奨サイズは、60 秒間隔での平均 CPU 使用率に基づいて算出されるためです。短時間のスパイクを捕捉するのに十分なほど速くは推奨サイズが作成されないことがあります。詳細については、推奨マシンタイプ提案の仕組みをご覧ください。

バッチ ワークロードなど、パフォーマンスよりもコストが重要となるワークロードでは、サイズ増加の提案を無視してかまいません。

まれに、推奨を適用するとエラー メッセージが表示されることがあります。たとえば、推奨マシンタイプが、アタッチされているディスクの数に対して小さすぎる場合、イメージやライセンスのリソース要件を満たしていない場合、特定のゾーンで使用できない場合などがあります。

推定削減額が 1 か月あたり $10 未満の場合、推奨事項は表示されません。

推奨マシンタイプ提案の仕組み

Compute Engine は、稼働中の VM の CPU とメモリ使用量をモニタし、過去 8 日間のデータを使用して推奨を提供します。Compute Engine では、次のような推奨内容が表示されます。

  • ほとんどの時間でインスタンスの CPU 使用率が低かった場合、Compute Engine は仮想 CPU の少ないマシンタイプを推奨します。

  • ほとんどの時間でインスタンスの CPU 使用率が高かった場合、Compute Engine は仮想 CPU の多いマシンタイプを推奨します。

  • インスタンスがメモリの大部分を使用していない場合、Compute Engine はメモリの少ないマシンタイプを推奨します。

  • インスタンスがメモリの大部分を頻繁に使用している場合、Compute Engine はより多くのメモリを搭載したマシンタイプを推奨します。

Compute Engine は、標準マシンタイプとカスタム マシンタイプのいずれかをおすすめします。マシンで使用できるメモリと vCPU の量には制限があることにご注意ください。特に 1 つのリソースを増加させると同時に、有効なマシンタイプの仕様に適合するよう、他のリソースも増加させる必要が生じる場合があります。また、Compute Engine は、インスタンスが実行されているゾーンで使用可能なマシンタイプのみを推奨します。

詳しくは、カスタム マシンタイプの仕様をご覧ください。

推定費用を算出する場合、インスタンスの費用は前週の使用量を基準として(長期利用割引を含まない)、30 日分まで推定されます。この数字は、推奨マシンタイプの 1 か月の費用(長期利用割引を含まない)と比較されます。正確な料金と詳細については、料金についてのドキュメントをご覧ください。

推奨マシンタイプの表示

Compute Engine から提案される推奨は、Google Cloud コンソールで確認できます。推奨事項は、gcloud CLI または API を使用して Recommender から入手することもできます。

コンソール

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. [推奨事項] 列を調べて、個々のインスタンスに対する推奨を確認します。推定節減額で列を並べ替えることもできます。インスタンスの横に推奨が示されていない場合、Compute Engine はそのインスタンスに対して推奨を行っていません。

    [推奨事項] 列

gcloud

gcloud recommender recommendations list コマンドを使用して、VM インスタンスの適正サイズを推奨する Recommender を指定します。

gcloud recommender recommendations list \
    --recommender=google.compute.instance.MachineTypeRecommender \
    --project=PROJECT_ID \
    --location=ZONE \
    --format=[config | csv | default | diff | flattened | get | json | list | object | table | text | value | yaml]

次のように置き換えます。

  • PROJECT_ID: オブジェクトの ID。
  • ZONE: 推奨を一覧表示するインスタンスを含むゾーン。
  • FORMAT: 目的の出力形式。
    • csvdiffgettablevalue は、空でない射影を必要とします。

gcloud recommender recommendations list コマンドの出力には次のフィールドが含まれます。

  • name 推奨の名前。
  • description: 人が読める形式での推奨の説明。
  • operationGroups: 推奨を適用する際に順番に実行できるオペレーションのグループ。

詳細については、Recommender のドキュメントをご覧ください。

API

VM インスタンス適正サイズ recommender ID で、Recommender API を使用します。

次の bash スクリプトの例では、curl リクエストに対して、アプリケーションのデフォルト認証情報から返されたアクセス トークンを使用します。アプリケーションのデフォルト認証情報の設定については、アプリケーションのデフォルト認証情報に認証情報を提供するをご覧ください。

PROJECT_ID=my-project
LOCATION=us-central1-c
RECOMMENDER_ID=google.compute.instanceGroupManager.MachineTypeRecommender

curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$LOCATION/recommenders/$RECOMMENDER_ID/recommendations

レスポンスには次のフィールドが含まれます。

  • name 推奨の名前。
  • description: 人が読める形式での推奨の説明。
  • operationGroups: 推奨を適用する際に順番に実行できるオペレーションのグループ。

詳細については、Recommender のドキュメントをご覧ください。

インスタンスを作成すると、そのインスタンスへの推奨は、インスタンスの作成から 24 時間後に表示されます。インスタンスのマシンタイプを変更すると、Compute Engine は変更後 24 時間以内にさらに推奨を提供します。

その後、VM インスタンスの推奨は一日中定期的に更新されます。

推奨に応じたマシンタイプの変更

Compute Engine による推奨を適用するには、推奨画面でインスタンスのマシンタイプを直接変更するか、推奨マシンタイプ提案の表示で返される操作を手動でステップ実行します。

コンソール

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

    インスタンスに推奨が存在する場合、[推奨事項] 列に表示されます。

  2. サイズを変更するインスタンスの推奨テキストをクリックします。

    [推奨事項] 列

  3. ポップアップ ウィンドウが開き、詳細情報が表示されます。[適用] ボタンをクリックすると、インスタンスに推奨が適用されます。このボタンをクリックすると、インスタンスが停止してマシンタイプが変更され、インスタンスが再起動されます。

  4. オプションで、[カスタマイズ] リンクをクリックしてインスタンスを自由にカスタマイズすることもできます。

    推奨の詳細ポップアップ

  5. [適用] ボタンをクリックして、変更を適用します。

gcloud

マシンタイプの変更をご覧ください。

API

マシンタイプの変更をご覧ください。

推奨事項の破棄と復元

推奨に関する操作が終了したら、Console で推奨を閉じることができます。Console で推奨を閉じると、合計の推定節減額からその推奨が除外され、推奨を示すテキストがグレーに変わって推奨の表示が最小化されます。

Console での推奨の実行は、Recommender API が返す推奨のリストや状態には影響しません。Recommender API が返す推奨の状態を管理するには、API の使用をご覧ください。

Console から単一の推奨を閉じるには:

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

    インスタンスに推奨が存在する場合、[推奨事項] 列に表示されます。

  2. インスタンスに表示しない推奨テキストをクリックします。

    [推奨事項] 列

  3. ポップアップ ウィンドウが開き、詳細情報と [推奨を閉じる] ボタンが表示されます。

    推奨事項の詳細が表示されたポップアップ ウィンドウ。

  4. [推奨を閉じる] をクリックします。

Console ですべての推奨を閉じるには:

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. [すべて閉じる] ボタンをクリックします。

すべての推奨を閉じます。

推奨を元に戻すには:

  1. Google Cloud Console の [VM インスタンス] ページで、元に戻すグレー表示された推奨テキストをクリックします。

    推奨事項の詳細が表示されたポップアップ ウィンドウ

  2. ポップアップ ウィンドウが開き、詳細情報と [推奨を再表示] ボタンが表示されます。

    推奨を閉じる

  3. [推奨を再表示] をクリックします。

Monitoring エージェントを使用した、より正確な推奨の提示

Cloud Monitoring には、追加ディスク、CPU、ネットワーク、VM インスタンスからのプロセス指標を収集する Monitoring エージェントが用意されています。このデータを収集するには、VM インスタンスにモニタリング エージェントをインストールして、システム リソースやアプリサービスにアクセスできるようにします。

モニタリング エージェントが VM インスタンスにインストールされ、実行されている場合、エージェントによって収集された CPU とメモリの指標が自動的に使用され、マシンタイプ調整に関する推奨値が計算されます。Monitoring エージェントによって提供されるエージェント指標を使用すれば、デフォルトの Compute Engine 指標を使用した場合よりもインスタンスのリソース使用率をより詳細に把握できます。これにより、レコメンデーション エンジンはより適切にリソース要件を見積もり、より正確な推奨を提供できるようになります。

エージェントをインストールするには、モニタリング エージェントのインストールをご覧ください。

次のステップ