VM インスタンスの推奨サイズ提案の適用

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

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

始める前に

料金

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

制限とユースケース

現在のところ、App Engine フレキシブル環境、Dataflow、Google Kubernetes Engine を使用して作成された VM インスタンス、またはエフェメラル ディスク、GPU、TPU を使用する VM インスタンスでは推奨サイズ提案機能を利用できません。

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

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

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

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

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

推奨サイズ提案の仕組み

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 Console で確認できます。推奨事項は、gcloud ツールまたは API を使用して Recommender から入手することもできます。

Console

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

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

  2. プロジェクトを選択し、[続行] をクリックします。
  3. インスタンスの一覧から、右上の [] プルダウン リストをクリックして、1 つ以上の列を切り替えます。
  4. [推奨] など、目的の列を有効または無効にします。
  5. [推奨] 列を調べて、個々のインスタンスに対する推奨を確認します。推定節減額で列を並べ替えることもできます。インスタンスの横に推奨が示されていない場合、Compute Engine はそのインスタンスに対して推奨を行っていません。

    [推奨] 列

gcloud

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

例:

gcloud recommender recommendations list \
    --project my-project \
    --location us-central1-a \
    --recommender=google.compute.instance.MachineTypeRecommender \
    --format=yaml


---
content:
  ...
    operationGroups:
    - operations:
      - action: test
        path: /machineType
        resource: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/so-inst-2
        resourceType: compute.googleapis.com/Instance
        valueMatcher:
          matchesPattern: .*zones/us-central1-a/machineTypes/n1-standard-4
      - action: replace
        path: /machineType
        resource: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/so-inst-2
        resourceType: compute.googleapis.com/Instance
        value: zones/us-central1-a/machineTypes/custom-2-5120

description: Save cost by changing machine type from n1-standard-4 to custom-2-5120.
...
name: projects/548293842938/locations/us-central1-a/recommenders/google.compute.instance.MachineTypeRecommender/recommendations/5c3b62bd-87c3-4d13-9c31-f80c7cbe412f
...

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

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

API

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

Google Cloud API を呼び出す際の認証の前提条件については、認証の概要をご覧ください。

次の bash スクリプトの例では、エンドユーザー認証フローで OAuth クライアント認証情報を使用しています。このスクリプトでは、Google oauth2lコマンドライン ツールを使用して、OAuth 2.0 アクセス トークンを取得し、そのトークンを使用する curl リクエストを作成します。

PROJECT_ID=my-project
LOCATION=us-central1-c
RECOMMENDER_ID=google.compute.instanceGroupManager.MachineTypeRecommender
OAUTH_JSON=~/client_secrets.json  # credentials for service account
OAUTH_HEADER="$(oauth2l header --json $OAUTH_JSON cloud-platform)"

curl -H "$OAUTH_HEADER" 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 による推奨を適用するには、推奨画面でインスタンスのサイズを直接変更するか、推奨サイズ提案の表示で返される操作を手動でステップ実行します。

Console

  1. Google Cloud Console での VM インスタンスページで、サイズを変更するインスタンスの推奨テキストをクリックします。

    推奨リンク

  2. 詳細な説明を示すポップアップが表示されます。この画面に、推奨サイズをインスタンスに適用するための [適用] ボタンがあります。このボタンをクリックすると、インスタンスが停止してマシンタイプが変更され、インスタンスが再起動されます。

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

    推奨の詳細ポップアップ

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

gcloud

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

API

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

推奨事項の破棄と復元

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

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

コンソールから 1 件の推奨の表示を閉じるには、次を行います。

  1. [VM インスタンス] ページで、閉じる推奨のテキストをクリックします。

  2. 詳細な説明を示すポップアップが表示されます。この画面に [推奨を閉じる] ボタンがあります。

    推奨を閉じる

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

すべての推奨を閉じるには、[VM インスタンス] ページで [すべて閉じる] ボタンをクリックします。

推奨を閉じる

推奨を元に戻すには:

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

    閉じた推奨

  2. 詳細な説明を示すポップアップが表示されます。この画面に [推奨を再表示] ボタンがあります。

    推奨を閉じる

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

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

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

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

エージェントをインストールするには、Monitoring エージェントのインストールをご覧ください。

次のステップ