Mengelola periode pemeliharaan cluster AlloyDB untuk PostgreSQL

Dengan mengonfigurasi masa pemeliharaan dan periode penolakan, Anda dapat mengontrol kapan update otomatis terjadi pada cluster AlloyDB untuk PostgreSQL guna menghindari gangguan selama jam traffic puncak. Di seluruh cluster utama dan sekunder, Anda dapat menetapkan, melihat, atau menghapus masa pemeliharaan, memantau peristiwa pemeliharaan terjadwal mendatang, dan mengonfigurasi atau menghapus periode penolakan. Anda juga dapat memilih untuk menerima notifikasi email terkait peristiwa pemeliharaan terjadwal.

Untuk ringkasan tentang cara kerja pemeliharaan, lihat Ringkasan pemeliharaan. Anda juga dapat mempelajari cara mengelola update pemeliharaan AlloyDB menggunakan cluster staging.

Sebelum memulai

Untuk memastikan pemeliharaan dan update dapat membuat slot replikasi sementara untuk sinkronisasi status, pastikan jumlah total slot replikasi setidaknya satu lebih sedikit dari batas max_wal_senders. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi flag ini, lihat Mengonfigurasi instance sumber.

Menetapkan masa pemeliharaan pada cluster

Konsol

  1. Buka halaman Clusters.

    Buka Cluster

  2. Klik cluster di kolom Resource Name.

  3. Di halaman Overview, di Maintenance, klik Edit.

  4. Di Maintenance window, pilih hari dalam seminggu untuk masa pemeliharaan ini.

    Opsi defaultnya adalah Semua periode. Saat Anda membuat cluster, cluster akan ditetapkan ke masa pemeliharaan default ini.

  5. Pilih jam dalam sehari untuk masa pemeliharaan ini.

  6. Klik Update untuk menyimpan perubahan.

gcloud

Untuk menggunakan gcloud CLI, Anda dapat menginstal dan melakukan inisialisasi Google Cloud CLI, atau Anda dapat menggunakan Cloud Shell.

Untuk menetapkan masa pemeliharaan pada cluster, jalankan perintah gcloud alloydb clusters update dengan flag --maintenance-window-day dan --maintenance-window-hour:

gcloud alloydb clusters update CLUSTER_ID \
  --region LOCATION_ID \
  --maintenance-window-day DAY_OF_WEEK \
  --maintenance-window-hour HOUR_OF_DAY

Ganti kode berikut:

  • CLUSTER_ID: cluster untuk menetapkan masa pemeliharaan.

  • LOCATION_ID: region Google Cloud tempat cluster ini berada—misalnya, us-central1.

  • DAY_OF_WEEK: hari dalam seminggu, dalam zona waktu Coordinated Universal Time (UTC), untuk masa pemeliharaan ini. Nilai yang valid adalah MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, dan SUNDAY.

    Nilai defaultnya adalah Semua periode. Saat Anda membuat cluster, cluster akan ditetapkan ke masa pemeliharaan default ini.

  • HOUR_OF_DAY: bilangan bulat antara 0 dan 23 yang mewakili jam dalam sehari, dalam zona waktu UTC, untuk masa pemeliharaan ini.

Jika Anda membuat perubahan pada setelan masa pemeliharaan saat cluster sedang menjalani pemeliharaan atau dijadwalkan untuk pemeliharaan, perubahan tersebut tidak akan diterapkan hingga pemeliharaan saat ini atau yang dijadwalkan selesai.

Menghapus masa pemeliharaan

Konsol

  1. Buka halaman Clusters.

    Buka Cluster

  2. Klik cluster di kolom Resource Name.

  3. Di halaman Overview, di Maintenance, klik Edit.

  4. Di Maintenance window, pilih Any window.

  5. Klik Update untuk menyimpan perubahan.

gcloud

Untuk menggunakan gcloud CLI, Anda dapat menginstal dan melakukan inisialisasi Google Cloud CLI, atau Anda dapat menggunakan Cloud Shell.

Untuk menghapus masa pemeliharaan dari cluster, jalankan perintah gcloud alloydb clusters update dengan flag --maintenance-window-any:

gcloud alloydb clusters update CLUSTER_ID \
  --region LOCATION_ID \
  --maintenance-window-any

