Halaman ini menjelaskan cara memigrasikan database ke instance Cloud SQL untuk PostgreSQL baru yang dibuat Database Migration Service untuk Anda saat Anda mengonfigurasi tugas migrasi. Jika migrasi Anda memiliki persyaratan yang berbeda, pertimbangkan untuk mengikuti alur migrasi yang berbeda. Untuk mengetahui informasi selengkapnya, lihat Panduan: Melakukan migrasi ke instance Cloud SQL yang ada.
Secara umum, migrasi mengikuti langkah-langkah berikut:
- Konfigurasikan database sumber untuk mengizinkan Database Migration Service memindahkan data Anda ke database baru.
- Membuat profil koneksi sumber dan tugas migrasi.
- Bergantung pada konfigurasi konektivitas, Anda mungkin perlu menyesuaikan setelan firewall.
- Memulai dan memantau tugas migrasi.
- Mempromosikan tugas migrasi dan memindahkan aplikasi Anda untuk menggunakan database baru.
Biaya
Dalam dokumen ini, Anda akan menggunakan komponenGoogle Cloudyang dapat ditagih berikut:
- Cloud SQL (Lihat Harga Cloud SQL.)
- Jika digunakan untuk menyimpan Kunci Enkripsi yang Dikelola Pelanggan (CMEK): Cloud Storage (Lihat harga Cloud Storage.)
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.
Sebelum memulai
- Verifikasi apakah jalur migrasi ini dapat sepenuhnya mendukung skenario Anda.
Lihat halaman berikut:
- Sumber dan tujuan yang didukung di halaman Ringkasan skenario mencantumkan semua versi sumber dan tujuan yang didukung.
- Batasan umum menjelaskan jenis data yang didukung, ukuran database, dan batasan lainnya.
-
Metode konektivitas jaringan yang berbeda tersedia untuk database sumber yang berbeda. Pertimbangkan dan rencanakan konektivitas jaringan Anda sebelum memulai prosedur migrasi. Untuk mengetahui informasi selengkapnya, lihat Ringkasan jaringan.
Migrasi ke instance tujuan baru tidak mendukung konektivitas antarmuka Private Service Connect. Jika Anda ingin menggunakan konektivitas antarmuka Private Service Connect, pertimbangkan untuk membuat instance tujuan secara langsung di Cloud SQL. Lihat Panduan: Bermigrasi ke instance Cloud SQL yang ada.
- 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.
- Di konsol Google Cloud , pada halaman pemilih project, pilih atau buat project Google Cloud .
- Mengaktifkan API Database Migration Service dan Cloud SQL Admin.
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:
-
Database Migration Admin (
roles/datamigration.admin) -
Cloud SQL Editor (
roles/cloudsql.editor) -
Cloud SQL Studio User (
roles/cloudsql.studioUser)
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.createcloudsql.instances.getcloudsql.instances.listcloudsql.instances.updatecloudsql.instances.deletecloudsql.operations.getcloudsql.users.listcloudsql.users.getcloudsql.users.createcloudsql.users.updatecloudsql.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:
-
Pilih dan konfigurasi metode konektivitas jaringan sumber Anda.
Untuk konektivitas daftar IP publik yang diizinkan: Di lain waktu, setelah Database Migration Service membuat instance tujuan, Anda mungkin perlu menambahkan alamat IP publik Cloud SQL ke daftar yang diizinkan firewall Anda. Hubungi administrator jaringan Anda untuk mengetahui cara terbaik dalam menjadwalkan perubahan konfigurasi tersebut.
- Konfigurasikan instance database sumber Anda. Secara umum, hal ini mencakup
langkah-langkah berikut:
- Instal ekstensi PostgreSQL
pglogical(versi 2.2.1 atau yang lebih baru) di database sumber dan di semua database yang akan dimigrasikan. - Konfigurasikan parameter PostgreSQL: tetapkan
wal_level = logical, dan pastikan nilai yang memadai untukmax_replication_slots,max_wal_senders, danmax_worker_processes. - Berikan hak istimewa replikasi kepada pengguna migrasi Anda, dan konfigurasikan
pg_hba.confuntuk mengizinkan koneksi dari instance Cloud SQL tujuan.
Untuk mengetahui petunjuk mendetail, lihat Mengonfigurasi database sumber.
- Instal ekstensi PostgreSQL
- Buat profil koneksi sumber.
Membuat dan menjalankan tugas migrasi
Untuk mengonfigurasi dan menjalankan migrasi, lakukan langkah-langkah berikut:
- Opsional: Jika Anda ingin mengelola kunci enkripsi sendiri untuk instance tujuan, siapkan Kunci Enkripsi yang Dikelola Pelanggan (CMEK).
-
Membuat dan menjalankan tugas migrasi.
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:
- Opsional: Siapkan replika baca bertingkat. Jika ingin menggunakan replika baca bertingkat, Anda dapat mengonfigurasinya saat tugas migrasi memasuki fase CDC.
- Hentikan semua operasi tulis di database sumber Anda. Anda dapat mengalihkannya ke mode hanya baca untuk mempertahankan fungsi operasional.
- Mempromosikan tugas migrasi.
- Opsional: Verifikasi kelengkapan data migrasi.
Langkah berikutnya
Pelajari lebih lanjut fitur Google Cloud untuk Cloud SQL untuk PostgreSQL. Lihat Fitur Cloud SQL untuk PostgreSQL.