Menggunakan migrasi mulai cepat dengan Database Migration Service

Halaman ini menjelaskan cara melakukan migrasi mulai cepat untuk migrasi PostgreSQL homogen ke AlloyDB untuk PostgreSQL.

Ringkasan

Migrasi mulai cepat adalah alur migrasi berkelanjutan ringan untuk skenario PostgreSQL yang homogen. Dengan migrasi mulai cepat, Database Migration Service dapat otomatis menyiapkan semua yang Anda butuhkan untuk memigrasikan database: komponen jaringan (lampiran jaringan, subnet, konfigurasi konektivitas pribadi), profil koneksi, dan tugas migrasi.

Dengan migrasi mulai cepat, Anda dapat memindahkan data ke cluster AlloyDB untuk PostgreSQL yang ada, atau membuat cluster baru saat mengonfigurasi migrasi. Migrasi mulai cepat paling cocok untuk:

  • Migrasi dasar, saat Anda tidak memerlukan kontrol yang akurat atas setelan paralelisme dump data.
  • Memigrasikan database Anda dari satu Google Cloud project ke project lain. Saat mengonfigurasi migrasi mulai cepat, Anda dapat membuat cluster tujuan di project yang berbeda dengan project sumber dan menyetel Database Migration Service untuk membuat lampiran jaringan dan subnet di jaringan Virtual Private Cloud (VPC) project lain.
  • Memigrasikan dari sumber yang memiliki alamat IP pribadi di jaringan Virtual Private Cloud (VPC) Anda Google Cloud, seperti database yang dikelola sendiri di Compute Engine, atau instance Cloud SQL untuk PostgreSQL yang diaktifkan untuk jaringan pribadi.

    Sumber yang dihosting di luar Google Cloud mungkin memerlukan komponen jaringan tambahan (seperti koneksi Cloud VPN) agar dapat dijangkau di alamat IP pribadi dalam jaringan VPC Anda.

  • Satu-satunya metode yang didukung untuk konektivitas database adalah antarmuka Private Service Connect dengan konfigurasi konektivitas pribadi Database Migration Service. Database sumber Anda harus memiliki IP pribadi yang ditetapkan di jaringan VPC. Metode konektivitas sumber homogen lainnya (seperti daftar IP yang diizinkan publik, tunnel SSH terbalik, atau peering VPC) tidak didukung untuk migrasi mulai cepat.

Untuk mempelajari lebih lanjut migrasi mulai cepat, lihat Migrasi mulai cepat dalam dokumentasi Database Migration Service.

Sebelum memulai

  1. Verifikasi apakah migrasi mulai cepat dapat sepenuhnya mendukung skenario Anda. Lihat Batasan migrasi mulai cepat dalam dokumentasi Database Migration Service.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Aktifkan Database Migration Service, Compute Engine, Network Connectivity Center, dan AlloyDB untuk PostgreSQL Admin API.

    Aktifkan API

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk menjalankan migrasi mulai cepat ke AlloyDB untuk PostgreSQL dengan Database Migration Service, minta administrator Anda untuk memberikan peran Identity and Access Management (IAM) yang diperlukan untuk akun yang terlibat dalam migrasi di project yang relevan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses dalam dokumentasi IAM.

Peran dan izin di project sumber

Berikan peran berikut ke akun tertentu di project Google Cloud tempat database sumber Anda berada:

  • Untuk akun pengguna yang melakukan migrasi: Compute Network Admin (roles/compute.networkAdmin)
  • Untuk akun layanan Database Migration Service dari project tujuan: Compute Network Viewer (roles/compute.networkViewer)

    Akun layanan Database Migration Service dibuat untuk Anda saat Anda mengaktifkan Database Migration Service API. Alamat email yang terkait dengan akun ini dibuat secara otomatis dan tidak dapat diubah. Alamat email ini menggunakan format berikut:

    service-DESTINATION_PROJECT_NUMBERservice-DESTINATION_PROJECT_NUMBER@gcp-sa-datamigration.

Peran bawaan ini berisi izin yang diperlukan untuk menyiapkan konektivitas di project database sumber Anda sebagai bagian dari migrasi mulai cepat dengan Database Migration Service. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan (sumber):

Izin yang diperlukan (sumber)

Izin berikut diperlukan untuk melakukan migrasi mulai cepat homogen dengan Database Migration Service:

