Menciutkan kapasitas penyimpanan instance

Halaman ini menunjukkan cara mengelola kapasitas penyimpanan instance Cloud SQL menggunakan kemampuan penyusutan penyimpanan.

Sebelum memulai

  1. Tinjau batasan fitur.

  2. Jika Anda menggunakan gcloud CLI, pastikan Anda menggunakan Google Cloud SDK dan gcloud CLI versi terbaru.

    • Instal gcloud CLI versi terbaru.
    • Untuk mendapatkan versi gcloud CLI saat ini, jalankan gcloud --version.
    • Untuk mengupdate versi gcloud CLI, jalankan gcloud components update.
  3. Dapatkan izin IAM berikut:

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

    Izin ini tersedia dalam salah satu peran berikut. Saat menetapkan peran Anda, sebaiknya terapkan prinsip hak istimewa terendah:

    • Admin Cloud SQL (roles/cloudsql.admin)
    • Cloud SQL Editor (roles/cloudsql.editor)

    Untuk informasi selengkapnya, lihat referensi berikut:

Siapkan instance

Selesaikan persyaratan berikut sebelum Anda memulai.

Langkah-langkah ini sama untuk instance utama dan replika baca.

Jika memperbarui replika baca, pastikan untuk memperkecil kapasitas instance utama terlebih dahulu, lalu perkecil ukuran replika.

  1. Dapatkan project ID project yang berisi instance yang ingin Anda kelola.

  2. Periksa status instance saat ini untuk memastikan instance berjalan. Salah satu cara untuk memeriksa adalah dengan menggunakan perintah describe:

      gcloud sql instances describe
    

    Menampilkan status berikut:

      RUNNABLE
    

    Jika tidak, mulai instance.

  3. Buat cadangan instance saat ini. Hal ini memungkinkan Anda memulihkan instance nanti jika Anda mengalami masalah selama konfigurasi.

  4. Jika Anda menjalankan instance PostgreSQL, tetapkan nilai flag max_wal_size ke kurang dari 5128 MB. Jika nilai max_wal_size terlalu besar, instance mungkin lambat dimulai dan operasi dapat gagal.

  5. Nonaktifkan semua ekstensi atau fitur yang mengaktifkan koneksi keluar (atau memerlukan transfer data keluar). Misalnya, koneksi keluar dapat dibuat menggunakan salah satu ekstensi atau fitur ini, dan harus dinonaktifkan sebelum melakukan operasi pengecilan penyimpanan:

    • dblink ekstensi
    • PL/proxy ekstensi
    • pglogical ekstensi
    • Pembungkus data asing (seperti postgres_fdw, oracle_fdw, dan tds_fdw)
    • Replikasi logis di PostgreSQL 10 dan yang lebih baru

Mengecilkan kapasitas penyimpanan instance

