Merelokasi Azure Database for PostgreSQL ke wilayah lain

Artikel ini membahas panduan relokasi untuk Azure Database for PostgreSQL, Server Tunggal, dan Server Fleksibel di seluruh geografi di mana pasangan wilayah tidak tersedia untuk replikasi dan pemulihan geografis.

Untuk mempelajari cara merelokasi Azure Cosmos DB for PostgreSQL (sebelumnya disebut Azure Database for PostgreSQL - Hyperscale (Citus)), lihat Membaca replika di Azure Cosmos DB for PostgreSQL.

Untuk gambaran umum pasangan wilayah yang didukung oleh replikasi asli, lihat replikasi lintas wilayah.

Prasyarat

Prasyarat hanya berlaku untuk penyebaran ulang dengan data. Untuk memindahkan database tanpa data, Anda bisa melompat ke Persiapan.

  • Untuk merelokasi PostgreSQL dengan data dari satu wilayah ke wilayah lain, Anda harus memiliki sumber daya komputasi tambahan untuk menjalankan alat pencadangan dan pemulihan. Contoh dalam panduan ini menggunakan Azure VM yang menjalankan Ubuntu 20.04 LTS. Sumber daya komputasi harus:
    • Memiliki akses jaringan ke sumber dan server target, baik di jaringan privat atau dengan dimasukkan dalam aturan firewall.
    • Terletak di wilayah sumber atau target.
    • Gunakan Jaringan Dipercepat (jika tersedia).
    • Konten database tidak disimpan ke penyimpanan perantara apa pun; output alat pencadangan logis dikirim langsung ke server target.
  • Bergantung pada desain instans Azure Database for PostgreSQL Anda, sumber daya dependen berikut mungkin perlu disebarkan dan dikonfigurasi di wilayah target sebelum relokasi:

Waktu henti

Untuk memahami kemungkinan waktu henti yang terlibat, lihat Cloud Adoption Framework untuk Azure: Pilih metode relokasi.

Siapkan

Untuk memulai, ekspor templat Resource Manager. Templat ini berisi pengaturan yang menjelaskan namespace Automation Anda.

  1. Masuk ke portal Azure.

  2. Pilih Semua sumber daya lalu pilih sumber daya Automation Anda.

  3. Pilih Ekspor templat.

  4. Pilih Unduh di halaman Ekspor templat.

  5. Temukan file .zip yang Anda unduh dari portal dan buka zip file tersebut ke folder pilihan Anda.

    File zip ini berisi file .json yang menyertakan templat dan skrip untuk menyebarkan templat.

Menyebarkan ulang tanpa data

  1. Sesuaikan parameter templat yang diekspor agar sesuai dengan wilayah tujuan.

Penting

Server target harus berbeda dari nama server sumber. Anda harus mengonfigurasi ulang klien untuk menunjuk ke server baru.

  1. Sebarkan ulang templat ke wilayah baru. Untuk contoh cara menggunakan templat ARM untuk membuat Azure Database for PostgreSQL, lihat Mulai Cepat: Menggunakan templat ARM untuk membuat Azure Database for PostgreSQL - Server Fleksibel.

Menyebarkan ulang dengan data

Penyebaran ulang dengan migrasi data untuk Azure Database for PostgreSQL didasarkan pada pencadangan dan pemulihan logis dan memerlukan alat asli. Akibatnya, Anda dapat mengharapkan waktu henti yang nyata selama pemulihan.

Tip

Anda dapat menggunakan portal Azure untuk merelokasi Azure Database for PostgreSQL - Server Fleksibel. Untuk mempelajari cara melakukan replikasi untuk Server Tunggal, lihat Memindahkan Azure Database for PostgreSQL - Server Fleksibel ke wilayah lain dengan menggunakan portal Azure.

  1. Sesuaikan parameter templat yang diekspor agar sesuai dengan wilayah tujuan.

Penting

Nama server target harus berbeda dari nama server sumber. Anda harus mengonfigurasi ulang klien untuk menunjuk ke server baru.

  1. Sebarkan ulang templat ke wilayah baru. Untuk contoh cara menggunakan templat ARM untuk membuat Azure Database for PostgreSQL, lihat Mulai Cepat: Menggunakan templat ARM untuk membuat Azure Database for PostgreSQL - Server Fleksibel.

  2. Pada sumber daya komputasi yang disediakan untuk migrasi, instal alat klien PostgreSQL untuk versi PostgreSQL yang akan dimigrasikan. Contoh berikut menggunakan PostgreSQL versi 13 pada Azure VM yang menjalankan Ubuntu 20.04 LTS:

      sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
      wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
      sudo apt-get update
      sudo apt-get install -y postgresql-client-13
    

    Untuk informasi selengkapnya tentang penginstalan komponen PostgreSQL di Ubuntu, lihat unduhan Linux (Ubuntu).

    Untuk platform lain, buka Unduhan PostgreSQL.

  3. (Opsional) Jika Anda membuat peran tambahan di server sumber, buat di server target. Untuk mendapatkan daftar peran yang sudah ada, gunakan kueri berikut:

    select *
    from pg_catalog.pg_roles
    where rolename not like 'pg_%' and rolename not in ('azuresu', 'azure_pg_admin', 'replication')
    order by rolename;
    
  4. Untuk memigrasikan setiap database, lakukan langkah-langkah berikut:

    1. Hentikan semua aktivitas database di server sumber.
    2. Ganti informasi kredensial, server sumber, server target, dan nama database dalam skrip berikut:
        export USER=admin_username
        export PGPASSWORD=admin_password
        export SOURCE=pgsql-arpp-source.postgres.database.azure.com
        export TARGET=pgsql-arpp-target.postgres.database.azure.com
        export DATABASE=database_name
        pg_dump -h $SOURCE -U $USER --create --exclude-schema=pg_catalog $DATABASE | psql -h $TARGET -U $USER postgres
    
    1. Untuk memigrasikan database, jalankan skrip.

    2. Konfigurasikan klien untuk menunjuk ke server target.

    3. Lakukan pengujian fungsional pada aplikasi.

      1. Pastikan bahwa ignoreMissingVnetServiceEndpoint bendera diatur ke False, sehingga IaC gagal menyebarkan database saat titik akhir layanan tidak dikonfigurasi di wilayah target.