Bagikan melalui


Tutorial: Memigrasikan PostgreSQL ke Azure Database for PostgreSQL online menggunakan DMS (klasik) melalui portal Azure

Anda dapat menggunakan Azure Database Migration Service untuk memigrasikan database dari instans PostgreSQL lokal ke Azure Database for PostgreSQL dengan sedikit waktu henti. Dalam tutorial ini, Anda memigrasikan database sampel listdb dari instans postgreSQL 13.10 lokal ke Azure Database for PostgreSQL dengan menggunakan aktivitas migrasi online di Azure Database Migration Service.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Memigrasikan contoh skema menggunakan utilitas pg_dump.
  • Buat instans Azure Database Migration Service.
  • Membuat proyek migrasi di Azure Database Migration Service.
  • Jalankan migrasi.
  • Pantau migrasi
  • Lakukan cutover migrasi.

Catatan

Menggunakan Azure Database Migration Service untuk melakukan migrasi online mengharuskan pembuatan instans berdasarkan tingkat harga Premium. Kami mengenkripsi disk untuk mencegah pencurian data selama proses migrasi

Penting

Untuk pengalaman migrasi yang optimal, Microsoft menyarankan untuk membuat instans Azure Database Migration Service di wilayah Azure yang sama dengan database target. Pemindahan data lintas wilayah atau geografi dapat memperlambat proses migrasi dan menimbulkan kesalahan.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda perlu:

  • Unduh dan instal PostgreSQL edisi komunitas. Versi Server PostgreSQL sumber harus >= 9.4. Untuk informasi selengkapnya, lihat Versi database PostgreSQL yang didukung.

    Perhatikan juga bahwa versi Azure Database for PostgreSQL target harus sama atau lebih baru daripada versi PostgreSQL lokal. Misalnya, PostgreSQL 12 dapat bermigrasi ke Azure Database for PostgreSQL >= 12 versi tetapi tidak Azure Database for PostgreSQL 11.

  • Buat server Azure Database for PostgreSQL.

  • Membuat Microsoft Azure Virtual Network untuk Azure Database Migration Service dengan menggunakan model penyebaran Azure Resource Manager, yang menyediakan konektivitas situs-ke-situs ke server sumber lokal Anda dengan menggunakan ExpressRoute atau VPN. Selengkapnya tentang membuat jaringan virtual, lihat Dokumentasi Virtual Network, dan terutama artikel mulai cepat dengan detail langkah demi langkah.

    Catatan

    Selama penyiapan jaringan virtual, jika Anda menggunakan ExpressRoute dengan peering jaringan ke Microsoft, tambahkan titik akhir layanan berikut ke subnet tempat layanan akan diprovisikan:

    • Titik akhir database target (misalnya, titik akhir SQL, titik akhir Cosmos DB, serta sebagainya)
    • Titik akhir penyimpanan
    • Titik akhir bus layanan

    Konfigurasi ini diperlukan karena Azure Database Migration Service tidak memiliki konektivitas internet.

  • Pastikan aturan Kelompok Keamanan Jaringan (NSG) untuk jaringan virtual Anda tidak memblokir port keluar 443 ServiceTag untuk ServiceBus, Storage, dan AzureMonitor. Untuk detail selengkapnya tentang pemfilteran lalu lintas NSG jaringan virtual, lihat artikel Memfilter lalu lintas dengan kelompok keamanan jaringan.

  • Mengonfigurasi Windows Firewall Anda untuk akses mesin database.

  • Membuka firewall Windows Anda untuk mengizinkan Azure Database Migration Service mengakses sumber PostgreSQL Server, yang secara default adalah port TCP 5432.

  • Saat menggunakan perangkat firewall di depan database sumber, Anda mungkin perlu menambahkan aturan firewall untuk mengizinkan Azure Database Migration Service mengakses database sumber untuk migrasi.

  • Membuat aturan firewall tingkat server untuk Azure Database for PostgreSQL agar Azure Database Migration Service dapat mengakses database target. Masukkan rentang subnet jaringan virtual yang digunakan untuk Azure Database Migration Service.

  • Aktifkan replikasi logis di file postgresql.config, dan atur parameter berikut:

    • wal_level = logical
    • max_replication_slots = [number of slots], menyarankan pengaturan ke lima slot
    • max_wal_senders =[jumlah tugas bersamaan] - Parameter max_wal_senders menetapkan jumlah tugas bersamaan yang dapat dijalankan, rekomendasikan pengaturan ke 10 tugas
  • Pengguna harus memiliki peran REPLIKASI pada server yang meng-hosting database sumber.