Ganti kode berikut:

  • CLUSTER_ID: cluster untuk menetapkan masa pemeliharaan.

  • LOCATION_ID: region Google Cloud tempat cluster ini berada—misalnya, us-central1.

Melihat masa pemeliharaan cluster

Konsol

  1. Buka halaman Clusters.

    Buka Cluster

  2. Klik cluster di kolom Resource Name.

  3. Di halaman Overview, di bagian Maintenance, lihat detail masa pemeliharaan untuk cluster Anda.

gcloud

Untuk menggunakan gcloud CLI, Anda dapat menginstal dan melakukan inisialisasi Google Cloud CLI, atau Anda dapat menggunakan Cloud Shell.

Untuk meninjau masa pemeliharaan saat ini di cluster, jalankan perintah gcloud alloydb clusters describe:

gcloud alloydb clusters describe CLUSTER_ID \
  --region LOCATION_ID

Ganti kode berikut:

  • CLUSTER_ID: cluster untuk menetapkan masa pemeliharaan.

  • LOCATION_ID: region Google Cloud tempat cluster ini berada—misalnya, us-central1.

Jika cluster memiliki masa pemeliharaan yang ditetapkan, output perintah akan menyertakan baris yang mirip dengan berikut ini:

maintenanceUpdatePolicy:
  maintenanceWindows:
  - day: TUESDAY
    startTime:
      hours: 23

Jika output tidak menyertakan bagian maintenanceUpdatePolicy, berarti cluster tidak memiliki masa pemeliharaan yang ditetapkan.

Melihat pemeliharaan mendatang di cluster

Konsol

  1. Buka halaman Clusters.

    Buka Cluster

  2. Temukan cluster Anda, dan lihat kolom Maintenance untuk mengetahui informasi tentang masa pemeliharaan mendatang.

gcloud

Untuk menggunakan gcloud CLI, Anda dapat menginstal dan melakukan inisialisasi Google Cloud CLI, atau Anda dapat menggunakan Cloud Shell.

Untuk melihat pemeliharaan mendatang yang direncanakan untuk cluster yang memiliki masa pemeliharaan yang ditetapkan, jalankan perintah gcloud alloydb clusters describe:

gcloud alloydb clusters describe CLUSTER_ID \
  --region LOCATION_ID

Ganti kode berikut:

  • CLUSTER_ID: cluster untuk menetapkan masa pemeliharaan.

  • LOCATION_ID: region Google Cloud tempat cluster ini berada—misalnya, us-central1.

Jika cluster memiliki peristiwa pemeliharaan terencana di masa mendatang, output perintah akan menyertakan baris yang menyerupai berikut ini:

maintenanceSchedule:
  startTime: 2024-07-03T09:46:40Z

Stempel waktu berformat UTC menentukan momen saat AlloyDB berencana untuk mulai mengupdate software sistem semua node dalam cluster ini.

Mengaktifkan notifikasi pemeliharaan

Notifikasi pemeliharaan dinonaktifkan secara default. Saat Anda memilih untuk menerima notifikasi email tentang acara pemeliharaan AlloyDB mendatang, perhatikan hal-hal berikut:

  • Anda akan menerima notifikasi otomatis tentang acara segera setelah acara dijadwalkan. Peristiwa pemeliharaan dijadwalkan setidaknya satu minggu sebelumnya.
  • Notifikasi pemeliharaan diaktifkan di level project Google Cloud . Anda tidak dapat memilih untuk diberi tahu tentang subset cluster dalam sebuah project.
  • Anda hanya dapat mengaktifkan notifikasi untuk diri Anda sendiri. Setiap pengguna harus mengaktifkan secara terpisah untuk menerima notifikasi pemeliharaan.

Untuk mengetahui informasi selengkapnya, lihat Ringkasan pemeliharaan.

Untuk menerima notifikasi email otomatis setiap kali peristiwa pemeliharaan dijadwalkan atau dibatalkan untuk cluster yang telah menetapkan masa pemeliharaan, ikuti langkah-langkah berikut menggunakan konsol Google Cloud :

  1. Buka halaman Clusters.

    Buka Cluster

  2. Klik cluster di kolom Resource Name.

  3. Di halaman Overview, di Maintenance, klik Edit di baris Notifications:.

  4. Klik Komunikasi.

  5. Di baris untuk AlloyDB, Masa pemeliharaan, pilih tombol di kolom Email.

