自動スケーリングの概要

このページでは、Spanner での自動スケーリングの仕組みと、Spanner で使用できる 2 種類の自動スケーリングについて説明します。

Spanner のスケーリング

Spanner インスタンスを作成する際は、データの処理に使用するコンピューティング容量ノードまたは処理ユニットの数を選択します。ただし、ワークロードが増減することがあります。インスタンスのスケーリングは、インスタンスのワークロードまたはデータ ストレージのニーズの変化に応じて、コンピューティング容量を追加または削除するプロセスです。

インスタンスの CPU 使用率などの指標に基づいて Spanner インスタンスをスケーリングすることが有効な場合があります。たとえば、インスタンスの負荷が高く、CPU 使用率が高い場合は、コンピューティング容量を一時的に追加し、CPU 使用率が低下したときに減らすことができます。使用率が低い場合にインスタンスからコンピューティング容量を減らすと、費用を削減できます。

コンピューティング容量を追加することで、Spanner のパフォーマンスに関する問題をすべて解決できるわけではありません。たとえば、インスタンスのスケールアップでは、インスタンスのサイズに関係のない問題(ロック競合やホットスポットなど)は解決できません。

ワークロードの変化に対応するように Spanner インスタンスをスケーリングするには、次の 2 つの方法があります。

  • コンピューティング容量を追加または削減するようにインスタンスを手動で構成する。
  • ワークロード レベルに合わせてコンピューティング容量が自動的にスケールアップまたはスケールダウンされるように、インスタンスで自動スケーリングを構成する。

自動スケーリングには次のオプションがあります。

このページの要件は、マネージド自動スケーリング機能とオープンソースのオートスケーラー ツールの両方に適用されます。

自動スケーリングを使用する場合

自動スケーリングには次の利点があります。

  • 費用: 自動スケーリングにより、インスタンスのコンピューティング容量が削減されます。これは、オーバープロビジョニングの回避にも役立ちます。
  • パフォーマンス: 自動スケーリングを使用すると、ワークロードが変更された場合、またはデータ ストレージの要件が増加した場合に、Spanner がインスタンスにコンピューティング容量を自動的に追加します。これにより、インスタンスで目標の CPU 使用率とストレージ要件を満たすために十分なコンピューティング容量が確保されるため、ワークロードのパフォーマンス目標を維持できます。
  • 自動化: 自動スケーリングにより複雑な管理作業が軽減されます。インスタンス サイズを手動でモニタリングしてスケーリングする必要はありません。マネージド自動スケーリングでは、Spanner サービスがこれらのタスクを処理するため、これらのタスクを行うアプリケーションを作成する必要はありません。

自動スケーリングは、次のような場合に適しています。

  • 日中または周期的に発生するトラフィック パターン(例: オンライン バンキング システムによって生成されるトラフィック パターン)。
  • 有機的成長が期待される新しいアプリケーション。
  • Spanner を初めて利用するワークロード。

Spanner はトラフィックの増加に応じてコンピューティング容量を迅速に追加しますが、追加容量のバランスが取れるまでに時間がかかる場合があります。

次のステップ