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 (gcloud CLI versi 563.0.0 atau yang lebih baru).
    • 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 di salah satu peran berikut. Saat menetapkan peran, sebaiknya terapkan prinsip hak istimewa terendah:

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

    Untuk informasi selengkapnya, lihat referensi berikut:

Menyiapkan instance

Lengkapi persyaratan berikut sebelum Anda memulai.

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

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

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

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

      gcloud sql instances describe
    

    Menampilkan status berikut:

      RUNNABLE
    

    Jika tidak, mulai instance.

  3. Buat cadangan instance saat ini. Dengan begitu, Anda dapat memulihkan instance nanti jika 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 untuk dimulai dan operasi mungkin gagal.

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

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

Mengurangi 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 penyusutan 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.

    Responsnya mencakup nilai untuk minimalTargetSizeGb. Anda dapat menggunakan nilai ini untuk menentukan nilai yang ingin Anda gunakan untuk parameter --storage-size saat menjalankan operasi penyusutan penyimpanan.

    Respons juga menampilkan pesan dengan perkiraan waktu operasi, yang mirip dengan berikut ini:

    ...
    "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:

    Responsnya mencakup nilai untuk min_target_size_gb. Anda dapat menggunakan nilai ini untuk menentukan nilai yang ingin Anda gunakan untuk parameter --storage-size saat menjalankan operasi penyusutan penyimpanan.

    Respons juga menampilkan pesan dengan perkiraan waktu operasi, yang mirip dengan berikut ini:

    ...
    "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:

    Responsnya mencakup nilai untuk min_target_size_gb. Anda dapat menggunakan nilai ini untuk menentukan nilai yang ingin Anda gunakan untuk parameter --storage-size saat menjalankan operasi penyusutan penyimpanan.

    Respons juga menampilkan pesan dengan perkiraan waktu operasi, yang mirip dengan berikut ini:

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

    gcloud

    Jalankan perintah berikut untuk menyusutkan penyimpanan pada instance:

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

    Ganti kode berikut:

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

    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 penyusutan penyimpanan

  1. Dapatkan ID operasi penyusutan 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 penyusutan 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 penyusutan 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 penyusutan 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 penyusutan 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 penyusutan 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