Bagikan melalui


Tutorial: Memigrasikan RDS PostgreSQL ke Azure DB for PostgreSQL online menggunakan DMS

Penting

Disarankan untuk menggunakan layanan migrasi baru di Azure Database for PostgreSQL untuk pengalaman migrasi yang lebih efisien dan efisien. Layanan ini menyederhanakan proses dengan mendukung berbagai lingkungan sumber, memastikan transisi bebas repot ke Azure Database for PostgreSQL.

Anda dapat menggunakan Azure Database Migration Service to memigrasikan database dari instans RDS PostgreSQL ke Azure Database for PostgreSQL saat database sumber tetap online selama migrasi. Dengan kata lain, migrasi dapat diselesaikan dengan waktu henti minimal ke aplikasi. Dalam tutorial ini, Anda memigrasikan database sampel DVD Rental dari instans RDS PostgreSQL 9.6 ke Azure Database for PostgreSQL menggunakan aktivitas migrasi online di Azure Database Migration Service.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Memigrasikan skema sampel dengan menggunakan utilitas pg_dump.
  • Buat instans Azure Database Migration Service.
  • Membuat proyek migrasi dengan menggunakan Azure Database Migration Service.
  • Menjalankan migrasi.
  • Memantau migrasinya.
  • Melakukan migrasi langsung.

Catatan

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

Penting

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

Tip

Di Azure Database Migration Service, Anda dapat memigrasikan database Anda secara offline atau saat database online. Dalam migrasi offline, waktu henti aplikasi dimulai saat migrasi dimulai. Untuk membatasi waktu henti pada waktu yang diperlukan anda untuk memotong ke lingkungan baru setelah migrasi, gunakan migrasi online . Kami menyarankan agar Anda menguji migrasi offline untuk menentukan apakah waktu henti dapat diterima. Jika waktu henti yang diharapkan tidak dapat diterima, lakukan migrasi online.

Artikel ini menjelaskan cara melakukan migrasi online dari instans PostgreSQL lokal ke Azure Database for PostgreSQL.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda perlu:

  • Mengunduh dan memasang PostgreSQL edisi komunitas 9.5, 9.6, atau 10. Versi Server PostgreSQL sumber harus 9.5.11, 9.6.7, 10, atau yang lebih baru. Untuk informasi selengkapnya, lihat artikel Versi Database PostgreSQL yang Didukung.

    Perhatikan juga bahwa versi Azure Database for PostgreSQL target harus sama dengan atau lebih baru dari versi RDS PostgreSQL. Misalnya, RDS PostgreSQL 9.6 hanya dapat bermigrasi ke Azure Database for PostgreSQL 9.6, 10, atau 11, tetapi tidak ke Azure Database for PostgreSQL 9.5.

  • Membuat instans Azure Database for PostgreSQL atau Azure Database for PostgreSQL - Hyperscale (Citus). Lihat bagian dokumen ini untuk detail tentang cara terhubung ke PostgreSQL Server menggunakan pgAdmin.

  • Buat Microsoft Azure Virtual Network untuk Azure Database Migration Service dengan menggunakan model penyebaran Azure Resource Manager, yang menyediakan konektivitas site-to-site ke server sumber lokal Anda dengan menggunakan ExpressRoute atau VPN. Untuk mengetahui informasi selengkapnya tentang cara membuat jaringan virtual, lihat Dokumentasi Jaringan Virtual, terutama artikel mulai cepat yang disertai detail langkah demi langkah.

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

  • Konfigurasikan Windows Firewall untuk akses mesin database Anda.

  • Buka Windows firewall untuk mengizinkan Azure Database Migration Service mengakses server PostgreSQL sumber, 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 server Azure Database for PostgreSQL guna mengizinkan Azure Database Migration Service mengakses database target. Berikan rentang subnet jaringan virtual yang digunakan untuk Azure Database Migration Service.

Menyiapkan AWS RDS PostgreSQL untuk replikasi

  1. Untuk membuat grup parameter baru, ikuti instruksi yang diberikan oleh AWS di artikel Bekerja dengan Grup Parameter DB.

  2. Gunakan nama pengguna master untuk dapat terhubung ke sumber dari Azure Database Migration Service. Jika Anda menggunakan akun selain akun pengguna master, akun tersebut harus memiliki peran rds_superuser dan peran rds_replication. Peran rds_replication memberikan izin untuk mengelola slot logis dan melakukan streaming data menggunakan slot logis.

  3. Buat grup parameter baru dengan konfigurasi berikut:

    a. Tetapkan parameter rds.logical_replication di grup parameter DB Anda ke 1.

    b. max_wal_senders =[jumlah tugas bersamaan] - Parameter max_wal_senders menetapkan jumlah tugas bersamaan yang dapat dijalankan, merekomendasikan 10 tugas.

    c. max_replication_slots – = [jumlah slot], merekomendasikan penetapan lima slots.

  4. Kaitkan grup parameter yang Anda buat ke instans RDS PostgreSQL.