Mengonfigurasi periode penolakan pemeliharaan

Untuk mencegah operasi pemeliharaan selama jangka waktu tertentu, Anda dapat mengonfigurasi periode penolakan pemeliharaan. Anda dapat menetapkan penolakan pemeliharaan pada cluster yang menjalankan versi terbaru AlloyDB. Periode tolak pemeliharaan dapat berlangsung dari satu hingga 30 hari.

Cluster dengan instance pada versi sebelumnya tidak selalu mendukung penetapan periode penolakan. Jika perlu menetapkan periode penolakan pada cluster yang belum cukup terupdate, Anda dapat melakukan pemeliharaan mandiri untuk mengupdate cluster.

Periode penolakan yang ada tidak memblokir pemeliharaan mandiri.

Menetapkan periode penolakan pemeliharaan

Untuk mengonfigurasi periode penolakan pemeliharaan, tetapkan tanggal mulai, tanggal akhir, dan waktu saat interval dimulai dan berakhir.

Tanggal mulai dan akhir harus dalam format berikut:

  • YYYY-MM-DD: menunjukkan tanggal tertentu

Tanggal mulai, tanggal akhir, dan waktu menggunakan zona waktu UTC.

gcloud

Untuk menggunakan gcloud CLI, Anda dapat menginstal dan melakukan inisialisasi Google Cloud CLI, atau Anda dapat menggunakan Cloud Shell.

Untuk menambahkan periode penolakan pemeliharaan ke cluster AlloyDB, jalankan perintah gcloud alloydb clusters update dengan flag --deny-maintenance-period-start-date, --deny-maintenance-period-end-date, dan --deny-maintenance-period-time:

gcloud alloydb clusters update CLUSTER_ID \
   --region LOCATION_ID \
   --deny-maintenance-period-start-date START_DATE \
   --deny-maintenance-period-end-date END_DATE \
   --deny-maintenance-period-time TIME

Ganti kode berikut:

  • CLUSTER_ID: cluster yang akan dikonfigurasi untuk periode bebas pemeliharaan.
  • LOCATION_ID: region Google Cloud tempat cluster ini berada—misalnya, us-central1.
  • START_DATE: tanggal mulai periode bebas pemeliharaan dalam format UTC YYYY-MM-DD.
  • END_DATE: akhir periode bebas pemeliharaan dalam format UTC YYYY-MM-DD.
  • TIME: waktu periode bebas pemeliharaan dalam format UTC HH:MM. Jam direpresentasikan dalam format 24 jam dengan nilai berkisar dari 00:00 hingga 23:59—misalnya, 16:45.

REST v1

Contoh ini menambahkan periode menolak pemeliharaan ke cluster yang ada. Untuk mengetahui daftar lengkap parameter panggilan ini, lihat Metode: projects.locations.clusters.patch.

Sebelum Anda menggunakan data permintaan apa pun, lakukan penggantian berikut:

  • CLUSTER_ID: cluster yang akan dikonfigurasi untuk periode bebas pemeliharaan.
  • PROJECT_ID: ID project tempat cluster ditempatkan.
  • LOCATION_ID: region Google Cloud tempat cluster ini berada—misalnya, us-central1.
  • START_YEAR: tahun saat periode bebas pemeliharaan dimulai dalam format YYYY.
  • START_MONTH: bulan saat periode bebas pemeliharaan dimulai dalam format MM. Angka nol di awal untuk bulan satu digit bersifat opsional—misalnya, 2 dan 02 sama-sama valid untuk bulan Februari.
  • START_DAY: hari saat periode bebas pemeliharaan dimulai dalam format DD. Angka nol di awal untuk hari satu digit bersifat opsional—misalnya, 1 dan 01 sama-sama valid untuk hari pertama setiap bulan.
  • END_YEAR: tahun saat periode bebas pemeliharaan berakhir dalam format YYYY.
  • END_MONTH: bulan saat periode bebas pemeliharaan berakhir dalam format MM.
  • END_DAY: hari saat periode bebas pemeliharaan berakhir dalam format DD.
  • HOURS: jam periode bebas pemeliharaan dalam format 24 jam—misalnya, 16. Angka nol di awal untuk jam satu digit bersifat opsional—misalnya, 2 dan 02 sama-sama valid.
  • MINUTES: menit periode bebas pemeliharaan yang menerima nilai dari 0 hingga 59—misalnya, 45. Angka nol di awal untuk menit satu digit bersifat opsional— 7 dan 07 valid.