Untuk akun pengguna yang melakukan migrasi:

  • compute.networks.*
  • compute.subnetworks.*
  • compute.networkAttachments.*

Untuk akun layanan Database Migration Service dari project tujuan: compute.networkAttachments.get.

Peran dan izin di project tujuan

Berikan peran berikut kepada akun pengguna yang melakukan migrasi di project Google Cloud tempat database tujuan Anda berada:

Peran bawaan ini berisi izin yang diperlukan untuk menyiapkan komponen migrasi yang diperlukan di project database tujuan sebagai bagian dari migrasi mulai cepat dengan Database Migration Service. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan (tujuan):

Izin yang diperlukan (tujuan)

Izin berikut diperlukan untuk melakukan migrasi mulai cepat homogen dengan Database Migration Service:

  • datamigration.*
  • alloydb.clusters.create
  • alloydb.clusters.get
  • alloydb.clusters.list
  • alloydb.clusters.update
  • alloydb.clusters.delete
  • alloydb.instances.create
  • alloydb.instances.get
  • alloydb.instances.list
  • alloydb.instances.update
  • alloydb.instances.delete
  • alloydb.instances.executeSql
  • alloydb.operations.get
  • alloydb.users.list
  • alloydb.users.get
  • alloydb.users.create
  • alloydb.users.update
  • alloydb.users.delete

Mengonfigurasi database sumber