Memigrasikan skema

  1. Ekstrak skema dari database sumber dan terapkan ke database target untuk menyelesaikan migrasi semua objek database seperti skema tabel, indeks, dan prosedur yang tersimpan.

    Cara termudah untuk hanya memigrasikan skema adalah dengan menggunakan pg_dump dengan opsi -s. Untuk informasi selengkapnya, lihat contoh di tutorial Postgres pg_dump.

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

    Misalnya, untuk membuang file skema database dvdrental, gunakan perintah berikut:

    pg_dump -O -h localhost -U postgres -d dvdrental -s  > dvdrentalSchema.sql
    
  2. Buat database kosong di layanan target, yaitu Azure Database for PostgreSQL. Untuk menghubungkan dan membuat database, lihat salah satu artikel berikut ini:

  3. Impor skema ke layanan target, yaitu Azure Database for PostgreSQL. Untuk memulihkan file cadangan skema, jalankan perintah berikut:

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

    Contoh:

    psql -h mypgserver-20170401.postgres.database.azure.com  -U postgres -d dvdrental < dvdrentalSchema.sql
    

Catatan

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

Mendaftarkan penyedia sumber

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

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

    Tampilkan langganan portal

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

    Tampilkan penyedia sumber daya

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

    Mendaftarkan penyedia sumber daya

Membuat instans Azure Database Migration Service

  1. Di portal Azure, pilih + Buat sumber daya, cari Azure Database Migration Service, lalu pilih Azure Database Migration Service dari daftar drop-down.

    Azure Marketplace

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

    Buat instans Azure Database Migration Service

  3. Pada layar Buat Layanan Migrasi, tentukan nama layanan, langganan, dan grup sumber daya baru atau yang sudah ada.

  4. Pilih lokasi tempat Anda ingin membuat instans Azure Database Migration Service.

  5. Pilih jaringan virtual yang ada atau buat jaringan baru.

    Jaringan virtual menyediakan Azure Database Migration Service dengan akses ke instans PostgreSQL sumber dan instans Azure Database for PostgreSQL target.

    Untuk mengetahui informasi selengkapnya tentang cara membuat jaringan virtual di portal Microsoft Azure, lihat artikel Membuat jaringan virtual menggunakan portal Microsoft Azure.

  6. Pilih tingkat harga; untuk migrasi online ini, pilih tingkat harga Premium: 4vCores.

    Mengonfigurasikan pengaturan instans Azure Database Migration Service

  7. Pilih Buat untuk membuat layanan.

Membuat proyek migrasi

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

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

    Menemukan semua instans Azure Database Migration Service

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

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

  4. Di bagian Pilih jenis aktivitas, pilih Migrasi data online.

    Penting

    Pastikan untuk memilih Migrasi data online; migrasi offline tidak didukung dalam skenario ini.

    Membuat Proyek Database Migration Service

    Catatan

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

  5. Pilih Simpan.

  6. Pilih Buat dan jalankan aktivitas untuk membuat proyek dan menjalankan aktivitas migrasi.

    Catatan

    Harap catat prasyarat yang diperlukan untuk menyiapkan migrasi online di blade pembuatan proyek.

Menentukan detail sumber

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

    Detail Sumber

Tentukan detail target

  1. Pilih Simpan, lalu pada layar Detail target, tentukan detail koneksi untuk server Azure Database for PostgreSQL target, yang telah disediakan dan memiliki skema DVD Rentals yang disebarkan menggunakan pg_dump.

    Detail target

  2. Pilih Simpan, lalu pada layar Petakan ke database target, 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.

    Memetakan ke database target

  3. Pilih Simpan, pada layar Ringkasan migrasi, di kotak teks Nama aktivitas, tentukan nama aktivitas migrasi, lalu tinjau ringkasan untuk memastikan bahwa detail sumber dan target sesuai dengan yang Anda tentukan sebelumnya.

    Ringkasan Migrasi

Menjalankan migrasi

  • Pilih Jalankan migrasi.

    Jendela aktivitas migrasi muncul, dan Status aktivitas menjadi Memulai.

Memantau migrasi

  1. Pada layar aktivitas migrasi, pilih Refresh untuk memperbarui tampilan sampai Status migrasi ditampilkan sebagai Berjalan.

    Status Aktivitas - berjalan

  2. Pada NAMA DATABASE, pilih database tertentu untuk masuk ke status migrasi operasi Pemuatan data penuh dan Sinkronisasi data bertambah bertahap.

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

    Layar inventaris - pemuatan data penuh

    Layar inventaris - sinkronisasi data bertambah bertahap

Lakukan cutover migrasi

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

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

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

    Layar cutover lengkap

  3. Saat status migrasi database menunjukkan Selesai, sambungkan aplikasi Anda ke database Azure Database for PostgreSQL target baru.

Migrasi online Anda dari instans RDS PostgreSQL lokal ke Azure Database for PostgreSQL kini telah selesai.

Langkah berikutnya