Tutorial: Migrasi offline dari Google Cloud SQL for PostgreSQL ke Azure Database for PostgreSQL dengan layanan migrasi
Artikel ini membahas cara memigrasikan database PostgreSQL Anda dari Google Cloud SQL for PostgreSQL ke Azure Database for PostgreSQL secara offline.
Layanan migrasi di Azure Database for PostgreSQL adalah layanan terkelola penuh yang terintegrasi ke dalam portal Azure dan Azure CLI. Ini dirancang untuk menyederhanakan perjalanan migrasi Anda ke server Azure Database for PostgreSQL.
- Prasyarat
- Lakukan migrasi
- Memantau migrasi
- Periksa migrasi saat selesai
Prasyarat
Untuk menyelesaikan migrasi, Anda memerlukan prasyarat berikut:
Sebelum memulai migrasi dengan layanan migrasi Azure Database for PostgreSQL, penting untuk memenuhi prasyarat berikut, yang dirancang khusus untuk skenario migrasi offline.
- Memverifikasi versi sumber
- Mengonfigurasi penyiapan target
- Mengonfigurasi penyiapan jaringan
- Mengaktifkan ekstensi
- Periksa parameter server
- Memeriksa pengguna dan peran
- Nonaktifkan ketersediaan tinggi (keandalan) dan replika baca dalam target
Memverifikasi versi sumber
Versi server PostgreSQL sumber harus 9.5 atau yang lebih baru.
Jika versi PostgreSQL sumber kurang dari 9,5, tingkatkan ke 9,5 atau lebih tinggi sebelum Anda memulai migrasi.
Catatan
Layanan migrasi di Azure Database for PostgreSQL mendukung koneksi menggunakan alamat IP untuk Sumber Google Cloud SQL for PostgreSQL. Format myproject:myregion:myinstance
tidak didukung.
Mengonfigurasi penyiapan target
Sebelum memulai migrasi, Anda harus menyiapkan Azure Database for PostgreSQL di Azure.
SKU yang dipilih untuk Azure Database for PostgreSQL harus sesuai dengan spesifikasi database sumber untuk memastikan kompatibilitas dan performa yang memadai.
Mengonfigurasi penyiapan jaringan
Penyiapan jaringan sangat penting agar layanan migrasi berfungsi dengan benar. Pastikan bahwa server PostgreSQL sumber dapat berkomunikasi dengan server Azure Database for PostgreSQL target. Konfigurasi jaringan berikut sangat penting untuk keberhasilan migrasi.
Untuk informasi tentang penyiapan jaringan, kunjungi Panduan jaringan untuk layanan migrasi.
Mengaktifkan ekstensi
Untuk memastikan keberhasilan migrasi dengan menggunakan layanan migrasi di Azure Database for PostgreSQL, Anda mungkin perlu memverifikasi ekstensi ke instans PostgreSQL sumber Anda. Ekstensi menyediakan fungsionalitas dan fitur yang mungkin diperlukan untuk aplikasi Anda. Pastikan Anda memverifikasi ekstensi pada instans PostgreSQL sumber sebelum memulai proses migrasi.
Dalam instans target Azure Database for PostgreSQL - Server Fleksibel, aktifkan ekstensi yang didukung yang diidentifikasi dalam instans PostgreSQL sumber.
Untuk informasi selengkapnya, lihat Ekstensi di Azure Database for PostgreSQL.
Catatan
Mulai ulang diperlukan saat Anda membuat perubahan apa pun pada shared_preload_libraries
parameter .
Periksa parameter server
Parameter ini tidak secara otomatis dimigrasikan ke lingkungan target dan harus dikonfigurasi secara manual.
Cocokkan nilai parameter server dari database PostgreSQL sumber ke Azure Database for PostgreSQL dengan mengakses bagian "Parameter server" di portal Azure dan memperbarui nilai secara manual.
Simpan perubahan parameter dan mulai ulang Azure Database for PostgreSQL untuk menerapkan konfigurasi baru jika perlu.
Memeriksa pengguna dan peran
Saat bermigrasi ke Azure Database for PostgreSQL, penting untuk mengatasi migrasi pengguna dan peran secara terpisah, karena mereka memerlukan intervensi manual:
Migrasi Manual Pengguna dan Peran: Pengguna dan peran terkait mereka harus dimigrasikan secara manual ke Azure Database for PostgreSQL. Untuk memfasilitasi proses ini, Anda dapat menggunakan
pg_dumpall
utilitas dengan--globals-only
bendera untuk mengekspor objek global seperti peran dan akun pengguna. Jalankan perintah berikut, ganti<<username>>
dengan nama pengguna yang sebenarnya dan<<filename>>
dengan nama file output yang Anda inginkan:pg_dumpall --globals-only -U <<username>> -f <<filename>>.sql
Pembatasan Peran Superuser: Azure Database for PostgreSQL tidak mendukung peran superuser. Oleh karena itu, pengguna dengan hak istimewa superuser harus memiliki hak istimewa tersebut dihapus sebelum migrasi. Pastikan Anda menyesuaikan izin dan peran yang sesuai.
Dengan mengikuti langkah-langkah ini, Anda dapat memastikan bahwa akun dan peran pengguna dimigrasikan dengan benar ke Azure Database for PostgreSQL tanpa mengalami masalah yang terkait dengan pembatasan superuser.
Nonaktifkan ketersediaan tinggi (keandalan) dan replika baca dalam target
Menonaktifkan ketersediaan tinggi (keandalan) dan membaca replika di lingkungan target sangat penting. Fitur-fitur ini harus diaktifkan hanya setelah migrasi selesai.
Dengan mengikuti panduan ini, Anda dapat membantu memastikan proses migrasi yang lancar tanpa variabel tambahan yang diperkenalkan oleh Ha dan Replika Baca. Setelah migrasi selesai dan database stabil, Anda dapat melanjutkan untuk mengaktifkan fitur-fitur ini untuk meningkatkan ketersediaan dan skalabilitas lingkungan database Anda di Azure.
Lakukan migrasi
Anda dapat bermigrasi dengan menggunakan portal Azure atau Azure CLI.
portal Azure memberikan pengalaman berbasis wizard sederhana dan intuitif yang memandu Anda melalui migrasi. Mengikuti langkah-langkah yang diuraikan dalam tutorial ini, Anda dapat mentransfer database Anda dengan mulus ke Azure Database for PostgreSQL - Server Fleksibel dan memanfaatkan fitur dan skalabilitasnya yang canggih.
Untuk bermigrasi dengan portal Azure, Anda terlebih dahulu mengonfigurasi tugas migrasi, menyambungkan ke sumber dan target, lalu melakukan migrasi.
Mengonfigurasi tugas migrasi
Layanan migrasi dilengkapi dengan pengalaman sederhana berbasis wizard pada portal Azure.
Buka browser web Anda, dan buka portal. Masukkan info masuk Anda untuk masuk ke portal. Tampilan default adalah dasbor layanan Anda.
Buka Server fleksibel Azure Database for postgreSQL Anda.
Di tab Gambaran Umum server fleksibel, di menu sebelah kiri, gulir ke bawah ke Migrasi dan pilih.
Pilih tombol Buat untuk bermigrasi dari Google Cloud SQL for PostgreSQL ke server fleksibel.
Catatan
Pertama kali Anda menggunakan layanan migrasi, kisi kosong muncul dengan perintah untuk memulai migrasi pertama Anda.
Jika migrasi ke target server fleksibel Anda sudah dibuat, kisi sekarang berisi informasi tentang upaya migrasi.
Pilih tombol Buat untuk menelusuri rangkaian tab berbasis wizard untuk melakukan migrasi.
Siapkan
Pengguna perlu memberikan beberapa detail yang terkait dengan migrasi, seperti nama migrasi, jenis server sumber, opsi, dan mode.
Nama migrasi adalah pengidentifikasi unik untuk setiap migrasi ke Server Fleksibel ini. Bidang ini hanya menerima karakter alfanumerik dan tidak menerima karakter khusus apa pun kecuali tanda hubung (-). Nama tidak boleh diawali dengan tanda hubung dan harus unik untuk server target. Tidak ada dua migrasi ke Server Fleksibel yang sama yang dapat memiliki nama yang sama.
Jenis Server Sumber - Bergantung pada sumber PostgreSQL, Anda dapat memilih Google Cloud SQL for PostgreSQL.
Opsi Migrasi - Memungkinkan Anda melakukan validasi sebelum memicu migrasi. Anda dapat memilih salah satu opsi berikut:
- Validasi - Memeriksa kesiapan server dan database Anda untuk migrasi ke target.
- Migrasi - Melewati validasi dan memulai migrasi.
- Validasi dan Migrasi — Melakukan validasi sebelum memicu migrasi. Jika tidak ada kegagalan validasi, migrasi dipicu.
Memilih opsi Validasi atau Validasi dan Migrasi selalu merupakan praktik yang baik untuk melakukan validasi pramigrasi sebelum menjalankan migrasi.
Untuk mempelajari lebih lanjut tentang validasi pramigrasi, kunjungi pramigrasi.
- Mode migrasi memungkinkan Anda memilih mode untuk migrasi. Offline adalah opsi default.
Pilih tombol Berikutnya: Sambungkan ke sumber .
Pilih Server Runtime
Runtime Server migrasi adalah fitur khusus dalam layanan migrasi, yang dirancang untuk bertindak sebagai server perantara selama migrasi. Ini adalah instans Azure Database for PostgreSQL - Server Fleksibel terpisah yang bukan server target tetapi digunakan untuk memfasilitasi migrasi database dari lingkungan sumber yang hanya dapat diakses melalui jaringan privat.
Untuk informasi selengkapnya tentang Server Runtime, kunjungi Server Runtime Migrasi.
Sambungkan ke sumber
Tab Sambungkan ke Sumber meminta Anda untuk memberikan detail yang terkait dengan sumber yang dipilih di Tab Penyetelan, yang merupakan sumber database.
- Nama Server - Berikan Nama Host atau alamat IP instans PostgreSQL sumber
- Port - Nomor port server Sumber
- Nama masuk admin server - Nama pengguna server PostgreSQL sumber
- Kata Sandi - Kata sandi server PostgreSQL sumber
- Mode SSL - Nilai yang didukung lebih disukai dan diperlukan. Ketika SSL di server PostgreSQL sumber NONAKTIF, gunakan SSLMODE=prefer. Jika SSL di server sumber aktif, gunakan SSLMODE=require. Nilai SSL dapat ditentukan dalam file postgresql.conf.
- Uji Koneksi—Melakukan pengujian konektivitas antara target dan sumber. Setelah koneksi berhasil, pengguna dapat melanjutkan ke langkah berikutnya; mereka perlu mengidentifikasi masalah jaringan antara target dan sumber dan memverifikasi nama pengguna/kata sandi untuk sumbernya. Membuat koneksi pengujian membutuhkan waktu beberapa menit.
Setelah koneksi pengujian berhasil, pilih tombol Berikutnya: Pilih Target migrasi.
Pilih target migrasi
Tab pilih target migrasi menampilkan metadata untuk target Server Fleksibel, seperti nama langganan, grup sumber daya, nama server, lokasi, dan versi PostgreSQL.
- Nama pengguna admin - Nama pengguna admin server PostgreSQL target
- Kata Sandi - Kata sandi server PostgreSQL target
- FQDN/IP Kustom (Opsional): Bidang FQDN/IP kustom bersifat opsional dan dapat digunakan ketika target berada di belakang server DNS kustom atau memiliki namespace DNS kustom, membuatnya hanya dapat diakses melalui FQDN atau alamat IP tertentu. Misalnya, ini dapat mencakup entri seperti
flexibleserver.example.com
, ,198.1.0.2
atau PostgreSQL FQDN sepertiflexibleserver.postgres.database.azure.com
, jika server DNS kustom berisi zonapostgres.database.azure.com
DNS atau meneruskan kueri untuk zona ini ke168.63.129.16
, tempat FQDN diselesaikan di zona DNS publik atau privat Azure. - Uji Koneksi - Melakukan pengujian konektivitas antara target dan sumber. Setelah koneksi berhasil, pengguna dapat melanjutkan dengan langkah berikutnya. Jika tidak, kita perlu mengidentifikasi masalah jaringan antara target dan sumber dan memverifikasi nama pengguna/kata sandi target. Uji koneksi membutuhkan waktu beberapa menit untuk membuat koneksi antara target dan sumber
Setelah koneksi pengujian berhasil, pilih Berikutnya: Pilih Database untuk Migrasi
Pilih database untuk migrasi
Di bawah tab Pilih database untuk migrasi , Anda bisa memilih daftar database pengguna yang akan dimigrasikan dari server PostgreSQL sumber Anda.
Setelah memilih database, pilih Berikutnya: Ringkasan
Ringkasan
Tab Ringkasan meringkas semua detail sumber dan target untuk membuat validasi atau migrasi. Tinjau detail dan pilih tombol Mulai Validasi dan Migrasi.
Memantau migrasi
Setelah Anda memilih tombol Mulai Validasi dan Migrasi , pemberitahuan muncul dalam beberapa detik untuk mengatakan bahwa validasi atau pembuatan migrasi berhasil. Anda dialihkan ke instans halaman Migrasi server fleksibel. Entri berada dalam status InProgress dan substat PerformingPreRequisiteSteps . Alur kerja membutuhkan waktu 2-3 menit untuk menyiapkan infrastruktur migrasi dan memeriksa koneksi jaringan.
Kisi yang menampilkan migrasi memiliki kolom ini: Nama, Status, Mode migrasi, Jenis migrasi, Server sumber, Jenis server sumber, Database, Durasi, dan Waktu mulai. Entri ditampilkan dalam urutan menurun dari waktu mulai, dengan entri terbaru di bagian atas. Anda dapat menggunakan tombol refresh untuk me-refresh status validasi atau migrasi yang dijalankan.
Detail migrasi
Pilih nama migrasi di kisi untuk melihat detail terkait.
Di tab Penyiapan , kami telah memilih opsi migrasi sebagai Validasi dan Migrasi. Dalam skenario ini, validasi dilakukan terlebih dahulu sebelum migrasi dimulai. Setelah substrat PerformingPreRequisiteSteps selesai, alur kerja berpindah ke substrat Validasi sedang Berlangsung.
Jika validasi memiliki kesalahan, migrasi akan berpindah ke status Gagal .
Jika validasi selesai tanpa kesalahan apa pun, migrasi dimulai, dan alur kerja berpindah ke substat Migrasi Data.
Detail validasi tersedia di tingkat instans dan database.
Validasi pada tingkat Instans
- Berisi validasi yang terkait dengan pemeriksaan konektivitas, versi sumber, yaitu, versi >PostgreSQL = 9.5, pemeriksaan parameter server, jika ekstensi diaktifkan dalam parameter server Azure Database for PostgreSQL - server fleksibel.
Validasi di tingkat Database
- Ini berisi validasi database individual yang terkait dengan dukungan ekstensi dan kolase di Azure Database for PostgreSQL, server fleksibel.
Anda dapat melihat validasi dan status migrasi di bawah halaman detail migrasi.
Beberapa kemungkinan status migrasi:
Status migrasi
Provinsi | Deskripsi |
---|---|
InProgress | Penyiapan infrastruktur migrasi sedang berlangsung, atau migrasi data aktual sedang berlangsung. |
Canceled | Migrasi dibatalkan atau dihapus. |
Gagal | Migrasi telah gagal. |
Validasi Gagal | Validasi gagal. |
Berhasil | Migrasi telah berhasil dan selesai. |
WaitingForUserAction | Hanya berlaku untuk migrasi online. Menunggu tindakan pengguna untuk melakukan cutover. |
Sub-status migrasi
Substate | Deskripsi |
---|---|
PerformingPreRequisiteSteps | Penyiapan infrastruktur sedang berlangsung untuk migrasi data. |
Validasi sedang Berlangsung | Validasi dalam proses. |
MigratingData | Migrasi data sedang berlangsung. |
CompletingMigration | Migrasi sedang dalam tahap akhir penyelesaian. |
Selesai | Migrasi telah selesai. |
Gagal | Migrasi gagal. |
Substatus validasi
Substate | Deskripsi |
---|---|
Gagal | Validasi gagal. |
Berhasil | Validasi berhasil. |
Peringatan | Validasi sedang dalam peringatan. |
Membatalkan migrasi
Anda dapat membatalkan validasi atau migrasi yang sedang berlangsung. Alur kerja harus dalam status InProgress untuk dibatalkan. Anda tidak dapat membatalkan validasi atau migrasi yang berada dalam status Berhasil atau Gagal .
- Membatalkan migrasi menghentikan aktivitas migrasi lebih lanjut di server target Anda dan pindah ke status Dibatalkan . Tindakan pembatalan mengembalikan semua perubahan yang dilakukan oleh layanan migrasi di server target Anda.
Periksa migrasi saat selesai
Setelah menyelesaikan database, Anda perlu memvalidasi data antara sumber secara manual, dan target dan memverifikasi bahwa semua objek dalam database target berhasil dibuat.
Setelah migrasi, Anda dapat melakukan tugas berikut:
- Verifikasi data di server fleksibel Anda dan pastikan data tersebut adalah salinan instans sumber yang tepat.
- Pasca verifikasi, aktifkan opsi ketersediaan tinggi di server fleksibel Anda sesuai kebutuhan.
- Ubah SKU server fleksibel agar sesuai dengan kebutuhan aplikasi. Perubahan ini memerlukan menghidupkan ulang server database.
- Jika Anda mengubah parameter server apa pun dari nilai defaultnya di instans sumber, salin nilai parameter server tersebut di server fleksibel.
- Salin pengaturan server lain, seperti tag, pemberitahuan, dan aturan firewall (jika berlaku), dari instans sumber ke server fleksibel.
- Buat perubahan pada aplikasi Anda untuk mengarahkan string koneksi ke server fleksibel.
- Pantau performa database dengan cermat untuk melihat apakah memerlukan penyetelan performa.