Untuk mengonfigurasi database PostgreSQL sumber, lakukan hal berikut:

  1. Buat akun pengguna migrasi khusus di instance Anda.
    • Untuk sumber Cloud SQL untuk PostgreSQL, lihat Membuat pengguna dalam dokumentasi Cloud SQL.
    • Untuk sumber lainnya, lihat dokumentasi penyedia database Anda atau buat dan kelola pengguna dalam dokumentasi PostgreSQL.
  2. Tetapkan hak istimewa yang diperlukan ke akun pengguna migrasi khusus. Jalankan perintah berikut untuk setiap database yang ingin Anda migrasikan:
    -- Grant the REPLICATION attribute
    ALTER ROLE MIGRATION_USER REPLICATION;
    
    -- Grant database-level permissions.
    -- Repeat for each database you want to migrate.
    GRANT CONNECT, CREATE ON DATABASE DATABASE_NAME TO MIGRATION_USER;
    
    -- Grant schema-level usage.
    -- Repeat for each schema in each database you want to migrate.
    GRANT USAGE ON SCHEMA SCHEMA_NAME TO MIGRATION_USER;

    Ganti kode berikut:

    • MIGRATION_USER dengan nama akun pengguna migrasi.
    • DATABASE_NAME dengan nama database yang ingin Anda migrasikan.
    • SCHEMA_NAME dengan nama skema di database yang ingin Anda migrasikan.
  3. Akun pengguna migrasi harus memiliki akses kepemilikan ke tabel yang Anda migrasikan. Untuk memberikan tingkat akses ini, lakukan salah satu tindakan berikut:
    • Khusus untuk sumber selain Cloud SQL untuk PostgreSQL: Tetapkan SUPERUSER peran PostgreSQL ke akun migrasi.
    • Untuk semua sumber: Tambahkan akun pengguna migrasi ke grup pengguna yang memiliki tabel. Jalankan perintah berikut:
      -- Grant table ownership.
      GRANT TABLE_OWNER_GROUP_NAME TO MIGRATION_USER;

      Ganti kode berikut:

      • TABLE_OWNER_GROUP_NAME dengan nama grup pengguna yang memiliki setiap tabel yang ingin Anda migrasikan.
      • MIGRATION_USER dengan nama akun pengguna migrasi.
  4. Untuk tabel yang tidak memiliki kunci utama: Database Migration Service tidak mereplikasi operasi UPDATE atau DELETE untuk tabel tanpa kunci utama selama fase Pengambilan Data Perubahan (CDC). Jika Anda ingin menyertakan operasi tersebut dalam replikasi, ubah tabel tanpa kunci utama dengan REPLICA IDENTITY:
    ALTER TABLE TABLE_NAME REPLICA IDENTITY FULL;
    ALTER TABLE TABLE_NAME REPLICA IDENTITY USING INDEX INDEX_NAME;

    Ganti kode berikut:

    • TABLE_NAME adalah nama tabel yang tidak memiliki kunci utama.
    • INDEX_NAME adalah indeks unik yang dapat melacak baris dari tabel tanpa kunci utama.
  5. Konfigurasi setelan replikasi menggunakan flag database.

    Sumber yang dikelola sendiri

    Menyimpan perubahan pada flag database memerlukan restart database penuh. Contoh berikut menggunakan kueri SQL untuk mengubah nilai flag. Jika Anda tidak dapat menjalankan kueri SQL secara langsung, lihat dokumentasi penyedia Anda untuk mengetahui langkah-langkah tentang cara mengubah tanda ini.

    1. Tetapkan wal_level parameter ke logical. Jalankan perintah berikut:
      ALTER SYSTEM SET wal_level = 'logical';
    2. Tetapkan parameter wal_sender_timeout ke 0. Nilai ini menonaktifkan mekanisme waktu tunggu yang digunakan untuk menghentikan koneksi replikasi yang tidak aktif. Jalankan perintah berikut:
      ALTER SYSTEM SET wal_sender_timeout = 0;
          
    3. Konfigurasi jumlah maksimum slot replikasi dengan parameter max_replication_slots. Parameter ini harus disetel ke setidaknya jumlah database yang Anda migrasikan per tugas migrasi, ditambah beberapa cadangan untuk sinkronisasi tabel.

      Misalnya, jika Anda memigrasikan 5 database dan ada 2 tugas migrasi yang dibuat untuk instance sumber, jumlah slot replikasi harus minimal 5 * 2 = 10, ditambah jumlah slot replikasi yang sudah Anda gunakan.

      Untuk menetapkan parameter ini, jalankan perintah berikut:

      ALTER SYSTEM SET max_replication_slots = NUMBER_OF_SLOTS;
          
      Dengan NUMBER_OF_SLOTS mewakili jumlah maksimum slot replikasi.
    4. Konfigurasi parameter max_wal_senders agar setidaknya sama dengan nilai max_replication_slots, ditambah jumlah pengirim yang sudah digunakan di instance Anda.

      Misalnya, jika parameter max_replication_slots ditetapkan ke 10, dan Anda sudah menggunakan 2 pengirim, jumlah proses pengirim WAL yang berjalan pada saat yang sama adalah 10 + 2 = 12.

      Untuk menetapkan parameter ini, jalankan perintah berikut:

      ALTER SYSTEM SET max_wal_senders = NUMBER_OF_SENDERS;
          
      Dengan NUMBER_OF_SENDERS mewakili jumlah proses pengirim WAL yang berjalan secara bersamaan.
    5. Tetapkan max_worker_processes ke setidaknya jumlah database yang ingin Anda migrasikan, ditambah jumlah max_worker_processes yang sudah digunakan di instance Anda. Untuk menetapkan parameter ini, jalankan perintah berikut:
      ALTER SYSTEM SET max_worker_processes = NUMBER_OF_PROCESSES;
          
      Dengan NUMBER_OF_PROCESSES mewakili jumlah database yang akan dimigrasikan.

    Sumber Cloud SQL untuk PostgreSQL

    Untuk sumber Cloud SQL, Anda mengonfigurasi flag database di konsol Google Cloud . Anda harus memulai ulang instance setelah mengubah flag database agar setelan diterapkan. Untuk mengetahui informasi selengkapnya tentang cara menyetel flag database di Cloud SQL, lihat Mengonfigurasi flag database dalam dokumentasi Cloud SQL.

    1. Tetapkan flag cloudsql.logical_decoding ke on.
    2. Tetapkan parameter wal_sender_timeout ke 0. Nilai ini menonaktifkan mekanisme waktu tunggu yang digunakan untuk menghentikan koneksi replikasi yang tidak aktif.
    3. Konfigurasi jumlah maksimum slot replikasi dengan parameter max_replication_slots. Parameter ini harus disetel ke setidaknya jumlah database yang Anda migrasikan per tugas migrasi, ditambah beberapa cadangan untuk sinkronisasi tabel.

      Misalnya, jika Anda memigrasikan 5 database dan ada 2 tugas migrasi yang dibuat untuk instance sumber, jumlah slot replikasi harus minimal 5 * 2 = 10, ditambah jumlah slot replikasi yang sudah Anda gunakan.

    4. Konfigurasi parameter max_wal_senders agar setidaknya memiliki nilai yang sama dengan max_replication_slots, ditambah jumlah pengirim yang sudah digunakan di instance Anda.

      Misalnya, jika parameter max_replication_slots ditetapkan ke 10, dan Anda sudah menggunakan 2 pengirim, jumlah proses pengirim WAL yang berjalan pada saat yang sama adalah 10 + 2 = 12.

    5. Tetapkan max_worker_processes ke setidaknya jumlah database yang ingin Anda migrasikan, ditambah jumlah max_worker_processes yang sudah digunakan di instance Anda.

