このページでは、Spanner での自動スケーリングの仕組みと、Spanner で使用できる 2 種類の自動スケーリングについて説明します。
Spanner のスケーリング
Spanner インスタンスを作成する際は、データを処理するコンピューティング容量ノードまたは処理ユニットの数を選択します。ただし、ワークロードが増加または減少する場合があります。インスタンスのスケーリングとは、インスタンスのワークロードまたはデータ ストレージのニーズの変化に応じて、コンピューティング容量を追加または削除するプロセスを指します。
インスタンスの CPU 使用率などの指標に基づいて Spanner インスタンスをスケーリングすると便利な場合があります。たとえば、インスタンスの負荷が高く、CPU 使用率が高い場合は、コンピューティング容量を一時的に追加し、CPU 使用率が低下したら削除できます。使用率が低いときにインスタンスからコンピューティング容量を削除すると、費用を削減できます。
コンピューティング容量を追加しても、Spanner のパフォーマンスに関するすべての問題を解決できるわけではありません。たとえば、インスタンスのスケールアップでは、インスタンスのサイズに関係のない問題(ロック競合やホットスポット化など)は解決できません。
ワークロードの変化に対応して Spanner インスタンスをスケーリングするには、次の 2 つの方法があります。
- コンピューティング容量を追加または削除するようにインスタンスを手動で構成します。
- ワークロード レベルに合わせてコンピューティング容量が自動的にスケールアップまたはスケールダウンされるように、インスタンスで自動スケーリングを構成します。
自動スケーリングには、次のオプションがあります。
- Spanner マネージド自動スケーリング(プレビュー)を構成します。
- オープンソースの Spanner 用オートスケーラー ツールを設定します。
このページの要件は、マネージド自動スケーリング機能とオープンソースのオートスケーラー ツールの両方に適用されます。
自動スケーリングを使用する場合
自動スケーリングには次の利点があります。
- 費用: 自動スケーリングにより、インスタンスのコンピューティング容量が削減されます。これは、オーバープロビジョニングの回避に役立ちます。
- パフォーマンス: 自動スケーリングを使用すると、ワークロードが変更されたり、データ ストレージの要件が増加したりしたときに、Spanner がインスタンスにコンピューティング容量を自動的に追加します。これにより、インスタンスで目標の CPU 使用率とストレージ要件を満たすために十分なコンピューティング容量が確保されるため、ワークロードのパフォーマンス目標を維持できます。
- 自動化 - 自動スケーリングにより複雑な管理作業が軽減されます。インスタンス サイズを手動でモニタリングしてスケーリングする必要はありません。マネージド自動スケーリングでは、Spanner サービスがこれらのタスクを処理するため、これらのタスクを行うアプリケーションを作成する必要はありません。
自動スケーリングは、次のような場合に適しています。
- 日中または周期的に発生するトラフィック パターンが安定している(オンライン バンキング システムなど)。
- 有機的成長が期待される新しいアプリケーション
- Spanner を初めて利用するワークロード。
Spanner はトラフィックの増加に応じてコンピューティング容量を迅速に追加しますが、追加容量のバランスが取れるまでには時間がかかる場合があります。
次のステップ
- Spanner のマネージド オートスケーラーの詳細を確認する
- Spanner 用オートスケーラー ツールの詳細を確認する