Penting

Semua tabel dalam database Anda yang ada memerlukan kunci primer untuk memastikan bahwa perubahan dapat disinkronkan ke database target.

Memigrasikan skema sampel

Untuk melengkapi semua objek database seperti skema tabel, indeks, dan prosedur tersimpan, kita perlu mengekstrak skema dari database sumber dan menerapkannya ke database.

  1. Gunakan perintah pg_dump -s untuk membuat file cadangan skema untuk database.

    pg_dump -O -h hostname -U db_username -d db_name -s > your_schema.sql
    

    Misalnya, untuk membuat file cadangan skema untuk database listdb :

    pg_dump -O -h localhost -U postgres -d listdb -s -x > listdbSchema.sql
    

    Untuk informasi selengkapnya tentang menggunakan utilitas pg_dump, lihat contoh dalam tutorial pg-dump.

  2. Buat database kosong di lingkungan target Anda, yaitu Azure Database for PostgreSQL.

    Untuk detail tentang cara menyambungkan dan membuat database, lihat artikel Membuat server Azure Database for PostgreSQL di portal Azure.

  3. Impor skema ke database target yang Anda buat dengan memulihkan file cadangan skema.

    psql -h hostname -U db_username -d db_name < your_schema.sql
    

    Contohnya:

    psql -h mypgserver-20170401.postgres.database.azure.com  -U postgres -d migratedb < listdbSchema.sql
    

    Catatan

    Layanan migrasi secara internal menangani pengaktifan/penonaktifan kunci asing dan pemicu untuk memastikan migrasi data yang andal dan kuat. Sehingga, Anda tidak perlu khawatir untuk membuat perubahan apa pun pada skema database target.

Daftarkan penyedia sumber daya

Daftarkan penyedia sumber daya Microsoft.DataMigration sebelum Anda membuat instans pertama Azure Database Migration Service.

  1. Masuk ke portal Azure. Cari dan pilih Langganan.

    Menampilkan langganan portal

  2. Pilih langganan tempat Anda ingin membuat instans Azure Database Migration Service, lalu pilih Penyedia sumber daya.

    Menampilkan penyedia sumber daya

  3. Cari migrasi, lalu pilih Daftar untuk Microsoft.DataMigration.

    Mendaftarkan penyedia sumber daya

Membuat instans Azure Database Migration Service

  1. Di menu portal Azure atau di halaman Beranda, pilih Buat sumber daya. Cari dan pilih Azure Database Migration Service.

    Azure Marketplace

  2. Di layar Azure Database Migration Service, pilih Buat.

    Membuat instans Azure Database Migration Service

    Pilih jenis server Sumber yang sesuai dan Jenis server target, dan pilih opsi Database Migration Service (Klasik).

    Pilih skenario Database Migration Service (Klasik)

  3. Pada Create Migration Service layar dasar:

    • Pilih langganan.
    • Buat grup sumber daya baru atau pilih grup sumber daya yang sudah ada.
    • Tentukan nama untuk instans Azure Database Migration Service.
    • Pilih lokasi tempat Anda ingin membuat instans Azure Database Migration Service.
    • Pilih Azure sebagai mode layanan.
    • Pilih tingkat harga. Untuk mengetahui informasi selengkapnya tentang tingkat biaya dan harga, lihat halaman harga.

    Mengonfigurasikan pengaturan dasar instans Azure Database Migration Service

    • Pilih Selanjutnya:Jaringan.
  4. Pada layar jaringan Buat Layanan Migrasi:

    • Pilih jaringan virtual yang ada atau buat jaringan virtual baru. Jaringan virtual menyediakan Azure Database Migration Service akses ke server sumber dan instans target. Untuk informasi selengkapnya tentang cara membuat jaringan virtual di portal Microsoft Azure, lihat artikel Membuat jaringan virtual menggunakan portal Microsoft Azure.

    Mengonfigurasikan pengaturan jaringan instans Azure Database Migration Service

    • Pilih Tinjau + Buat untuk meninjau detail dan kemudian pilih Buat untuk membuat layanan.

    • Setelah beberapa saat, instans layanan Azure Database Migration Anda dibuat dan siap digunakan:

    Layanan migrasi dibuat

Membuat proyek migrasi