Membuat dan menjalankan migrasi mulai cepat

Saat menggunakan migrasi mulai cepat, Anda dapat membuat cluster AlloyDB untuk PostgreSQL baru dan memigrasikan database Anda ke sana, atau memigrasikan database ke cluster yang sudah ada.

Migrasi mulai cepat untuk cluster baru

Untuk membuat cluster AlloyDB untuk PostgreSQL baru dan segera memigrasikan database Anda ke sana, ikuti langkah-langkah berikut:

Konsol

  1. Buka halaman Clusters.

    Buka Clusters

  2. Klik Create cluster > From an existing database

    Formulir migrasi mulai cepat Database Migration Service akan terbuka.

  3. Di bagian Configure migration, lakukan hal berikut:
    1. Dari menu Destination region, pilih region cluster AlloyDB untuk PostgreSQL tujuan Anda.
    2. Di kotak Awalan migrasi, masukkan string yang akan ditambahkan ke nama semua entitas migrasi yang dibuat untuk migrasi mulai cepat: profil koneksi, konfigurasi konektivitas pribadi, lampiran jaringan dan subnetnya, serta tugas migrasi.
    3. Dari menu Configuration type, pilih salah satu berikut:
      1. Konfigurasi konektivitas yang ada: Pilih opsi ini jika Anda sudah memiliki network attachment dan konfigurasi konektivitas pribadi yang menggunakan metode antarmuka Private Service Connect. Opsi ini paling baik digunakan jika sebelumnya Anda menggunakan migrasi mulai cepat dan ingin menggunakan kembali resource jaringan yang sama.
      2. Konfigurasi konektivitas baru: Pilih opsi ini untuk membuat network attachment baru dan subnet network attachment di jaringan VPC database sumber. Konfigurasi konektivitas pribadi akan dibuat di project yang sama dengan cluster tujuan Anda.
    4. Klik Lanjutkan.
  4. Di bagian Hubungkan sumber, lakukan hal berikut:
    1. Masukkan Nama host atau alamat IP pribadi dari database sumber Anda. Alamat database sumber harus dapat dijangkau dari jaringan VPC sumber Anda.
    2. Masukkan Port yang digunakan untuk mengakses host. Nomor port PostgreSQL default adalah 5432.
    3. Masukkan nama pengguna dan sandi untuk akun migrasi khusus di database sumber Anda.
    4. Dari menu Encryption type, pilih salah satu opsi berikut:
      • Tidak Ada: Jika database sumber Anda tidak memerlukan koneksi yang dienkripsi SSL/TLS.
      • Wajib: Jika database sumber Anda memerlukan koneksi terenkripsi SSL/TLS. Opsi ini tidak memerlukan verifikasi sertifikat apa pun.
    5. Di menu Databases to migrate, klik Customize. Gunakan panel samping untuk memilih hanya database yang ingin Anda migrasikan ke AlloyDB untuk PostgreSQL.
    6. Klik Lanjutkan.
  5. Di bagian Konfigurasi tujuan, lakukan tindakan berikut:
    1. Dari menu Destination instance type, pilih New cluster.

      Database Migration Service menggunakan konfigurasi AlloyDB untuk PostgreSQL default untuk cluster baru. Klik Sesuaikan untuk menyesuaikan fitur cluster, seperti jenis mesin, ketersediaan zona, atau setelan perlindungan data. Untuk mengetahui informasi selengkapnya tentang konfigurasi cluster, lihat Membuat cluster dan instance utamanya.

    2. Di kolom Sandi, masukkan sandi untuk pengguna admin postgresql default. Database Migration Service terhubung sebagai pengguna ini untuk memigrasikan data Anda.
  6. Klik Mulai migrasi.

    Database Migration Service kini membuat tugas migrasi dan memulai proses migrasi. Anda dapat memantau progres migrasi, serta kondisi cluster tujuan di AlloyDB untuk PostgreSQL. Untuk mengetahui informasi selengkapnya, lihat Melihat informasi cluster.

