Melakukan migrasi ke instance tujuan yang ada

Halaman ini menjelaskan cara memigrasikan database ke instance Cloud SQL untuk PostgreSQL yang sudah ada dan dibuat langsung di Cloud SQL.

Jalur ini berguna untuk skenario saat instance tujuan Anda dikelola oleh tim yang berbeda, atau jika Anda perlu membuat instance di luar Database Migration Service (misalnya, jika Anda menggunakan Terraform, memerlukan flag kustom tertentu, atau memerlukan topologi jaringan lanjutan). Jika migrasi Anda memiliki persyaratan yang berbeda, pertimbangkan untuk mengikuti alur migrasi yang berbeda. Untuk mengetahui informasi selengkapnya, lihat Memulai migrasi PostgreSQL.

Secara umum, migrasi mengikuti langkah-langkah berikut:

  1. Konfigurasikan database sumber untuk mengizinkan Database Migration Service memindahkan data Anda ke database baru.
  2. Siapkan konektivitas jaringan ke instance PostgreSQL sumber Anda.
  3. Siapkan dan konfigurasi instance Cloud SQL tujuan yang ada.
  4. Membuat profil koneksi sumber dan tugas migrasi.
  5. Memulai dan memantau tugas migrasi.
  6. Mempromosikan tugas migrasi dan memindahkan aplikasi Anda untuk menggunakan database baru.

Biaya

Dalam dokumen ini, Anda akan menggunakan komponenGoogle Cloudyang dapat ditagih berikut:

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.

Sebelum memulai

  1. Verifikasi apakah jalur migrasi ini dapat sepenuhnya mendukung skenario Anda. Lihat halaman berikut:
  2. Pertimbangkan region tempat Anda ingin membuat database tujuan. Database Migration Service adalah produk yang sepenuhnya bersifat regional, yang berarti semua entity yang terkait dengan migrasi Anda (profil koneksi sumber dan tujuan, tugas migrasi, database tujuan, ruang kerja konversi) harus disimpan dalam satu region.
  3. Di konsol Google Cloud , pada halaman pemilih project, pilih atau buat project Google Cloud .

    Buka pemilih project

  4. Mengaktifkan API Database Migration Service dan Cloud SQL Admin.

    Aktifkan API

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk melakukan migrasi PostgreSQL homogen dengan Database Migration Service, minta administrator untuk memberi Anda peran IAM yang diperlukan pada project Anda:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses dalam dokumentasi Identity and Access Management.

Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk melakukan migrasi PostgreSQL homogen dengan Database Migration Service. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk melakukan migrasi PostgreSQL homogen dengan Database Migration Service:

  • datamigration.*
  • cloudsql.instances.create
  • cloudsql.instances.get
  • cloudsql.instances.list
  • cloudsql.instances.update
  • cloudsql.instances.delete
  • cloudsql.operations.get
  • cloudsql.users.list
  • cloudsql.users.get
  • cloudsql.users.create
  • cloudsql.users.update
  • cloudsql.users.delete

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Menyiapkan database sumber

Untuk menyiapkan data sumber Anda untuk migrasi, ikuti langkah-langkah berikut:

  1. Pilih dan konfigurasi metode konektivitas jaringan sumber Anda.
  2. Konfigurasikan instance database sumber Anda. Secara umum, hal ini mencakup langkah-langkah berikut:
    1. Instal ekstensi PostgreSQL pglogical (versi 2.2.1 atau yang lebih baru) di database sumber dan di semua database yang akan dimigrasikan.
    2. Konfigurasi parameter PostgreSQL: tetapkan wal_level = logical, dan pastikan nilai yang memadai untuk max_replication_slots, max_wal_senders, dan max_worker_processes.
    3. Berikan hak istimewa replikasi kepada pengguna migrasi Anda, dan konfigurasikan pg_hba.conf untuk mengizinkan koneksi dari instance Cloud SQL tujuan.

    Untuk mengetahui petunjuk mendetail, lihat Mengonfigurasi database sumber.

  3. Buat profil koneksi sumber.

Menyiapkan dan mengonfigurasi instance tujuan