Setelah layanan dibuat, temukan layanan di portal Azure, buka lalu buat proyek migrasi baru.

  1. Di portal Microsoft Azure, pilih Semua layanan, cari Azure Database Migration Service, lalu pilih Azure Database Migration Services.

    Cuplikan layar Azure Database Migration Service Pencarian.

  2. Pada layar Azure Database Migration Services, cari nama instans Azure Database Migration Service yang Anda buat, pilih instans, lalu pilih + Proyek Migrasi Baru.

    Cuplikan layar Pencarian instans Azure Database Migration Service.

  3. Pada layar Proyek migrasi baru, tentukan nama proyek, di kotak teks Jenis server sumber, pilih PostgreSQL, di kotak teks Jenis server target, pilih Azure Database for PostgreSQL.

  4. Di bagian Jenis aktivitas migrasi , pilih Migrasi data online.

    Cuplikan layar Buat proyek migrasi baru.

    Catatan

    Sebagai alternatif, Anda dapat memilih Hanya buat proyek untuk membuat proyek migrasi sekarang dan menjalankan migrasi nanti.

  5. Pilih Buat dan jalankan aktivitas, agar berhasil menggunakan Azure Database Migration Service untuk memigrasikan data.

Menentukan detail sumber

  1. Pada layar Tambahkan Detail Sumber, tentukan detail koneksi untuk instans PostgreSQL sumber.

    Cuplikan layar Tambahkan detail sumber.

Menentukan detail target

  1. Pada layar Detail target, tentukan detail koneksi untuk Azure Database for PostgreSQL target - Server fleksibel, yang merupakan instans yang telah disediakan sebelumnya tempat skema disebarkan dengan menggunakan pg_dump.

    Cuplikan layar Tambahkan detail target.

  2. Klik Berikutnya:Pilih database, lalu pada layar Pilih database , petakan database sumber dan target untuk migrasi.

    Jika database target berisi nama database yang sama dengan database sumber, Azure Database Migration Service memilih database target secara default.

    Cuplikan layar database peta dengan layar target.

  3. Klik Berikutnya:Pilih tabel, lalu pada layar Pilih tabel , pilih tabel yang diperlukan yang perlu dimigrasikan.

    Cuplikan layar memilih tabel untuk layar migrasi.

  4. Klik Berikutnya:Konfigurasikan pengaturan migrasi, lalu pada layar Konfigurasi pengaturan migrasi , terima nilai default.

    Cuplikan layar mengonfigurasi layar pengaturan migrasi.

  5. Pada layar Ringkasan migrasi , dalam kotak teks Nama aktivitas , tentukan nama untuk aktivitas migrasi, lalu tinjau ringkasan untuk memastikan bahwa detail sumber dan target cocok dengan apa yang Anda tentukan sebelumnya.

    Cuplikan layar ringkasan migrasi.

Menjalankan migrasi

  • Pilih Mulai migrasi.

    Jendela aktivitas migrasi muncul, dan Status aktivitas harus diperbarui untuk ditampilkan sebagai Pencadangan sedang berlangsung.

Memantau migrasi

  1. Pada layar aktivitas migrasi, pilih Refresh untuk memperbarui tampilan hingga Status migrasi ditampilkan sebagai Selesai.

    Cuplikan layar pemantauan migrasi.

  2. Saat migrasi selesai, pada Nama Database, pilih database tertentu untuk masuk ke status migrasi operasi Pemuatan data penuh dan Sinkronisasi data bertambah bertahap.

    Catatan

    Pemuatan data penuh menunjukkan status migrasi pemuatan awal, sementara Sinkronisasi data bertambah bertahap menunjukkan status perubahan pengambilan data (CDC).

    Cuplikan layar detail pemuatan penuh migrasi.

    Cuplikan layar detail beban tambahan migrasi.

Lakukan cutover migrasi

Setelah Pemuatan penuh awal selesai, database ditandai Siap untuk Cutover.

  1. Saat Anda siap menyelesaikan migrasi database, pilih Mulai Cutover.

  2. Tunggu hingga penghitung Perubahan tertunda menampilkan 0 untuk memastikan semua transaksi masuk ke database sumber dihentikan, pilih kotak centang Konfirmasi, lalu pilih Terapkan.

    Cuplikan layar penyelesaian cutover.

  3. Saat status migrasi database menunjukkan Selesai, buat ulang urutan (jika berlaku), dan sambungkan aplikasi Anda ke instans target baru Azure Database for PostgreSQL.

Langkah berikutnya