Untuk menambahkan periode penolakan pemeliharaan, gunakan permintaan PATCH berikut:

PATCH https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID?update_mask=maintenance_update_policy.deny_maintenance_periods

Parameter kueri maintenance_update_policy.deny_maintenance_periods memberi tahu API untuk memperbarui kolom denyMaintenancePeriods dalam blok maintenanceUpdatePolicy.

Isi JSON permintaan terlihat seperti berikut:

{
 "maintenanceUpdatePolicy": {
   "denyMaintenancePeriods": [
     {
       "startDate": {
         "year": START_YEAR,
         "month": START_MONTH,
         "day": START_DAY
       },
       "endDate": {
         "year": END_YEAR,
         "month": END_MONTH,
         "day": END_DAY
       },
       "time": {
         "hours": HOURS,
         "minutes": MINUTES
       }
     }
   ]
 }
}

Menolak pemeliharaan mendatang

Periode tolak pemeliharaan lebih diprioritaskan daripada pemeliharaan terjadwal. Jika terjadi konflik waktu, periode tolak pemeliharaan akan menggantikan masa pemeliharaan terjadwal.

Menetapkan periode penolakan yang bertentangan dengan peristiwa pemeliharaan terjadwal tidak akan langsung membatalkan pemeliharaan dan menghapus jadwal. AlloyDB menampilkan pemeliharaan terjadwal yang ada sebagai mendatang, tetapi membatalkan masa pemeliharaan terjadwal saat waktu yang dijadwalkan dimulai.

Untuk membantu menerapkan update penting, sistem biasanya tidak mengizinkan penetapan periode penolakan untuk melewati lebih dari satu peristiwa pemeliharaan dan dalam kasus yang jarang terjadi, dapat menerapkan pemeliharaan darurat di luar preferensi pemeliharaan yang dikonfigurasi.

Menghapus periode penolakan pemeliharaan dari cluster

Anda dapat menghapus periode penolakan pemeliharaan kapan saja.

gcloud

Untuk menggunakan gcloud CLI, Anda dapat menginstal dan melakukan inisialisasi Google Cloud CLI, atau Anda dapat menggunakan Cloud Shell.

Untuk menghapus periode penolakan pemeliharaan dari cluster AlloyDB, jalankan perintah gcloud alloydb clusters update dengan flag --remove-deny-maintenance-period:

gcloud alloydb clusters update CLUSTER_ID --region LOCATION_ID  --remove-deny-maintenance-period

Ganti kode berikut:

  • CLUSTER_ID: cluster yang akan dihapus periode penolakan pemeliharaannya.
  • LOCATION_ID: region Google Cloud tempat cluster ini berada—misalnya, us-central1.

REST v1

Contoh ini menghapus periode penolakan pemeliharaan dari cluster AlloyDB. Untuk mengetahui daftar lengkap parameter panggilan ini, lihat Metode: projects.locations.clusters.patch.

Sebelum menggunakan data permintaan apa pun, lakukan penggantian berikut:

  • CLUSTER_ID: ID cluster yang Anda tambahi periode penolakan pemeliharaan.
  • PROJECT_ID: ID project tempat cluster ditempatkan.
  • LOCATION_ID: region Google Cloud tempat cluster ini berada—misalnya, us-central1.

Untuk menghapus periode menolak pemeliharaan, gunakan permintaan PATCH berikut:

PATCH https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID?update_mask=maintenance_update_policy.deny_maintenance_periods

Parameter kueri maintenance_update_policy.deny_maintenance_periods memberi tahu API untuk memperbarui kolom denyMaintenancePeriods dalam blok maintenanceUpdatePolicy.

Isi JSON permintaan terlihat seperti berikut:

{}

Langkah berikutnya