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