Cloud SQL インスタンスのストレージ容量がアプリケーションのニーズよりも大きい場合は、ストレージ容量を手動で縮小できます。
ストレージの縮小オペレーションは、プライマリ インスタンスとリードレプリカ インスタンスでサポートされており、すべての Cloud SQL エディションで使用できます。
ストレージ容量の要件
ターゲット ストレージ サイズは、インスタンスに対して安全であると判断された最小許容ストレージ容量よりも大きくする必要があります。
一貫したパフォーマンスを維持するため、再インデックスなどの特定のオペレーション用にストレージ容量のバッファを予約することをおすすめします。約 100 GB または現在の使用量の 20% 以上のいずれか大きい方を予約することをおすすめします。
詳しくは、責任の共有をご覧ください。
パフォーマンス
ストレージの縮小オペレーションは、インスタンスのパフォーマンスに影響する可能性があります。Cloud SQL は永続ストレージ ディスクを持つ Compute Engine 仮想マシン(VM)を使用します。Hyperdisk Balanced が提供するストレージは、線形にスケーリングされ、予測可能なパフォーマンスを提供します。
詳細については、割り当てと固定上限をご覧ください。
ダウンタイム
ストレージの縮小オペレーションでは、インスタンスのダウンタイムが必要です。オペレーションが完了すると、インスタンスが再起動します。
基盤となるディスクサイズによっては、ストレージの縮小オペレーションでかなりのダウンタイムが発生する可能性があります。インスタンスでダウンタイムを制限する必要がある場合は、ストレージの縮小機能を使用するのではなく、Database Migration Service を使用してデータを新しい小さなインスタンスに移行することをおすすめします。
インスタンスのストレージを縮小する際に発生するダウンタイムは、リードレプリカを復元する際に発生するダウンタイムと同等です。
運用
ストレージの縮小オペレーションが完了するまで、他のすべてのオペレーションは使用できません。
ストレージの縮小オペレーションを実行する前に、他のオペレーションが完了するまで待つことをおすすめします。これには、データのバックアップやインポートなどのオペレーションが含まれます。
リードレプリカに縮小オペレーションを適用する前に、プライマリ インスタンスでストレージ縮小オペレーションを完了する必要があります。
リードレプリカのストレージ容量は、関連付けられたプライマリ インスタンスのストレージ容量よりも小さくすることはできません。レプリカのストレージ容量を縮小する場合は、まず、関連付けられているプライマリ インスタンスでストレージの縮小オペレーションを完了する必要があります。
キャンセル オペレーションは、プライマリ インスタンスまたはスタンドアロン インスタンスでのみサポートされます。
共有コア インスタンスでは、ストレージの縮小オペレーションはサポートされていません。ただし、アプリケーションの設定を非共有コア インスタンスに変更してから、ストレージの縮小オペレーションを実行できます。
レプリカ
プライマリ インスタンスのストレージ サイズを縮小しても、レプリカのディスクは大きいままです。レプリカのストレージ サイズを縮小する場合は、手動で行う必要があります。
ストレージの縮小オペレーションがプライマリ インスタンスに適用されると、その後作成されるリードレプリカには、更新されたプライマリ インスタンスと同じストレージ構成が適用されます。
プライマリ インスタンスとその関連するリードレプリカが異なるデータベース バージョンを使用し、ストレージの縮小オペレーションがレプリカに適用されている場合、再作成されたレプリカはプライマリ データベース バージョンに更新され、レプリカの再起動が正常に完了します。
ストレージ縮小オペレーションは、読み取りプールを使用するプライマリ インスタンスで使用できますが、読み取りプールにストレージ縮小オペレーションを適用することはできません。
リードレプリカの最小ストレージ容量は確認できません。この機能は、プライマリ インスタンスでのみサポートされています。ただし、リードレプリカのストレージ容量を縮小して、関連付けられたプライマリ インスタンスのストレージ容量に合わせることができます。
リードレプリカのストレージ容量は、関連付けられたプライマリ インスタンスのストレージ容量よりも小さくすることはできません。
制限事項
次の機能制限が適用されます。
- 外部サーバーからのレプリケーションではサポートされていません。
- PostgreSQL インスタンスの場合、
max_wal_sizeデータベース フラグは 5, 128 MB 未満にする必要があります。
- ストレージの縮小オペレーションは、カスケード レプリカには適用できません。
- Terraform ではサポートされていません。