Menggunakan pemulihan point-in-time (PITR)

Halaman ini menjelaskan cara memulihkan cluster ke status terakhir. Memulihkan data ke titik waktu tertentu ke dalam cluster AlloyDB untuk PostgreSQL direkomendasikan untuk pemulihan cepat dari kehilangan data berskala besar.

Sebelum memulai

  • Project Google Cloud yang Anda gunakan harus telah diaktifkan untuk mengakses AlloyDB.
  • Anda harus memiliki salah satu peran IAM berikut di project Google Cloud yang Anda gunakan:
    • roles/alloydb.admin (peran IAM bawaan AlloyDB Admin)
    • roles/owner (peran IAM dasar Pemilik)
    • roles/editor (peran IAM dasar Editor)

    Jika Anda tidak memiliki salah satu peran ini, hubungi Administrator Organisasi untuk meminta akses.

  • Anda harus memiliki semua peran IAM ini di project Google Cloud yang Anda gunakan:
    • compute.networks.list
    • compute.addresses.create
    • compute.addresses.list
    • compute.globalAddresses.create
    • compute.globalAddresses.list
    • servicenetworking.services.addPeering

    Untuk mendapatkan izin ini sekaligus mengikuti prinsip hak istimewa terendah, minta administrator untuk memberi Anda peran roles/alloydb.admin ( IAM bawaan AlloyDB Admin).

Memulihkan dari titik waktu terbaru

AlloyDB memungkinkan Anda memulihkan data cluster aktif sepenuhnya dari titik waktu mana pun dalam rentang terbaru tertentu.

Periode PITR yang tersedia

Anda dapat memulihkan dari titik waktu mana pun setelah dua waktu berikut yang lebih baru:

  • Momen yang diwakili oleh batas periode pemulihan Anda. Misalnya, jika Anda memiliki periode pemulihan 14 hari, momen ini adalah 14 hari yang lalu.

  • Waktu pembuatan cadangan terlama yang diambil sejak Anda terakhir kali mengaktifkan pencadangan berkelanjutan. Jika Anda membuat cluster dengan pencadangan berkelanjutan diaktifkan, dan Anda belum menonaktifkan pencadangan berkelanjutan sejak saat itu, maka saat ini akan menjadi waktu pembuatan cadangan cluster Anda yang paling lama.

Jika Anda menonaktifkan dan kemudian mengaktifkan kembali pencadangan berkelanjutan, Anda tidak dapat melakukan pemulihan point-in-time hingga Anda atau AlloyDB membuat cadangan baru pertama cluster. Pencadangan ini dapat berupa pencadangan sesuai permintaan, atau pencadangan harian pertama yang dilakukan AlloyDB setelah Anda mengaktifkan pencadangan berkelanjutan. Untuk mengetahui informasi selengkapnya tentang jenis pencadangan, lihat Ringkasan pencadangan dan pemulihan data.

Melakukan pemulihan point-in-time

  1. Gunakan konsol Google Cloud atau Google Cloud CLI untuk melakukan pemulihan.

    Konsol

    1. Buka halaman Cluster.

      Buka Cluster

    2. Klik cluster di kolom Resource Name.

    3. Klik Data protection.

    4. Di bagian Pulihkan dari titik waktu, klik Pulihkan.

    5. Di kolom Target time, masukkan tanggal dan waktu untuk memulihkan.

    6. Di kolom Cluster ID, masukkan nama untuk cluster baru.

    7. Di kolom Network, pilih jaringan Virtual Private Cloud yang akan digunakan oleh cluster baru.

    8. Jika Anda ingin mengenkripsi log perubahan data dan cadangan berkelanjutan cluster ini menggunakan kunci enkripsi yang dikelola pelanggan (CMEK), bukan enkripsi default yang dikelola Google, ikuti langkah-langkah tambahan berikut:

      1. Klik Advanced encryption options.

      2. Klik tombol pilihan Kunci enkripsi yang dikelola pelanggan (CMEK).

      3. Klik daftar Pilih kunci yang dikelola pelanggan, lalu pilih kunci.

    9. Klik Pulihkan.

    gcloud

    Gunakan perintah gcloud alloydb clusters restore, yang menentukan cluster dan stempel waktu. Perhatikan bahwa, tidak seperti memulihkan dari cadangan, pemulihan point-in-time mengharuskan cluster asli masih ada. Anda tidak dapat melakukan pemulihan semacam ini pada cluster yang dihapus.

    gcloud alloydb clusters restore NEW_CLUSTER \
      --source-cluster=SOURCE_CLUSTER \
      --point-in-time=TIMESTAMP \
      --region=REGION

    Perintah ini menampilkan operasi, yang statusnya dapat Anda buat kueri menggunakan perintah gcloud alloydb operations describe.

    gcloud alloydb operations describe OPERATION_ID \
      --region=REGION

    Ganti kode berikut:

    • NEW_CLUSTER: ID yang akan digunakan dengan cluster baru.

    • SOURCE_CLUSTER: ID cluster yang akan digunakan untuk memulihkan data.
      Untuk memulihkan dari cluster dalam project yang berbeda, ganti dengan jalur cluster lengkap dalam format berikut:
      projects/SOURCE_PROJECT/locations/SOURCE_REGION/clusters/SOURCE_CLUSTER

    • TIMESTAMP: Deskripsi titik waktu untuk memulihkan data, yang dinyatakan dalam format RFC 3339—misalnya, 2012-11-15T16:19:00.094Z. Anda dapat menentukan pecahan detik sekecil mikrodetik.

      Perhatikan bahwa stempel waktu ini harus ada dalam periode retensi yang Anda tentukan saat membuat cluster.

    • REGION: Region yang berisi cluster sumber, dan tempat AlloyDB membuat cluster baru. Contoh: us-central1.

    • PROJECT_ID: ID project tempat cluster baru berada.

    Jika Anda ingin mengenkripsi data cluster baru dengan kunci enkripsi yang dikelola pelanggan (CMEK), bukan enkripsi yang dikelola Google, Anda harus memberikan argumen tambahan berikut:

    • --kms-key=KEY_ID: ID kunci CMEK yang akan digunakan. * --kms-keyring=KEYRING_ID: ID key ring kunci. * --kms-location=LOCATION_ID: ID region keyring tersebut. Perhatikan bahwa region ini harus cocok dengan region cluster.
    • --kms-project=PROJECT_ID: ID project keyring.

    Untuk memulihkan cluster dengan Private Service Connect yang diaktifkan, pastikan Anda menambahkan flag --enable-private-service-connect.

  2. Setelah AlloyDB selesai membuat cluster, buat instance utama untuk cluster tersebut. Instance tersebut memungkinkan Anda mengakses data yang dipulihkan. Perhatikan bahwa konfigurasi instance baru tidak harus sama persis dengan konfigurasi instance utama asli.

  3. Opsional: Buat instance kumpulan baca.

Anda dapat mulai menggunakan cluster setelah operasi pemulihan selesai.

Langkah selanjutnya