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