Tutorial: Migrasi offline dari Amazon Aurora PostgreSQL ke Azure Database for PostgreSQL dengan layanan migrasi
Artikel ini menjelaskan cara memigrasikan database PostgreSQL Anda dari Amazon Aurora 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 Azure Database for PostgreSQL.
Di tutorial ini, Anda akan:
- Menyelesaikan prasyarat
- Memulai migrasi
- Memantau migrasi
- Memverifikasi migrasi
Prasyarat
Sebelum Anda memulai migrasi dengan menggunakan layanan migrasi di Azure Database for PostgreSQL, penting untuk menyelesaikan prasyarat berikut. Prasyarat ini 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 pada target
Memverifikasi versi sumber
Versi server PostgreSQL sumber harus 9.5 atau yang lebih baru. Jika versi PostgreSQL sumber lebih lama dari 9.5, tingkatkan versi ke 9.5 atau yang lebih baru sebelum Anda memulai migrasi.
Mengonfigurasi penyiapan target
Sebelum memulai migrasi, Anda harus membuat instans Azure Database for PostgreSQL di Azure. SKU yang disediakan untuk Azure Database for PostgreSQL - Server Fleksibel harus cocok dengan sumbernya.
Untuk informasi selengkapnya, lihat Membuat instans Azure Database for PostgreSQL.
Mengonfigurasi penyiapan jaringan
Penyiapan jaringan sangat penting agar layanan migrasi berfungsi dengan benar. Pastikan bahwa server PostgreSQL sumber dapat berkomunikasi dengan server target di Azure Database for PostgreSQL.
Untuk informasi tentang penyiapan jaringan, lihat Skenario 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 server tidak secara otomatis dimigrasikan ke lingkungan target dan harus dikonfigurasi secara manual.
Cocokkan nilai parameter server dari database PostgreSQL sumber dengan instans Azure Database for PostgreSQL. Di portal Azure, buka Parameter server dan perbarui nilai secara manual.
Simpan perubahan parameter dan mulai ulang instans Azure Database for PostgreSQL untuk menerapkan konfigurasi baru jika perlu.
Memeriksa pengguna dan peran
Saat Anda bermigrasi ke Azure Database for PostgreSQL, penting untuk mengatasi migrasi pengguna dan peran secara terpisah karena memerlukan intervensi manual.
Migrasi manual pengguna dan peran: Pengguna dan peran terkait harus dimigrasikan secara manual ke instans Azure Database for PostgreSQL. Untuk memfasilitasi proses ini, Anda dapat menggunakan utilitas pg_dumpall dengan
--globals-only
bendera untuk mengekspor objek global seperti peran dan akun pengguna.Jalankan perintah berikut. Ganti
<username>
dengan nama pengguna aktual, dan ganti<filename>
dengan nama yang ingin Anda gunakan untuk file output.pg_dumpall --globals-only -U <username> -f <filename>.sql
Pembatasan peran superuser: Azure Database for PostgreSQL tidak mendukung peran superuser. Izin superuser harus dihapus sebelum migrasi. Pastikan Anda menyesuaikan izin dan peran yang sesuai.
Dengan menyelesaikan langkah-langkah ini, Anda dapat memastikan bahwa akun dan peran pengguna dimigrasikan dengan benar ke Azure Database for PostgreSQL tanpa masalah yang terkait dengan pembatasan superuser.
Nonaktifkan ketersediaan tinggi (keandalan) dan replika baca pada target
Sangat penting bagi Anda untuk menonaktifkan ketersediaan tinggi (keandalan) dan membaca replika di lingkungan target sebelum Anda memulai migrasi. Fitur-fitur ini harus diaktifkan hanya setelah migrasi selesai.
Memulai migrasi
Anda dapat bermigrasi dengan menggunakan portal Azure atau Azure CLI.
portal Azure menawarkan pengalaman berbasis wizard yang sederhana dan intuitif untuk memandu Anda melalui migrasi. Dengan menyelesaikan 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 menggunakan portal Azure, pertama-tama konfigurasikan tugas migrasi. Kemudian, sambungkan ke sumber dan target, dan mulai migrasi.
Mengonfigurasi tugas migrasi
Untuk mengonfigurasi tugas migrasi di portal Azure:
Buka browser web Anda dan buka portal Azure. Masukkan info masuk Anda untuk masuk ke portal.
Buka instans Azure Database for PostgreSQL - Server Fleksibel Anda.
Pada menu layanan, pilih Migrasi.
Pilih Buat untuk bermigrasi dari Amazon Aurora ke server fleksibel.
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 berisi informasi tentang upaya migrasi.
Pilih Buat untuk menelusuri serangkaian tab untuk menyiapkan migrasi.
Siapkan
Masukkan atau pilih informasi berikut:
Nama migrasi: Masukkan pengidentifikasi unik untuk setiap migrasi ke target server fleksibel ini. Anda hanya dapat menggunakan karakter alfanumerik dan tanda hubung (
-
) dalam nama migrasi. Nama tidak dapat dimulai dengan tanda hubung, dan harus unik untuk server target. Tidak ada dua migrasi ke target server fleksibel yang sama yang dapat memiliki nama yang sama.Jenis server sumber: Pilih jenis sumber yang sesuai dengan sumber PostgreSQL Anda, seperti layanan PostgreSQL berbasis cloud, penyiapan lokal, atau komputer virtual.
Opsi migrasi: Pilih salah satu opsi berikut untuk validasi pra-migrasi:
- Validasi. Memeriksa kesiapan server dan database Anda untuk migrasi ke sumber target.
- Migrasikan. Melewati validasi dan memulai migrasi.
- Validasi dan Migrasikan. Melakukan validasi sebelum memicu migrasi. Jika tidak ada kegagalan validasi, migrasi dipicu.
Praktik yang baik adalah memilih opsi Validasi atau Validasi dan Migrasi untuk validasi pra-migrasi.
Untuk informasi selengkapnya, lihat Validasi pramigrasi.
Mode migrasi: Pilih mode untuk migrasi. Opsi defaultnya adalah Offline.
Pilih Berikutnya: Sambungkan ke sumber.
Pilih server runtime
Server runtime migrasi adalah fitur khusus dari layanan migrasi. Server runtime bertindak sebagai server perantara selama migrasi. Ini adalah instans terpisah dari Azure Database for PostgreSQL - Server Fleksibel yang bukan server target. Server runtime memfasilitasi migrasi database dari lingkungan sumber yang hanya dapat diakses melalui jaringan privat.
Untuk informasi selengkapnya, lihat Server runtime migrasi.
Menyambungkan ke sumber
Pada tab Sambungkan ke sumber , masukkan atau pilih informasi berikut untuk sumber database:
- Nama server: Masukkan nama host atau alamat IP instans PostgreSQL sumber.
- Port: Masukkan nomor port server sumber.
- Nama masuk admin server: Masukkan nama pengguna server PostgreSQL sumber.
- Kata sandi: Masukkan kata sandi server PostgreSQL sumber.
- Mode SSL: Nilai yang didukung adalah Prefer and Require. Ketika Secure Sockets Layer (SSL) di server PostgreSQL sumber nonaktif, pilih Pilih. Jika SSL di server sumber aktif, pilih Perlu. Nilai SSL diatur dalam file postgresql.conf .
- Uji Koneksi: Memulai pengujian konektivitas antara target dan sumber. Ketika koneksi berhasil, buka langkah berikutnya untuk mengidentifikasi masalah jaringan antara target dan sumber dan untuk memverifikasi nama pengguna dan kata sandi untuk sumber. Membuat koneksi pengujian membutuhkan waktu beberapa menit.
Setelah koneksi pengujian berhasil, pilih Berikutnya: Pilih target migrasi.
Pilih target migrasi
Pada tab Pilih target migrasi, masukkan atau pilih informasi berikut untuk target server fleksibel, selain langganan, grup sumber daya, dan nama server:
- 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: Memulai pengujian konektivitas antara target dan sumber. Ketika koneksi berhasil, buka langkah berikutnya untuk mengidentifikasi masalah jaringan antara target dan sumber dan untuk memverifikasi nama pengguna dan kata sandi untuk server target. Membuat koneksi pengujian membutuhkan waktu beberapa menit.
Setelah koneksi pengujian berhasil, pilih Berikutnya: Pilih database untuk migrasi.
Pilih database untuk migrasi
Pada tab Pilih database untuk migrasi , pilih dari daftar database pengguna untuk dimigrasikan dari server PostgreSQL sumber Anda.
Setelah Anda memilih database, pilih Berikutnya: Ringkasan.
Ringkasan
Tab Ringkasan meringkas semua detail sumber dan target untuk membuat validasi atau migrasi. Tinjau detailnya, lalu pilih Mulai Validasi dan Migrasi.
Memantau migrasi
Dalam beberapa detik setelah Anda memilih Mulai Validasi dan Migrasi, pemberitahuan tampaknya mengatakan bahwa validasi atau pembuatan migrasi berhasil. Anda dialihkan ke panel Migrasi instans Server Fleksibel. Entri status adalah InProgress dan substatnya adalah PerformingPreRequisiteSteps. Alur kerja membutuhkan waktu 2 hingga 3 menit untuk menyiapkan infrastruktur migrasi dan memeriksa koneksi jaringan.
Kisi yang menampilkan migrasi memiliki kolom ini:
- Nama
- Keadaan
- Mode migrasi
- Tipe migrasi
- Server sumber
- Jenis server sumber
- Database
- Durasi
- Waktu mulai
Entri ditampilkan dalam urutan menurun dari waktu mulai, dengan entri terbaru di bagian atas. Anda dapat memilih Refresh di bilah menu untuk me-refresh status validasi atau migrasi yang dijalankan.
Detail migrasi
Dalam daftar migrasi, pilih nama migrasi untuk melihat detail terkait.
Pada tab Penyiapan , pilih opsi migrasi Validasi dan Migrasikan. Dalam skenario ini, validasi selesai sebelum migrasi dimulai. Setelah substat PerformingPreRequisiteSteps selesai, alur kerja berpindah ke substat 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.
Anda dapat memeriksa detail validasi di tingkat instans dan di tingkat database:
Validasi pada tingkat instans:
- Periksa validasi yang terkait dengan pemeriksaan konektivitas untuk versi sumber (
PostgreSQL version >= 9.5
pemeriksaan parameter server) apakah ekstensi diaktifkan dalam parameter server instans Azure Database for PostgreSQL - Server Fleksibel.
- Periksa validasi yang terkait dengan pemeriksaan konektivitas untuk versi sumber (
Validasi di tingkat database:
- Periksa validasi database individual yang terkait dengan dukungan ekstensi dan kolase di Azure Database for PostgreSQL - Server Fleksibel.
Anda dapat melihat status saat ini untuk migrasi dan validasi pada panel detail migrasi.
Tabel berikut ini menjelaskan beberapa kemungkinan status dan substatus migrasi.
Status migrasi
Provinsi | Deskripsi |
---|---|
InProgress | Penyiapan infrastruktur migrasi sedang berlangsung, atau migrasi data aktual sedang berlangsung. |
Canceled | Migrasi dibatalkan atau dihapus. |
Gagal | Migrasi gagal. |
Validasi gagal | Validasi gagal. |
Berhasil | Migrasi berhasil dan selesai. |
WaitingForUserAction | Hanya berlaku dalam migrasi online. Menunggu pengguna 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 selesai. |
Gagal | Migrasi gagal. |
Substatus validasi
Substate | Deskripsi |
---|---|
Gagal | Validasi gagal. |
Berhasil | Validasi berhasil. |
Peringatan | Validasi menunjukkan peringatan. |
Membatalkan migrasi
Anda dapat membatalkan validasi atau migrasi yang sedang berlangsung. Alur kerja harus dalam status Sedang berlangsung 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 memindahkan upaya migrasi ke status Dibatalkan . Tindakan pembatalan mengembalikan semua perubahan yang dilakukan pada server target Anda oleh layanan migrasi.
Memverifikasi migrasi
Setelah migrasi database selesai, validasi data secara manual antara sumber dan target. Verifikasi bahwa semua objek dalam database target berhasil dibuat.
Setelah migrasi, Anda dapat menyelesaikan tugas-tugas ini:
- Verifikasi data di server fleksibel Anda dan pastikan bahwa data tersebut adalah salinan instans sumber yang tepat.
- Setelah verifikasi, aktifkan opsi ketersediaan tinggi di server fleksibel Anda sesuai kebutuhan.
- Ubah SKU (versi) server fleksibel agar sesuai dengan kebutuhan aplikasi Anda. Perubahan ini memerlukan mulai ulang server database.
- Jika Anda mengubah parameter server apa pun dari nilai defaultnya di instans sumber, salin nilai parameter server tersebut ke 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.