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 では対象外です。