インスタンスのストレージ容量を縮小する

このページでは、ストレージ縮小機能を使用して Cloud SQL インスタンスのストレージ容量を管理する方法について説明します。

始める前に

  1. 機能の制限事項を確認します。

  2. gcloud CLI を使用している場合は、Google Cloud SDK と gcloud CLI の最新バージョンを使用していることを確認してください。

    • gcloud CLI の最新バージョンをインストールします(gcloud CLI バージョン 563.0.0 以降)。
    • 現在の gcloud CLI のバージョンを取得するには、gcloud --version を実行します。
    • gcloud CLI のバージョンを更新するには、gcloud components update を実行します。
  3. 次の IAM 権限を取得します。

    • cloudsql.instances.getDiskShrinkConfig
    • cloudsql.instances.performDiskShrink

    これらの権限は、次のいずれかのロールで使用できます。ロールを割り当てる際は、最小権限の原則を適用することをおすすめします。

    • Cloud SQL 管理者(roles/cloudsql.admin
    • Cloud SQL 編集者(roles/cloudsql.editor

    詳しくは、次のリソースをご覧ください。

インスタンスを準備する

始める前に、次の要件を満たしてください。

これらの手順は、プライマリ インスタンスとリードレプリカで同じです。

リードレプリカを更新する場合は、まずプライマリ インスタンスの容量を縮小してから、レプリカのサイズを縮小してください。

  1. 管理するインスタンスを含むプロジェクトのプロジェクト ID を取得します。

  2. インスタンスの現在の状態を確認して、実行されていることを確認します。確認方法の 1 つは、describe コマンドを使用することです。

      gcloud sql instances describe
    

    次のステータスを返します。

      RUNNABLE
    

    実行されていない場合は、インスタンスを起動します。

  3. 現在のインスタンスのバックアップを作成します。これにより、構成中に問題が発生した場合に、後でインスタンスを復元できます。

  4. PostgreSQL インスタンスを実行している場合は、max_wal_size フラグの値を 5, 128 MB 未満に設定します。max_wal_size の値が大きすぎると、インスタンスの起動が遅くなり、オペレーションが失敗する可能性があります。

  5. アウトバウンド接続を有効にする(またはアウトバウンド データ転送を必要とする)拡張機能や機能をすべて無効にします。たとえば、これらの拡張機能または機能のいずれかを使用してアウトバウンド接続が確立されている場合、ストレージの縮小オペレーションを実行する前に、その接続を無効にする必要があります。

    • dblink 拡張機能
    • PL/proxy 拡張機能
    • pglogical 拡張機能
    • 外部データラッパー(postgres_fdworacle_fdwtds_fdw など)