gcloud

Untuk menggunakan gcloud CLI guna bermigrasi ke cluster AlloyDB baru, lakukan langkah-langkah berikut:

  1. Buat resource lampiran jaringan.
    Buat lampiran jaringan di project dan jaringan Virtual Private Cloud tempat database sumber Anda berada:

    gcloud compute network-attachments create NETWORK_ATTACHMENT \
      --region=REGION \
      --connection-preference=ACCEPT_MANUAL \
      --producer-accept-list=DEST_PROJECT_ID \
      --subnets=default \
      --project=SOURCE_PROJECT_ID

    Ganti kode berikut:

    • NETWORK_ATTACHMENT: Nama lampiran jaringan yang akan dibuat.
    • REGION: Region untuk lampiran jaringan.
    • DEST_PROJECT_ID: Project ID project tujuan Anda.
    • SOURCE_PROJECT_ID: Project ID tempat jaringan sumber berada.
  2. Izinkan project tenant Database Migration Service mengakses lampiran jaringan.
    Ambil ID project tenant dengan menjalankan pemeriksaan validasi, lalu perbarui daftar penerimaan lampiran jaringan untuk menyertakannya:

    1. Lakukan pemeriksaan validasi untuk mengambil project ID tenant:

      gcloud database-migration private-connections create PRIVATE_CONN \
        --region=REGION \
        --network-attachment=NETWORK_ATTACHMENT_URI \
        --display-name=PRIVATE_CONN \
        --format="value(metadata.metadata.tenant_project_id)" \
        --validate-only

      Ganti kode berikut:

      • PRIVATE_CONN: Nama resource koneksi pribadi.
      • REGION: Region untuk koneksi pribadi.
      • NETWORK_ATTACHMENT_URI: URI network attachment yang dibuat pada langkah sebelumnya. Contoh, projects/SOURCE_PROJECT_ID/regions/REGION/networkAttachments/NETWORK_ATTACHMENT.
    2. Perbarui lampiran jaringan dengan DMS_TENANT_ID yang diambil:

      gcloud compute network-attachments update NETWORK_ATTACHMENT \
        --region=REGION \
        --producer-accept-list=DEST_PROJECT_ID,DMS_TENANT_ID \
        --project=SOURCE_PROJECT_ID

      Ganti kode berikut:

      • NETWORK_ATTACHMENT: Nama lampiran jaringan.
      • REGION: Region.
      • DEST_PROJECT_ID: Project ID project tujuan Anda.
      • DMS_TENANT_ID: ID project tenant Database Migration Service yang diambil.
      • SOURCE_PROJECT_ID: Project ID tempat jaringan sumber berada.
  3. Buat konfigurasi konektivitas pribadi.
    Buat koneksi pribadi di project tujuan:

    gcloud database-migration private-connections create PRIVATE_CONN \
      --region=REGION \
      --network-attachment=NETWORK_ATTACHMENT_URI \
      --display-name=PRIVATE_CONN

    Ganti kode berikut:

    • PRIVATE_CONN: Nama resource koneksi pribadi.
    • REGION: Region untuk koneksi pribadi.
    • NETWORK_ATTACHMENT_URI: URI lampiran jaringan.
  4. Buat profil koneksi sumber.
    Buat profil koneksi untuk database PostgreSQL sumber:

    gcloud database-migration connection-profiles create postgresql SOURCE_CONN_ID \
      --region=REGION \
      --role=SOURCE \
      --host=SOURCE_PRIVATE_IP \
      --port=SOURCE_PORT \
      --username=SOURCE_USER \
      --password=SOURCE_PASSWORD \
      --private-connection=PRIVATE_CONN \
      --no-async

    Ganti kode berikut:

    • SOURCE_CONN_ID: ID profil koneksi sumber.
    • REGION: Region tempat Anda ingin menyimpan profil koneksi.
    • SOURCE_PRIVATE_IP: Alamat IP pribadi database sumber Anda.
    • SOURCE_PORT: Port database sumber Anda (defaultnya adalah 5432).
    • SOURCE_USER: Nama pengguna pengguna migrasi di database sumber Anda.
    • SOURCE_PASSWORD: Sandi pengguna migrasi di database sumber Anda.
    • PRIVATE_CONN: Nama resource koneksi pribadi.
  5. Buat cluster AlloyDB tujuan.
    Buat cluster tujuan dan instance utamanya. Untuk mengetahui petunjuk mendetail, lihat halaman Membuat cluster dan instance utamanya.

  6. Buat profil koneksi tujuan.
    Buat profil koneksi tujuan yang mengarah ke cluster AlloyDB yang baru dibuat:

    gcloud database-migration connection-profiles create postgresql DEST_CONN_ID \
      --region=REGION \
      --alloydb-cluster=DEST_CLUSTER \
      --username=DEST_USER \
      --password=DEST_PASSWORD \
      --role=DESTINATION \
      --no-async

    Ganti kode berikut:

    • DEST_CONN_ID: ID profil koneksi tujuan.
    • REGION: Region tempat Anda ingin menyimpan profil koneksi. Region ini harus sama dengan region cluster tujuan Anda.
    • DEST_CLUSTER: ID atau jalur resource lengkap cluster AlloyDB untuk PostgreSQL tujuan Anda.
    • DEST_USER: Nama pengguna pengguna migrasi di database tujuan Anda.
    • DEST_PASSWORD: Sandi untuk pengguna migrasi di database tujuan.
  7. Buat tugas migrasi.
    Buat tugas migrasi berkelanjutan dengan replikasi native diaktifkan:

    gcloud database-migration migration-jobs create MIGRATION_JOB_ID \
      --region=REGION \
      --type=CONTINUOUS \
      --source=SOURCE_CONN_ID \
      --destination=DEST_CONN_ID \
      --use-postgres-native \
      --postgres-max-additional-subscriptions=10 \
      --databases-filter=DATABASES_LIST \
      --no-async

    Ganti kode berikut:

    • MIGRATION_JOB_ID: ID tugas migrasi Anda.
    • REGION: Region tempat Anda ingin menyimpan tugas migrasi.
    • SOURCE_CONN_ID: ID profil koneksi sumber.
    • DEST_CONN_ID: ID profil koneksi tujuan.
    • DATABASES_LIST: Daftar database yang dipisahkan koma yang ingin Anda migrasikan.
  8. Mulai tugas migrasi.
    Mulai tugas migrasi untuk memulai alur replikasi:

    gcloud database-migration migration-jobs start MIGRATION_JOB_ID \
      --region=REGION

    Ganti kode berikut:

    • MIGRATION_JOB_ID: ID tugas migrasi.
    • REGION: Region tempat tugas migrasi berada.

