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