Langkah-langkah berikut sama untuk instance utama dan replika baca.

  1. Periksa kapasitas penyimpanan minimum target instance dan perkiraan waktu operasi. Informasi ini dapat membantu Anda merencanakan operasi pengecilan penyimpanan.

    gcloud

    Jalankan perintah gcloud sql instances get-storage-shrink-config:

    gcloud sql instances get-storage-shrink-config INSTANCE_NAME
    

    Ganti kode berikut:

    • INSTANCE_NAME: nama instance utama.

    Respons mencakup nilai untuk minimalTargetSizeGb. Anda dapat menggunakan nilai ini untuk menentukan nilai yang ingin digunakan untuk parameter --storage-size saat menjalankan operasi pengecilan penyimpanan.

    Respons juga menampilkan pesan dengan perkiraan waktu operasi, seperti berikut:

    ...
    "The estimated operation time is 20 minutes".
    

    REST v1

    Gunakan metode GET untuk melihat kapasitas penyimpanan minimum target instance.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: nama project tempat instance utama berada.
    • INSTANCE_ID: ID instance dari instance utama.

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/getDiskShrinkConfig

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Respons mencakup nilai untuk min_target_size_gb. Anda dapat menggunakan nilai ini untuk menentukan nilai yang ingin digunakan untuk parameter --storage-size saat menjalankan operasi pengecilan penyimpanan.

    Respons juga menampilkan pesan dengan perkiraan waktu operasi, seperti berikut:

    ...
    "The estimated operation time is 20 minutes".
    

    REST v1beta4

    Gunakan metode GET untuk melihat kapasitas penyimpanan minimum target instance.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: nama project tempat instance utama berada.
    • INSTANCE_ID: ID instance dari instance utama.

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/getDiskShrinkConfig

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    Respons mencakup nilai untuk min_target_size_gb. Anda dapat menggunakan nilai ini untuk menentukan nilai yang ingin digunakan untuk parameter --storage-size saat menjalankan operasi pengecilan penyimpanan.

    Respons juga menampilkan pesan dengan perkiraan waktu operasi, seperti berikut:

    ...
    "The estimated operation time is 20 minutes".
    
  2. Mengecilkan kapasitas penyimpanan instance.

    gcloud

    Jalankan perintah berikut untuk mengecilkan penyimpanan di instance:

    gcloud sql instances perform-storage-shrink INSTANCE_NAME \
      --storage-size=TARGET_STORAGE_SIZE --async
    

    Ganti kode berikut:

    • INSTANCE_NAME: nama instance.
    • TARGET_STORAGE_SIZE: target kapasitas penyimpanan dalam GB. Misalnya, 100 GB.

    Sebaiknya gunakan tanda --async untuk menunggu operasi secara asinkron.

    REST v1

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project tempat instance berada.
    • INSTANCE_ID: ID instance.
    • TARGET_STORAGE_SIZE: ukuran penyimpanan target dalam GB.

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/performDiskShrink

    Meminta isi JSON:

    {
      "targetSizeGb": TARGET_STORAGE_SIZE
    }
    

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

    REST v1beta4

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project tempat instance berada.
    • INSTANCE_ID: ID instance.
    • TARGET_STORAGE_SIZE: ukuran penyimpanan target instance.

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/performDiskShrink

    Meminta isi JSON:

    {
      "targetSizeGb": TARGET_STORAGE_SIZE
    }
    

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

  3. Untuk memeriksa status operasi penyusutan penyimpanan, lihat Memeriksa status operasi.

Membatalkan operasi pengecilan penyimpanan

  1. Dapatkan ID operasi pengecilan penyimpanan.

    Anda dapat mengambil ID operasi dengan menjalankan perintah list berikut:

    gcloud sql operations list
    
  2. Kirim permintaan pembatalan.

    gcloud

    Jalankan perintah berikut untuk membatalkan permintaan:

    gcloud sql operations cancel OPERATION_ID
    

    Ganti kode berikut:

    OPERATION_ID: ID operasi pengecilan penyimpanan yang ingin Anda batalkan.

    REST v1

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project tempat instance berada.
    • OPERATION_ID: ID operasi pengecilan penyimpanan yang ingin Anda batalkan.

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID/cancel

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan menerima kode status berhasil (2xx) dan respons kosong.

    REST v1beta4

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • PROJECT_ID: ID project tempat instance berada.
    • OPERATION_ID: ID operasi pengecilan penyimpanan yang ingin Anda batalkan.

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID/cancel

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan menerima kode status berhasil (2xx) dan respons kosong.

Memeriksa status permintaan pembatalan atau operasi lainnya

Untuk memeriksa status permintaan, jalankan perintah berikut:

gcloud

  1. Dapatkan ID operasi untuk permintaan pembatalan:

    gcloud sql operations list
    
  2. Periksa status operasi:

    gcloud sql operations describe OPERATION_ID
    

    Ganti kode berikut:

    OPERATION_ID: ID operasi yang ingin Anda periksa.

REST v1

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: nama project tempat instance berada.
  • OPERATION_ID: ID operasi pengecilan penyimpanan.

Metode HTTP dan URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

REST v1beta4

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: nama project tempat instance berada.
  • OPERATION_ID: ID operasi pengecilan penyimpanan.

Metode HTTP dan URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Pemecahan masalah

Untuk mengetahui informasi terkait pemecahan masalah, lihat Masalah saat memperbarui kapasitas penyimpanan.

Langkah berikutnya