Migrasi mulai cepat untuk cluster yang ada

Untuk memigrasikan database ke cluster AlloyDB untuk PostgreSQL yang ada, ikuti langkah-langkah berikut:

Konsol

  1. Buka halaman Clusters.

    Buka Clusters

  2. Pilih cluster AlloyDB untuk PostgreSQL tempat Anda ingin memigrasikan database Anda.
  3. Di halaman detail cluster, klik Migrasikan data.
  4. Di panel Migrasikan data, klik Migrasikan database.

    Formulir migrasi mulai cepat Database Migration Service akan terbuka.

  5. Di bagian Configure migration, lakukan hal berikut:
    1. Dari menu Destination region, pilih region cluster AlloyDB untuk PostgreSQL tujuan Anda.
    2. Di kotak Awalan migrasi, masukkan string yang akan ditambahkan ke nama semua entitas migrasi yang dibuat untuk migrasi mulai cepat: profil koneksi, konfigurasi konektivitas pribadi, lampiran jaringan dan subnetnya, serta tugas migrasi.
    3. Dari menu Configuration type, pilih salah satu berikut:
      1. Konfigurasi konektivitas yang ada: Pilih opsi ini jika Anda sudah memiliki network attachment dan konfigurasi konektivitas pribadi yang menggunakan antarmuka Private Service Connect di jaringan VPC database sumber. Opsi ini paling baik digunakan jika sebelumnya Anda menggunakan migrasi mulai cepat dan ingin menggunakan kembali resource jaringan yang sama.
      2. Konfigurasi konektivitas baru: Pilih opsi ini untuk membuat lampiran jaringan, subnet lampiran jaringan, dan konfigurasi konektivitas pribadi baru di jaringan VPC database sumber.
  6. Di bagian Hubungkan sumber, lakukan hal berikut:
    1. Masukkan Nama host atau alamat IP pribadi dari database sumber Anda. Alamat database sumber harus dapat dijangkau dari jaringan VPC sumber Anda.
    2. Masukkan Port yang digunakan untuk mengakses host. Port PostgreSQL default adalah 5432.
    3. Masukkan nama pengguna dan sandi untuk akun migrasi khusus di database sumber Anda.
    4. Dari menu Encryption type, pilih salah satu opsi berikut:
      • Tidak Ada: Jika database sumber Anda tidak memerlukan koneksi yang dienkripsi SSL/TLS.
      • Wajib: Jika database sumber Anda memerlukan koneksi terenkripsi SSL/TLS. Opsi ini tidak memerlukan verifikasi sertifikat apa pun.
    5. Di menu Databases to migrate, klik Customize. Gunakan panel samping untuk memilih hanya database yang ingin Anda migrasikan ke AlloyDB untuk PostgreSQL.
  7. Klik Mulai migrasi.

    Database Migration Service kini membuat tugas migrasi dan memulai proses migrasi. Anda dapat memantau progres migrasi, serta kondisi cluster tujuan di AlloyDB untuk PostgreSQL. Untuk mengetahui informasi selengkapnya, lihat Melihat informasi cluster.

