インスタンスのグループの自動スケーリング

マネージド インスタンス グループでは、負荷の増減に基づいて、マネージド インスタンス グループからインスタンスを自動的に追加または削除できる自動スケーリング機能が提供されます。自動スケーリングによって、トラフィックの増加をアプリケーションが適切に処理できるようになり、リソースの必要性が低下した場合の費用を軽減できます。自動スケーリングのポリシーを定義するだけで、測定された負荷に基づいてオートスケーラーが自動的にスケールします。

自動スケーリングでは、インスタンス グループがスケールアップまたはスケールダウンされます。つまり、負荷が多くなる場合はインスタンス グループにインスタンスが追加され(アップスケーリング)、インスタンスの必要性が低下するとインスタンスが削除されます(ダウンスケーリング)。

基礎知識

自動スケーリングでは、以下の基本的な概念とサービスが使用されます。

マネージド インスタンス グループ

自動スケーリングはマネージド インスタンス グループの機能です。マネージド インスタンス グループは、共通のインスタンス テンプレートから作成された同種のインスタンスのプールです。オートスケーラーは、マネージド インスタンス グループからインスタンスを追加または削除します。Compute Engine にはマネージド インスタンス グループと非マネージド インスタンス グループがありますが、オートスケーラーで使用できるのはマネージド インスタンス グループだけです。

マネージド インスタンス グループと非マネージド インスタンス グループの違いについては、インスタンス グループのドキュメントをご覧ください。

自動的スケーリングのポリシーと目標使用率

オートスケーラーを作成するには、オートスケーラーがグループをスケーリングする時期を判断するために使用する、自動スケーリングのポリシーと目標使用率レベルを指定する必要があります。次のポリシーを使用したスケーリングを選択できます。

  • 平均 CPU 使用率
  • Stackdriver Monitoring の指標
  • 使用率または 1 秒あたりのリクエスト数のいずれかに基づいた HTTP 負荷分散処理機能。
  • Google Cloud Pub/Sub キューイング ワークロード(アルファ版)

オートスケーラーはポリシーに基づいて情報を収集し、それを目標使用率と比較して、スケーリングする必要があるかどうかを判断します。

目標使用率のレベルは、仮想マシンのインスタンスで維持するレベルです。たとえば、CPU 使用率に基づいてスケーリングする場合、目標使用率レベルを 75% に設定すると、オートスケーラーは、指定されたインスタンス グループの CPU 使用率を 75% 前後で維持します。各指標の使用率レベルは、自動スケーリングのポリシーに基づいて、異なった方法で解釈されます。

各ポリシーの簡単なまとめについては、概要自動スケーリングのポリシーをご覧ください。各ポリシーの詳細については、以下をご覧ください。

仕様

  • オートスケーリングはマネージド インスタンス グループでしか機能しません。非マネージド インスタンス グループはサポートされません。
  • Google Kubernetes Engine が所有するマネージド インスタンス グループによる Google Compute Engine 自動スケーリングは使用しないでください。Google Kubernetes Engine グループには、代わりにクラスタの自動スケーリングを使用します。

    グループが Google Kubernetes Engine クラスタに含まれているかどうかが不明な場合、マネージド インスタンス グループ名の gke プレフィックスを確認してください。例: gke-test-1-3-default-pool-eadji9ah.

始める前に

  1. マネージド インスタンス グループについて

    オートスケーラーはマネージド インスタンス グループの機能であるため、自動スケーリングを使用する前に、マネージド インスタンス グループの動作について理解しておく必要があります。

  2. マネージド インスタンス グループの名前または URL の取得

    すべての自動スケーリング リクエストでは、管理対象インスタンス グループの名前または管理対象インスタンス グループの URL を指定する必要があります。gcloud では管理対象インスタンス グループの名前を使用できますが、API では完全修飾 URL を使用する必要があります。

    既存のマネージド インスタンス グループの URL を取得するには、instance-groups managed list --uri コマンドまたは instance-groups managed list [INSTANCE_GROUP] --uri コマンドを使用します。たとえば、次のコマンドでは us-central1-f ゾーン内のマネージド インスタンス グループの URL が指定されます。

    gcloud compute instance-groups managed list example-group --uri --zones us-central1-f
    

    gcloud ツールはマネージド インスタンス グループの URL を返します。

    https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/example-group
    

    既存のマネージド インスタンス グループがない場合は、マネージド インスタンス グループの作成方法を確認します。

次のステップ

準備ができたら、CPU または負荷分散処理機能、または Stackdriver Monitoring の指標に基づいてスケールするオートスケーラーを作成します。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Compute Engine ドキュメント