Saat bermigrasi ke instance Cloud SQL yang ada (seperti instance yang telah disediakan sebelumnya oleh tim lain atau dikelola dengan Terraform), pastikan instance tersebut memenuhi semua prasyarat Database Migration Service sebelum membuat tugas migrasi:

  1. Kesiapan instance dan status data:
    • Instance tujuan harus berupa instance mandiri (bukan replika) dalam status RUNNABLE.
    • Instance harus berada di region Google Cloud yang sama dengan tugas migrasi dan profil koneksi Anda.
    • Instance hanya dapat dikaitkan dengan satu tugas migrasi aktif dalam satu waktu.
    • Instance tujuan tidak boleh berisi data pengguna yang ada, tabel yang ditentukan pengguna, atau database non-sistem. Verifikasi tugas migrasi akan gagal jika data pengguna yang ada ada di instance. Untuk mengetahui informasi selengkapnya, lihat Batasan untuk migrasi ke instance tujuan yang ada. Jika perlu, hapus data yang ada dari instance tujuan Anda.
  2. Konfigurasi flag database: Aktifkan flag cloudsql.enable_pglogical di instance Cloud SQL untuk PostgreSQL tujuan Anda. Flag ini diperlukan untuk replikasi logis. Untuk mengetahui informasi selengkapnya tentang menetapkan flag, lihat Mengonfigurasi flag database.
  3. Kredensial dan izin pengguna database: Pastikan akun pengguna database administratif yang diperlukan ada di instance tujuan Anda (seperti pengguna postgres default atau pengguna migrasi khusus dengan peran cloudsqlsuperuser) untuk mengelola database dan peran. Anda dapat membuat dan mengelola pengguna database menggunakan perintah psql standar atau melalui konsol Google Cloud . Untuk informasi selengkapnya, lihat Mengelola pengguna dalam dokumentasi Cloud SQL.
  4. Persyaratan konektivitas jaringan: Pastikan jaringan instance tujuan Anda dikonfigurasi dengan benar untuk berkomunikasi dengan database sumber sesuai dengan metode konektivitas yang Anda pilih:
    • Private Service Connect: Jika instance tujuan Anda mengaktifkan Private Service Connect, instance tersebut harus memiliki Lampiran Jaringan Keluar Private Service Connect yang dikonfigurasi. Lihat Koneksi keluar Private Service Connect dalam dokumentasi Cloud SQL.
    • Peering Virtual Private Cloud (Akses Layanan Pribadi / IP Pribadi): Instance tujuan harus mengaktifkan IP pribadi di jaringan Virtual Private Cloud yang melakukan peering dengan atau merutekan ke database sumber Anda. Lihat Mengonfigurasi IP pribadi.
    • Daftar IP publik yang diizinkan: Jika menggunakan konektivitas IP publik, pastikan Anda mengaktifkan IP publik di instance tujuan dan mengizinkan alamat IP keluar instance (termasuk IP keluar utama dan sekunder jika instance dikonfigurasi untuk ketersediaan tinggi) di firewall sumber Anda. Lihat Mengizinkan jaringan untuk IP publik.
  5. Pemberitahuan penurunan peringkat instance:
    • Untuk migrasi PostgreSQL standar, Database Migration Service mendemosikan instance tujuan mandiri yang ada untuk mengonfigurasinya sebagai replika eksternal database sumber Anda. Anda harus mengonfirmasi penurunan ini saat membuat tugas migrasi di konsol Google Cloud dengan memasukkan ID instance tujuan.
    • Mendemosikan instance tidak akan menempatkan database Cloud SQL untuk PostgreSQL ke mode hanya baca, tetapi Anda harus menghindari operasi tulis pada tabel atau database yang berpartisipasi dalam migrasi untuk mencegah konflik replikasi.
    • Pencadangan otomatis, pemulihan point-in-time (PITR), dan pembuatan replika baca Cloud SQL ditangguhkan hingga Anda mempromosikan tugas migrasi. Untuk mengetahui informasi selengkapnya, lihat Batasan untuk migrasi ke instance tujuan yang ada.
    • Jika Anda mengelola instance tujuan menggunakan infrastructure-as-code (seperti Terraform), Database Migration Service akan mengubah setelan pencadangan dan pemulihan selama migrasi. Untuk panduan tentang cara menangani penyimpangan konfigurasi Terraform, lihat Mendiagnosis masalah.

Membuat dan menjalankan tugas migrasi

Untuk mengonfigurasi dan menjalankan migrasi, lakukan langkah-langkah berikut:

  1. Opsional: Jika Anda ingin mengelola sertifikat atau kunci enkripsi Anda sendiri untuk tugas migrasi, siapkan kunci enkripsi yang diperlukan.
  2. Membuat dan menjalankan tugas migrasi untuk instance tujuan yang ada.

    Anda dapat memantau progres migrasi, serta kondisi instance tujuan dengan fitur kemampuan observasi Database Migration Service. Lihat Metrik tugas migrasi.

Menyelesaikan migrasi

Saat Anda memutuskan untuk mengalihkan aplikasi ke instance Cloud SQL untuk PostgreSQL yang baru, selesaikan migrasi dengan mengikuti langkah-langkah berikut:

  1. Opsional: Siapkan replika baca bertingkat. Jika ingin menggunakan replika baca bertingkat, Anda dapat mengonfigurasinya saat tugas migrasi memasuki fase CDC.
  2. Hentikan semua operasi tulis di database sumber Anda. Anda dapat mengalihkannya ke mode hanya baca untuk mempertahankan fungsi operasional.
  3. Mempromosikan tugas migrasi.
  4. Opsional: Verifikasi kelengkapan data migrasi.
  5. Jika Anda mengelola database tujuan menggunakan infrastructure-as-code (seperti Terraform), terapkan kembali konfigurasi Anda setelah promosi untuk merekonsiliasi setelan apa pun yang disesuaikan oleh Database Migration Service selama migrasi.

Langkah berikutnya

Pelajari lebih lanjut fitur Google Cloud untuk Cloud SQL untuk PostgreSQL. Lihat Fitur Cloud SQL untuk PostgreSQL.