gcloud

Untuk menggunakan gcloud CLI guna bermigrasi ke cluster AlloyDB yang ada, lakukan langkah-langkah berikut:

  1. Buat resource lampiran jaringan.
    Buat network attachment di project dan jaringan VPC tempat database sumber Anda berada:

    gcloud compute network-attachments create NETWORK_ATTACHMENT \
      --region=REGION \
      --connection-preference=ACCEPT_MANUAL \
      --producer-accept-list=DEST_PROJECT_ID \
      --subnets=default \
      --project=SOURCE_PROJECT_ID

    Ganti kode berikut:

    • NETWORK_ATTACHMENT: Nama lampiran jaringan yang akan dibuat.
    • REGION: Region untuk lampiran jaringan.
    • DEST_PROJECT_ID: Project ID project tujuan Anda.
    • SOURCE_PROJECT_ID: Project ID tempat jaringan sumber berada.
  2. Izinkan project tenant Database Migration Service mengakses lampiran jaringan.
    Ambil ID project tenant dengan menjalankan pemeriksaan validasi, lalu perbarui daftar penerimaan lampiran jaringan untuk menyertakannya:

    1. Lakukan pemeriksaan validasi untuk mengambil project ID tenant:

      gcloud database-migration private-connections create PRIVATE_CONN \
        --region=REGION \
        --network-attachment=NETWORK_ATTACHMENT_URI \
        --display-name=PRIVATE_CONN \
        --format="value(metadata.metadata.tenant_project_id)" \
        --validate-only

      Ganti kode berikut:

      • PRIVATE_CONN: Nama resource koneksi pribadi.
      • REGION: Region untuk koneksi pribadi.
      • NETWORK_ATTACHMENT_URI: URI network attachment yang dibuat pada langkah sebelumnya. Contoh, projects/SOURCE_PROJECT_ID/regions/REGION/networkAttachments/NETWORK_ATTACHMENT.
    2. Perbarui lampiran jaringan dengan DMS_TENANT_ID yang diambil:

      gcloud compute network-attachments update NETWORK_ATTACHMENT \
        --region=REGION \
        --producer-accept-list=DEST_PROJECT_ID,DMS_TENANT_ID \
        --project=SOURCE_PROJECT_ID

      Ganti kode berikut:

      • NETWORK_ATTACHMENT: Nama lampiran jaringan.
      • REGION: Region.
      • DEST_PROJECT_ID: Project ID project tujuan Anda.
      • DMS_TENANT_ID: ID project tenant Database Migration Service yang diambil.
      • SOURCE_PROJECT_ID: Project ID tempat jaringan sumber berada.
  3. Buat konfigurasi konektivitas pribadi.
    Buat koneksi pribadi di project tujuan:

    gcloud database-migration private-connections create PRIVATE_CONN \
      --region=REGION \
      --network-attachment=NETWORK_ATTACHMENT_URI \
      --display-name=PRIVATE_CONN

    Ganti kode berikut:

    • PRIVATE_CONN: Nama resource koneksi pribadi.
    • REGION: Region untuk koneksi pribadi.
    • NETWORK_ATTACHMENT_URI: URI lampiran jaringan.
  4. Buat profil koneksi sumber.
    Buat profil koneksi untuk database PostgreSQL sumber:

    gcloud database-migration connection-profiles create postgresql SOURCE_CONN_ID \
      --region=REGION \
      --role=SOURCE \
      --host=SOURCE_PRIVATE_IP \
      --port=SOURCE_PORT \
      --username=SOURCE_USER \
      --password=SOURCE_PASSWORD \
      --private-connection=PRIVATE_CONN \
      --no-async

    Ganti kode berikut:

    • SOURCE_CONN_ID: ID profil koneksi sumber.
    • REGION: Region tempat Anda ingin menyimpan profil koneksi.
    • SOURCE_PRIVATE_IP: Alamat IP pribadi database sumber Anda.
    • SOURCE_PORT: Port database sumber Anda (defaultnya adalah 5432).
    • SOURCE_USER: Nama pengguna pengguna migrasi di database sumber Anda.
    • SOURCE_PASSWORD: Sandi pengguna migrasi di database sumber Anda.
    • PRIVATE_CONN: Nama resource koneksi pribadi.
  5. Buat profil koneksi tujuan.
    Buat profil koneksi tujuan yang mengarah ke cluster AlloyDB tujuan yang telah dibuat sebelumnya:

    gcloud database-migration connection-profiles create postgresql DEST_CONN_ID \
      --region=REGION \
      --alloydb-cluster=DEST_CLUSTER \
      --username=DEST_USER \
      --password=DEST_PASSWORD \
      --role=DESTINATION \
      --no-async

    Ganti kode berikut:

    • DEST_CONN_ID: ID profil koneksi tujuan.
    • REGION: Region tempat Anda ingin menyimpan profil koneksi. Region ini harus sama dengan region cluster tujuan Anda.
    • DEST_CLUSTER: ID atau jalur resource lengkap cluster AlloyDB untuk PostgreSQL tujuan Anda.
    • DEST_USER: Nama pengguna pengguna migrasi di database tujuan Anda.
    • DEST_PASSWORD: Sandi untuk pengguna migrasi di database tujuan.
  6. Buat tugas migrasi.
    Buat tugas migrasi berkelanjutan dengan replikasi native diaktifkan:

    gcloud database-migration migration-jobs create MIGRATION_JOB_ID \
      --region=REGION \
      --type=CONTINUOUS \
      --source=SOURCE_CONN_ID \
      --destination=DEST_CONN_ID \
      --use-postgres-native \
      --postgres-max-additional-subscriptions=10 \
      --databases-filter=DATABASES_LIST \
      --no-async

    Ganti kode berikut:

    • MIGRATION_JOB_ID: ID tugas migrasi Anda.
    • REGION: Region tempat Anda ingin menyimpan tugas migrasi.
    • SOURCE_CONN_ID: ID profil koneksi sumber.
    • DEST_CONN_ID: ID profil koneksi tujuan.
    • DATABASES_LIST: Daftar database yang dipisahkan koma yang ingin Anda migrasikan.
  7. Mulai tugas migrasi.
    Mulai tugas migrasi untuk memulai alur replikasi:

    gcloud database-migration migration-jobs start MIGRATION_JOB_ID \
      --region=REGION

    Ganti kode berikut:

    • MIGRATION_JOB_ID: ID tugas migrasi.
    • REGION: Region tempat tugas migrasi berada.

Menyelesaikan migrasi

Saat Anda memutuskan untuk mengalihkan aplikasi ke instance AlloyDB untuk PostgreSQL yang baru, selesaikan migrasi dengan mengikuti langkah-langkah berikut:

  1. Hentikan semua operasi penulisan di database sumber Anda. Anda dapat mengalihkannya ke mode hanya baca untuk mempertahankan fungsi operasional.
  2. Mempromosikan tugas migrasi.
  3. Opsional: Verifikasi kelengkapan data migrasi.

Langkah berikutnya