負荷分散とスケーリング

Google Cloud Platform(GCP)では、インスタンスのグループを対象とした負荷分散と自動スケーリングを行うことができます。

負荷分散

GCP では、サーバー側で負荷分散が行われるため、受信したトラフィックを複数の仮想マシン(VM)インスタンスに分散できます。負荷分散には、次の利点があります。

  • アプリケーションのスケーリング
  • 重い負荷への対応
  • ヘルスチェックによる正常でない VM インスタンスの検出と自動的な除外(正常な状態に復帰したインスタンスは自動的に元どおりに追加されます)
  • 最も近い位置にある仮想マシンへのトラフィックの振り分け

GCP の負荷分散では、転送ルールリソースを使用して特定の種類のトラフィックを照合し、ロードバランサに転送します。たとえば、転送ルールによって IP アドレス 192.0.2.1 のポート 80 宛ての TCP トラフィックを照合し、それをロードバランサに転送してから、健全性の高い VM インスタンスに送信できます。

GCP 負荷分散はマネージド サービスです。このため、コンポーネントに冗長性があり、高い可用性を実現しています。負荷分散のコンポーネントに障害が発生すると、そのコンポーネントは直ちに自動的に再起動または交換されます。

GCP では、容量、用途、構成方法が異なる複数の負荷分散を行うことができます。詳細については、Google Cloud の負荷分散のドキュメントをご覧ください。

自動スケーリング

Compute Engine は自動スケーリング機能を備えています。この機能では、負荷の増減に基づき、インスタンスのグループに対して自動的に VM の追加と削除が行われます。自動スケーリングによってトラフィックの増加をアプリケーションで適切に処理できるようになり、リソースの必要性が低下した場合には費用を抑えることができます。自動スケーリングのポリシーを定義しておけば、オートスケーラーで測定した負荷に基づいて自動スケーリングが行われます。

ポリシー

オートスケーラーを作成するときは、少なくとも 1 つの自動スケーリング ポリシーを指定する必要があります。ポリシーは、CPU 使用率、負荷分散処理能力、Stackdriver Monitoring の指標に基づいて選択できます。複数のポリシーを使用する場合、オートスケーラーは、グループ内で最も多い数の VM インスタンスを提供するポリシーに基づいてインスタンス グループをスケールします。

以下のセクションでは、一般的な自動スケーリング ポリシーについて説明します。特定の自動スケーリング ポリシーを設定する方法の詳細については、それぞれのポリシーのドキュメントをご覧ください。

CPU 使用率

CPU 使用率は、実行可能な自動スケーリングの中で最も基本的なものです。このポリシーはオートスケーラーに対して、VM インスタンスのグループによる CPU 使用率の平均値をモニタリングし、グループに対してインスタンスの追加または削除を行うことで、目的の使用率を維持するよう指示します。これは CPU の使用率が高いものの、その値に変動が発生することがある構成に効果的です。

詳細については、CPU の使用率に基づくスケーリングをご覧ください。

負荷分散の処理能力

負荷分散の処理容量に基づいてスケーリングを行うようオートスケーラーを設定すると、オートスケーラーによってインスタンス グループの処理容量がモニタリングされ、VM の処理容量の過不足に応じてスケーリングが行われます。

インスタンスの処理容量は、使用率または 1 秒あたりのリクエスト数に基づいて、ロードバランサのバックエンド サービスで定義できます。

詳しくは、HTTP(S) 負荷分散処理能力に基づくスケーリングをご覧ください。

モニタリング指標

Stackdriver Monitoring の指標をエクスポートまたは使用する場合は、特定の指標のデータを収集して目的の使用率水準に基づくスケーリングを行うように自動スケーリングを設定できます。モニタリングに用意されている標準の指標に基づいてスケーリングできるほか、独自に作成したカスタム指標によるスケーリングが可能です。

詳しくは、モニタリングの指標に基づくスケーリングをご覧ください。

次のステップ

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

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

Compute Engine ドキュメント