コンテンツに移動
コンピューティング

自分のペースでスケールインを実行できるCompute Engine オートスケーラー制御

2020年10月30日
Google Cloud Japan Team

※この投稿は米国時間 2020 年 10 月 22 日に、Google Cloud blog に投稿されたものの抄訳です。


Compute Engine 環境では、マネージド インスタンス グループ(MIG) が提供する自動スケーリングにより、現在の負荷に基づいてインスタンス グループの容量を自動的に変更できるため、環境とコストを適切なレベルに設定できます。自動スケーリングでは、負荷が高くなると MIG に仮想マシン(VM)が追加され(スケールアウト)、VM の必要性が低下すると VM が削除されます(スケールイン)。

負荷が低下すると、オートスケーラーは使用されていない容量をすべて削除します。これによりコストは低減できますが、オートスケーラーが急激にスケールインを実行する可能性があります。たとえば、負荷が 50% 低下すると、オートスケーラーは 10 分間の安定化期間の直後に VM の約 50% を削除します。このように VM を急激に削除すると、一部のワークロードでは不具合が生じることがあります。たとえば、VM の初期化に何分間もかかる場合は、スケールインの速度を遅くし、緊急の負荷スパイクに備えて容量を維持しておくことも考えられます。

スケールインの制御の導入

Compute Engine の新しい.スケールインの制御は、ワークロードで許容できる VM インスタンスの損失の限度を超えてオートスケーラーが MIG のサイズを削減してしまわないよう、VM の削除率を制限します。

オートスケーラーのスケールインの制御を構成する際、スケールインする速度を制御します。この図に示すように、オートスケーラーは構成された速度よりも速くスケールインすることはありません。

https://storage.googleapis.com/gweb-cloudblog-publish/images/scale-in_controls.max-1700x1700.jpg

  1. 負荷が低下すると、オートスケーラーは、直近 10 分間(安定化期間)に観測されたピーク負荷を処理するために必要なレベルまでグループのサイズを調整します。これは、スケールインの制御の有無にかかわらず同じように動作します。
  2. スケールインの制御のないオートスケーラーは、直近で観測された負荷を処理するために必要なインスタンスのみを保持します。安定化期間後、オートスケーラーは不要なインスタンスをすべて一度に削除します。負荷の急激な低下により、インスタンス グループのサイズが大幅に縮小することがあります。
  3. スケールインの制御のあるオートスケーラーは、一定の期間に削除できる VM インスタンスの数を制限します(この場合は 20 分間で 10 の VM)。これにより、インスタンスの削除速度が低下します。
  4. 負荷スパイクが再度発生すると、オートスケーラーは新しいインスタンスを追加します。ただし、初期化には時間がかかるため、新しい VM は負荷の処理に対応できません。スケールインの制御では、それまでの容量が維持されるため、既存の VM でこのスパイクに対応できます。

開始方法

Google Cloud Console でスケールインの制御を設定することができます。[インスタンス グループ] ページから自動スケーリング MIG 選択して、[グループを編集] をクリックします。[自動スケーリング] セクションで、スケールインの制御を設定します。

https://storage.googleapis.com/gweb-cloudblog-publish/images/gcp_console_scale-in_controls.max-900x900.jpg

プログラムを使用してスケールインの制御を構成することもできます。同じコマンドを CLI(gcloud)で記述すると以下のようになります。

読み込んでいます...

API を使用した構成を含む詳細については、ドキュメントをご覧ください。

スケールインの制御を今すぐ試す

スケールインの制御はすべてのリージョンで一般提供されています。スケールイン速度を制御する方法の詳細については、ドキュメントをご覧ください

-プロダクト マネージャー Pawel Wenda

投稿先