自動スケーリングの概要

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

Spanner のスケーリング

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

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

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

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

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

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

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

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

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

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

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

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

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

次のステップ