arrow_back

Bermigrasi ke Cloud SQL untuk PostgreSQL menggunakan Database Migration Service

Gabung Login
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Bermigrasi ke Cloud SQL untuk PostgreSQL menggunakan Database Migration Service

Lab 1 jam 30 menit universal_currency_alt 1 Kredit show_chart Pengantar
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP918

Lab Mandiri Google Cloud

Ringkasan

Database Migration Service menyediakan opsi tugas satu kali dan berkelanjutan untuk memigrasikan data ke Cloud SQL menggunakan berbagai opsi konektivitas, yang mencakup daftar IP yang diizinkan, peering VPC, dan tunnel SSH terbalik (lihat dokumentasi terkait opsi konektivitas di https://cloud.google.com/database-migration/docs/postgresql/configure-connectivity).

Di lab ini, Anda akan memigrasikan database PostgreSQL mandiri (yang berjalan di virtual machine) ke Cloud SQL untuk PostgreSQL menggunakan tugas Database Migration Service berkelanjutan dan peering VPC untuk konektivitas.

Untuk memigrasikan database melalui Database Migration Service, Anda perlu menyiapkan database sumber, termasuk membuat pengguna khusus dengan hak replikasi, menambahkan ekstensi database pglogical ke database sumber, dan memberikan hak ke schemata dan tabel di database yang akan dimigrasikan, serta memberikan database postgres kepada pengguna tersebut.

Setelah membuat dan menjalankan tugas migrasi, pastikan salinan awal database Anda telah berhasil dimigrasikan ke instance Cloud SQL untuk PostgreSQL. Anda juga akan mempelajari cara tugas migrasi berkelanjutan menerapkan pembaruan data dari database sumber ke instance Cloud SQL. Untuk mengakhiri tugas migrasi, Anda akan mempromosikan instance Cloud SQL menjadi database mandiri untuk pembacaan dan penulisan data.

Tujuan

Di lab ini, Anda akan mempelajari cara mengonfigurasi tugas Database Migration Service berkelanjutan untuk memigrasikan database dari instance PostgreSQL ke Cloud SQL untuk PostgreSQL.

  • Menyiapkan database sumber untuk migrasi.
  • Membuat profil untuk koneksi sumber ke instance PostgreSQL (misalnya PostgreSQL mandiri).
  • Mengonfigurasi konektivitas antara instance database sumber dan tujuan menggunakan peering VPC.
  • Mengonfigurasi aturan akses firewall dan database guna mengizinkan akses ke database sumber untuk migrasi.
  • Membuat, menjalankan, dan memverifikasi tugas migrasi berkelanjutan menggunakan Database Migration Service.
  • Mempromosikan instance tujuan (Cloud SQL untuk PostgreSQL) menjadi database mandiri untuk pembacaan dan penulisan data.

Penyiapan

Sebelum mengklik tombol Mulai Lab

Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer, yang dimulai saat Anda mengklik Start Lab, akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.

Lab praktik ini dapat Anda gunakan untuk melakukan sendiri aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.

Untuk menyelesaikan lab ini, Anda memerlukan:

  • Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
  • Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Jika Anda sudah memiliki project atau akun pribadi Google Cloud, jangan menggunakannya untuk lab ini agar terhindar dari tagihan ekstra pada akun Anda.

Cara memulai lab dan login ke Google Cloud Console

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Di sebelah kiri adalah panel Lab Details dengan berikut ini:

    • Tombol Open Google Console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. Klik Open Google Console. Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Login.

    Tips: Atur tab di jendela terpisah secara berdampingan.

    Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
  3. Jika perlu, salin Username dari panel Lab Details dan tempel ke dialog Sign in. Klik Next.

  4. Salin Password dari panel Lab Details dan tempel ke dialog Welcome. Klik Next.

    Penting: Anda harus menggunakan kredensial dari panel sebelah kiri. Jangan menggunakan kredensial Google Cloud Skills Boost. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  5. Klik halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan daftar uji coba gratis.

Setelah beberapa saat, Cloud Console akan terbuka di tab ini.

Catatan: Anda dapat melihat menu dengan daftar Produk dan Layanan Google Cloud dengan mengklik Menu navigasi di kiri atas. Ikon menu navigasi

Mengaktifkan Cloud Shell

Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.

  1. Klik Activate Cloud Shell Ikon Activate Cloud Shell di bagian atas konsol Google Cloud.

Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Output berisi baris yang mendeklarasikan PROJECT_ID untuk sesi ini:

Project Cloud Platform Anda dalam sesi ini disetel ke YOUR_PROJECT_ID

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

  2. Output Anda sekarang akan terlihat seperti ini:

Output:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net Untuk menyetel akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (Opsional) Anda dapat menampilkan daftar project ID dengan perintah ini:
gcloud config list project

Output:

[core] project = <project_ID>

Contoh output:

[core] project = qwiklabs-gcp-44776a13dea667a6 Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.

Memverifikasi bahwa Database Migration API sudah aktif

  1. Di Konsol Google Cloud, masukkan Database Migration API di kotak penelusuran teratas. Klik hasil untuk Database Migration API.

Halaman ini akan menampilkan informasi status atau memberi opsi untuk mengaktifkan API.

  1. Jika perlu, klik Enable untuk mengaktifkan API.

Memverifikasi bahwa Service Networking API sudah aktif

Service Networking API diperlukan agar dapat mengonfigurasi Cloud SQL untuk mendukung Peering VPC dan koneksi melalui alamat IP pribadi.

  1. Di Konsol Cloud, masukkan Service Networking API di kotak penelusuran teratas. Klik hasil untuk Service Networking API.

Halaman ini akan menampilkan informasi status atau memberi opsi untuk mengaktifkan API.

  1. Jika perlu, aktifkan API.

Tugas 1. Menyiapkan database sumber untuk migrasi

Dalam tugas ini, Anda akan menambahkan fitur dukungan ke database sumber yang diperlukan agar Database Migration Service dapat melakukan migrasi. Tugas tersebut adalah:

  • Menginstal dan mengonfigurasi ekstensi database pglogical.
  • Mengonfigurasi database PostgreSQL mandiri untuk mengizinkan akses dari Cloud Shell dan Cloud SQL.
  • Menambahkan ekstensi database pglogical ke database postgres, orders, dan gmemegen_db pada server mandiri.
  • Membuat pengguna migration_admin (dengan izin Replikasi) untuk migrasi database serta memberikan izin yang diperlukan untuk schemata dan relasi kepada pengguna tersebut.

Mengupgrade database dengan ekstensi pglogical

Pada langkah ini, Anda akan mendownload dan menambahkan ekstensi database pglogical ke database orders dan postgres di Instance VM postgresql-vm.

  1. Di Konsol Google Cloud, pada Navigation menu (Ikon menu navigasi), klik Compute Engine > VM instances.

  2. Dalam entri untuk postgresql-vm, di bagian Connect, klik SSH.

  3. Jika diminta, klik Authorize.

  4. Pada terminal di jendela browser baru, instal ekstensi database pglogical:

sudo apt install postgresql-13-pglogical Catatan: pglogical adalah sistem replikasi logis yang diimplementasikan sepenuhnya sebagai ekstensi PostgreSQL. Sistem ini sepenuhnya terintegrasi dan tidak memerlukan pemicu atau program eksternal. Alternatif replikasi fisik ini merupakan metode replikasi data yang sangat efisien menggunakan model publikasi/langganan untuk replikasi selektif. Baca selengkapnya di sini: https://github.com/2ndQuadrant/pglogical
  1. Download dan terapkan beberapa tambahan ke file konfigurasi PostgreSQL (untuk mengaktifkan ekstensi pglogical) dan mulai ulang layanan postgresql:
sudo su - postgres -c "gsutil cp gs://cloud-training/gsp918/pg_hba_append.conf ." sudo su - postgres -c "gsutil cp gs://cloud-training/gsp918/postgresql_append.conf ." sudo su - postgres -c "cat pg_hba_append.conf >> /etc/postgresql/13/main/pg_hba.conf" sudo su - postgres -c "cat postgresql_append.conf >> /etc/postgresql/13/main/postgresql.conf" sudo systemctl restart postgresql@13-main

Di pg_hba.conf, perintah berikut menambahkan aturan untuk mengizinkan akses ke semua host:

#GSP918 - allow access to all hosts host all all 0.0.0.0/0 md5

Di postgresql.conf, perintah berikut menetapkan konfigurasi minimal untuk pglogical guna mengonfigurasinya agar memproses semua alamat:

#GSP918 - added configuration for pglogical database extension wal_level = logical # minimal, replica, or logical max_worker_processes = 10 # one per database needed on provider node # one per node needed on subscriber node max_replication_slots = 10 # one per node needed on provider node max_wal_senders = 10 # one per node needed on provider node shared_preload_libraries = 'pglogical' max_wal_size = 1GB min_wal_size = 80MB listen_addresses = '*' # what IP address(es) to listen on, '*' is all

Cuplikan kode di atas ditambahkan ke file yang relevan dan layanan PostgreSQL dimulai ulang.

  1. Luncurkan alat psql:
sudo su - postgres psql
  1. Tambahkan ekstensi database pglogical ke database postgres, orders, dan gmemegen_db.
\c postgres; CREATE EXTENSION pglogical; \c orders; CREATE EXTENSION pglogical; \c gmemegen_db; CREATE EXTENSION pglogical;
  1. Lihat daftar database PostgreSQL di server:
\l

Selain database postgresql default, Anda juga dapat melihat database orders dan gmemegen_db yang disediakan untuk lab ini. Anda tidak akan menggunakan database gmemegen_db di lab ini, tetapi database tersebut akan disertakan dalam migrasi untuk digunakan di lab selanjutnya.

List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -------------+----------+----------+---------+---------+----------------------- gmemegen_db | postgres | UTF8 | C.UTF-8 | C.UTF-8 | orders | postgres | UTF8 | C.UTF-8 | C.UTF-8 | postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (5 rows)

Membuat pengguna migrasi database

Pada langkah ini, Anda akan membuat pengguna khusus untuk mengelola migrasi database.

  1. Di psql, masukkan perintah di bawah untuk membuat pengguna baru dengan peran replikasi:
CREATE USER migration_admin PASSWORD 'DMS_1s_cool!'; ALTER DATABASE orders OWNER TO migration_admin; ALTER ROLE migration_admin WITH REPLICATION;

Memberikan izin ke pengguna migrasi

Pada langkah ini, Anda akan memberikan izin yang diperlukan ke pengguna migration_admin agar Database Migration Service dapat memigrasikan database Anda.

  1. Di psql, berikan izin ke skema dan tabel pglogical untuk database postgres.
\c postgres; GRANT USAGE ON SCHEMA pglogical TO migration_admin; GRANT ALL ON SCHEMA pglogical TO migration_admin; GRANT SELECT ON pglogical.tables TO migration_admin; GRANT SELECT ON pglogical.depend TO migration_admin; GRANT SELECT ON pglogical.local_node TO migration_admin; GRANT SELECT ON pglogical.local_sync_status TO migration_admin; GRANT SELECT ON pglogical.node TO migration_admin; GRANT SELECT ON pglogical.node_interface TO migration_admin; GRANT SELECT ON pglogical.queue TO migration_admin; GRANT SELECT ON pglogical.replication_set TO migration_admin; GRANT SELECT ON pglogical.replication_set_seq TO migration_admin; GRANT SELECT ON pglogical.replication_set_table TO migration_admin; GRANT SELECT ON pglogical.sequence_state TO migration_admin; GRANT SELECT ON pglogical.subscription TO migration_admin;
  1. Di psql, berikan izin ke skema dan tabel pglogical untuk database orders.
\c orders; GRANT USAGE ON SCHEMA pglogical TO migration_admin; GRANT ALL ON SCHEMA pglogical TO migration_admin; GRANT SELECT ON pglogical.tables TO migration_admin; GRANT SELECT ON pglogical.depend TO migration_admin; GRANT SELECT ON pglogical.local_node TO migration_admin; GRANT SELECT ON pglogical.local_sync_status TO migration_admin; GRANT SELECT ON pglogical.node TO migration_admin; GRANT SELECT ON pglogical.node_interface TO migration_admin; GRANT SELECT ON pglogical.queue TO migration_admin; GRANT SELECT ON pglogical.replication_set TO migration_admin; GRANT SELECT ON pglogical.replication_set_seq TO migration_admin; GRANT SELECT ON pglogical.replication_set_table TO migration_admin; GRANT SELECT ON pglogical.sequence_state TO migration_admin; GRANT SELECT ON pglogical.subscription TO migration_admin;
  1. Di psql, berikan izin ke skema dan tabel public untuk database orders.
GRANT USAGE ON SCHEMA public TO migration_admin; GRANT ALL ON SCHEMA public TO migration_admin; GRANT SELECT ON public.distribution_centers TO migration_admin; GRANT SELECT ON public.inventory_items TO migration_admin; GRANT SELECT ON public.order_items TO migration_admin; GRANT SELECT ON public.products TO migration_admin; GRANT SELECT ON public.users TO migration_admin;
  1. Di psql, berikan izin ke skema dan tabel pglogical untuk database gmemegen_db.
\c gmemegen_db; GRANT USAGE ON SCHEMA pglogical TO migration_admin; GRANT ALL ON SCHEMA pglogical TO migration_admin; GRANT SELECT ON pglogical.tables TO migration_admin; GRANT SELECT ON pglogical.depend TO migration_admin; GRANT SELECT ON pglogical.local_node TO migration_admin; GRANT SELECT ON pglogical.local_sync_status TO migration_admin; GRANT SELECT ON pglogical.node TO migration_admin; GRANT SELECT ON pglogical.node_interface TO migration_admin; GRANT SELECT ON pglogical.queue TO migration_admin; GRANT SELECT ON pglogical.replication_set TO migration_admin; GRANT SELECT ON pglogical.replication_set_seq TO migration_admin; GRANT SELECT ON pglogical.replication_set_table TO migration_admin; GRANT SELECT ON pglogical.sequence_state TO migration_admin; GRANT SELECT ON pglogical.subscription TO migration_admin;
  1. Di psql, berikan izin ke skema dan tabel public untuk database gmemegen_db.
GRANT USAGE ON SCHEMA public TO migration_admin; GRANT ALL ON SCHEMA public TO migration_admin; GRANT SELECT ON public.meme TO migration_admin;

Database sumber kini siap untuk migrasi. Izin yang Anda berikan ke pengguna migration_admin merupakan semua izin yang diperlukan Database Migration Service untuk memigrasikan database postgres, orders, dan gmemegen_db.

Jadikan pengguna migration_admin sebagai pemilik tabel dalam database orders, sehingga Anda dapat mengedit data sumber nanti saat menguji migrasi.

  1. Di psql, jalankan perintah berikut:
\c orders; \dt ALTER TABLE public.distribution_centers OWNER TO migration_admin; ALTER TABLE public.inventory_items OWNER TO migration_admin; ALTER TABLE public.order_items OWNER TO migration_admin; ALTER TABLE public.products OWNER TO migration_admin; ALTER TABLE public.users OWNER TO migration_admin; \dt List of relations Schema | Name | Type | Owner --------+----------------------+-------+------- public | distribution_centers | table | migration_admin public | inventory_items | table | migration_admin public | order_items | table | migration_admin public | products | table | migration_admin public | users | table | migration_admin (5 rows)
  1. Tutup sesi pengguna psql dan postgres
\q exit

Klik Check my progress untuk memverifikasi tujuan. Menyiapkan instance sumber PostgreSQL untuk migrasi.

Tugas 2. Membuat profil koneksi Database Migration Service untuk database PostgreSQL mandiri

Dalam tugas ini, Anda akan membuat profil koneksi untuk instance sumber PostgreSQL.

Mendapatkan informasi konektivitas untuk instance sumber PostgreSQL

Pada langkah ini, Anda akan mengidentifikasi alamat IP internal instance database sumber yang akan Anda migrasikan ke Cloud SQL.

  1. Di Konsol Google Cloud, pada Navigation menu (Ikon menu navigasi), klik Compute Engine > VM instances.

  2. Cari baris yang berisi instance bernama postgresql-vm.

  3. Salin nilai untuk Internal IP (misalnya, 10.128.0.2).

Membuat profil koneksi baru untuk instance sumber PostgreSQL

Profil koneksi menyimpan informasi tentang instance database sumber (misalnya PostgreSQL mandiri) dan digunakan oleh Database Migration Service untuk memigrasikan data dari sumber ke instance database Cloud SQL tujuan. Setelah dibuat, profil koneksi dapat digunakan kembali di berbagai tugas migrasi.

Pada langkah ini, Anda akan membuat profil koneksi baru untuk instance sumber PostgreSQL.

  1. Di Konsol Google Cloud, pada Navigation menu (Ikon menu navigasi), klik Database Migration > Connection profiles.

  2. Klik + Create Profile.

  3. Untuk Database engine, pilih PostgreSQL.

  4. Untuk Connection profile name, masukkan postgres-vm.

  5. Untuk Hostname or IP address, masukkan IP internal untuk instance sumber PostgreSQL yang Anda salin di tugas sebelumnya (misalnya, 10.128.0.2)

  6. Untuk Port, masukkan 5432.

  7. Untuk Username, masukkan migration_admin.

  8. Untuk Password, masukkan DMS_1s_cool! .

  9. Untuk Region, pilih .

  10. Untuk semua nilai lainnya, gunakan setelan default.

  11. Klik Create.

Profil koneksi baru bernama postgres-vm akan muncul dalam daftar profil Koneksi.

Klik Check my progress untuk memverifikasi tujuan. Membuat profil koneksi untuk instance sumber PostgreSQL.

Tugas 3. Membuat dan memulai tugas migrasi berkelanjutan

Saat membuat tugas migrasi baru, Anda harus menentukan terlebih dahulu instance database sumber menggunakan profil koneksi yang telah dibuat sebelumnya. Kemudian, buat instance database tujuan baru dan konfigurasikan konektivitas antara instance sumber dan tujuan.

Dalam tugas ini, Anda akan memakai antarmuka tugas migrasi guna membuat instance database Cloud SQL untuk PostgreSQL baru dan menetapkannya sebagai tujuan untuk tugas migrasi berkelanjutan dari instance sumber PostgreSQL.

Membuat tugas migrasi berkelanjutan baru

Pada langkah ini, Anda akan membuat tugas migrasi berkelanjutan baru.

  1. Di Konsol Google Cloud, pada Navigation menu (Ikon menu navigasi), klik Database Migration > Migration jobs.

  2. Klik + Create Migration Job.

  3. Untuk Migration job name, masukkan vm-to-cloudsql.

  4. Untuk Source database engine, pilih PostgreSQL.

  5. Untuk Destination region, pilih .

  6. Untuk Destination database engine, pilih Cloud SQL for PostgreSQL.

  7. Untuk Migration job type, pilih Continuous.

Gunakan opsi default untuk setelan lainnya.

  1. Klik Save & Continue.

Menentukan instance sumber

Pada langkah ini, Anda akan menentukan instance sumber untuk migrasi.

  1. Untuk Source connection profile, pilih postgres-vm.

Gunakan opsi default untuk setelan lainnya.

  1. Klik Save & Continue.

Setelah memilih profil koneksi sumber, Anda dapat melihat detail konfigurasinya, termasuk alamat IP atau nama host sumber, port, nama pengguna, dan jenis enkripsi.

Membuat instance tujuan

Pada langkah ini, Anda akan membuat instance tujuan untuk migrasi.

  1. Untuk Destination Instance ID, masukkan postgresql-cloudsql.

  2. Untuk Password, masukkan supersecret!.

  3. Untuk Choose a Cloud SQL edition, pilih edisi Enterprise.

  4. Untuk Database version, pilih Cloud SQL for PostgreSQL 13.

  5. Di bagian Choose region and zone, pilih Single zone, lalu pilih sebagai primary zone.

  6. Untuk Instance connectivity, pilih Private IP dan Public IP.

  7. Pilih Use an automatically allocated IP range.

Gunakan opsi default untuk setelan lainnya.

  1. Klik Allocate & Connect.

Jangan ubah opsi default untuk menggunakan rentang IP yang dialokasikan secara otomatis.

Catatan: Langkah ini mungkin memerlukan waktu beberapa menit. Jika diminta untuk mengirimkan ulang permintaan, klik tombol Retry guna me-refresh Service Networking API.

Setelah langkah ini selesai, pesan baru akan memberi tahu bahwa instance akan menggunakan koneksi layanan terkelola yang ada.

Anda perlu mengedit file pg_hba.conf pada instance VM untuk mengizinkan akses ke rentang IP yang otomatis dibuat pada poin 5 dari langkah sebelumnya. Anda akan melakukan langkah ini nanti sebelum menguji konfigurasi migrasi di akhir tugas ini.

Pesan baru menyatakan bahwa instance akan menggunakan koneksi layanan terkelola yang ada.

Masukkan informasi tambahan yang diperlukan untuk membuat instance tujuan di Cloud SQL.

  1. Untuk Machine shapes, centang 1 vCPU, 3.75 GB

  2. Untuk Storage type, pilih SSD

  3. Untuk Storage capacity, pilih 10 GB

  4. Klik Create & Continue.

Jika diminta untuk mengonfirmasi, klik Create Destination & Continue. Sebuah pesan yang menyatakan bahwa instance database tujuan sedang dibuat akan muncul. Lanjutkan ke langkah berikutnya sambil menunggu.

Menentukan metode konektivitas

Pada langkah ini, Anda akan menentukan metode konektivitas untuk migrasi.

Pesan menyatakan bahwa tombol untuk konfigurasi & lanjutkan akan diaktifkan setelah instance Cloud SQL tujuan dibuat.

  1. Untuk Connectivity method, pilih VPC peering.

  2. Untuk VPC, pilih default.

Peering VPC dikonfigurasi oleh Database Migration Service menggunakan informasi yang disediakan untuk Jaringan VPC (yang merupakan jaringan default dalam contoh ini).

Saat melihat pesan baru yang dibuat instance tujuan, lanjutkan ke langkah berikutnya.

Pesan baru memberi tahu Anda bahwa instance Cloud SQL tujuan telah dibuat.

  1. Klik Configure & Continue.

Mengizinkan akses ke instance postgresql-vm dari rentang IP yang dialokasikan secara otomatis

Pada langkah ini, Anda akan mengedit file konfigurasi PostgreSQL pg_hba.conf untuk mengizinkan Database Migration Service mengakses database PostgreSQL mandiri.

  1. Dapatkan rentang alamat IP yang dialokasikan. Di Konsol Google Cloud, pada Navigation menu (Ikon menu navigasi), klik kanan VPC network > VPC network peering dan buka di tab baru.

  2. Klik entri servicenetworking-googleapis-com.

  3. Di tab Imported routes, pilih dan salin Destination IP range (misalnya 10.107.176.0/24).

  4. Dalam sesi Terminal pada instance VM, edit file pg_hba.conf sebagai berikut:

sudo nano /etc/postgresql/13/main/pg_hba.conf
  1. Pada baris terakhir file:
#GSP918 - allow access to all hosts host all all 0.0.0.0/0 md5

Ganti rentang "all IP addresses" (0.0.0.0/0) dengan rentang yang telah disalin pada poin 3 di atas.

#GSP918 - allow access to all hosts host all all 10.107.176.0/24 md5 Catatan: Langkah di atas tidak diperlukan untuk menjalankan proses migrasi, tetapi berguna demi meningkatkan keamanan database sumber selama proses migrasi. Langkah tersebut juga membatasi akses setelah migrasi saat database yang dimigrasikan menjadi sumber tepercaya.
  1. Simpan dan tutup editor nano dengan Ctrl-O, Enter, Ctrl-X

  2. Mulai ulang layanan PostgreSQL agar perubahan dapat diterapkan. Dalam sesi Terminal instance VM:

sudo systemctl start postgresql@13-main

Menguji dan memulai tugas migrasi berkelanjutan

Pada langkah ini, Anda akan menguji dan memulai tugas migrasi.

  1. Di tab Database Migration Service yang Anda buka sebelumnya, tinjau detail tugas migrasi.

  2. Klik Test Job.

  3. Setelah pengujian berhasil, klik Create & Start Job.

Pastikan untuk mengklik tombol create & start job guna memastikan bahwa tugas berhasil dimulai.

Jika diminta untuk mengonfirmasi, klik Create & Start.

Meninjau status tugas migrasi berkelanjutan

Pada langkah ini, Anda akan mengonfirmasi bahwa tugas migrasi berkelanjutan sedang berjalan.

  1. Di Konsol Google Cloud, pada Navigation menu (Ikon menu navigasi), klik Database Migration > Migration jobs.

  2. Klik tugas migrasi vm-to-cloudsql untuk melihat halaman detail.

  3. Tinjau status tugas migrasi.

    • Jika tugas belum dimulai, statusnya akan ditunjukkan sebagai Not started. Anda dapat memilih untuk memulai atau menghapus tugas.
    • Setelah tugas dimulai, statusnya akan ditunjukkan sebagai Starting, lalu berubah menjadi Running Full dump in progress untuk menunjukkan bahwa dump database awal sedang dalam proses.
    • Setelah dump database awal diselesaikan, statusnya akan berubah menjadi Running CDC in progress untuk menunjukkan bahwa migrasi berkelanjutan sedang aktif.

Ketika status tugas berubah menjadi Running CDC in progress, lanjutkan ke tugas berikutnya.

Tugas migrasi bernama vm-to-cloudsql memiliki status running CDC in progress.

Klik Check my progress untuk memverifikasi tujuan. Membuat, memulai, dan meninjau tugas migrasi berkelanjutan.

Tugas 4. Mengonfirmasi data di Cloud SQL untuk PostgreSQL

Memeriksa database PostgreSQL di Cloud SQL

  1. Di Konsol Google Cloud, pada Navigation menu (Ikon menu navigasi), klik Databases > SQL.

  2. Luaskan ID instance bernama postgresql-cloudsql-master.

  3. Klik instance postgresql-cloudsql (replika baca PostgreSQL).

  4. Pada menu Replica Instance, klik Databases.

Perhatikan bahwa database bernama postgres, orders, dan gmemegen_db telah dimigrasikan ke Cloud SQL.

Database yang telah dimigrasikan di Cloud SQL.

Menghubungkan ke instance PostgreSQL

  1. Pada menu Replica Instance, klik Overview.

  2. Scroll ke bawah ke bagian Connect to this instance, lalu klik Open Cloud Shell.

Perintah untuk menghubungkan ke PostgreSQL akan diisi secara otomatis di Cloud Shell:

gcloud sql connect postgresql-cloudsql --user=postgres --quiet
  1. Jalankan perintah yang telah diisi secara otomatis.

Jika diminta, klik Authorize untuk API.

  1. Saat diminta memasukkan sandi, yang telah Anda tetapkan sebelumnya, masukkan:
supersecret!

Sekarang Anda telah mengaktifkan konsol interaktif PostgreSQL untuk instance tujuan.

Meninjau data di instance Cloud SQL untuk PostgreSQL

  1. Untuk memilih database di konsol interaktif PostgreSQL, jalankan perintah berikut:
\c orders;
  1. Saat diminta memasukkan sandi, masukkan:
supersecret!
  1. Jalankan kueri tabel distribution_centers:
select * from distribution_centers;

(Output)

longitude | latitude | name | id -----------+----------+---------------------------------------------+---- -89.9711 | 35.1174 | Memphis TN | 1 -87.6847 | 41.8369 | Chicago IL | 2 -95.3698 | 29.7604 | Houston TX | 3 -118.25 | 34.05 | Los Angeles CA | 4 -90.0667 | 29.95 | New Orleans LA | 5 -73.7834 | 40.634 | Port Authority of New York/New Jersey NY/NJ | 6 -75.1667 | 39.95 | Philadelphia PA | 7 -88.0431 | 30.6944 | Mobile AL | 8 -79.9333 | 32.7833 | Charleston SC | 9 -81.1167 | 32.0167 | Savannah GA | 10
  1. Tutup konsol interaktif PostgreSQL dengan mengetikkan:
\q

Memperbarui data sumber mandiri untuk menguji migrasi berkelanjutan

  1. Di Cloud Shell, ketik perintah berikut untuk terhubung ke instance PostgreSQL sumber:
export VM_NAME=postgresql-vm export PROJECT_ID=$(gcloud config list --format 'value(core.project)') export POSTGRESQL_IP=$(gcloud compute instances describe ${VM_NAME} \ --zone={{{ project_0.default_zone|(zone) }}} --format="value(networkInterfaces[0].accessConfigs[0].natIP)") echo $POSTGRESQL_IP psql -h $POSTGRESQL_IP -p 5432 -d orders -U migration_admin Catatan: Perintah di atas adalah pendekatan alternatif untuk mengakses database mandiri di instance VM.
  1. Saat diminta memasukkan sandi, masukkan:
DMS_1s_cool!
  1. Di psql, masukkan perintah berikut:
\c orders; insert into distribution_centers values(-80.1918,25.7617,'Miami FL',11);
  1. Tutup sesi psql interaktif:
\q

Menghubungkan ke database PostgreSQL Cloud SQL untuk memeriksa bahwa data yang diperbarui telah dimigrasikan

  1. Di Cloud Shell, ketik perintah berikut untuk terhubung ke instance PostgreSQL Cloud SQL tujuan:
gcloud sql connect postgresql-cloudsql --user=postgres --quiet
  1. Saat diminta memasukkan sandi, yang sudah Anda tetapkan sebelumnya, masukkan sandi untuk instance Cloud SQL:
supersecret!

Sekarang Anda telah mengaktifkan konsol interaktif PostgreSQL untuk instance tujuan.

Meninjau data di database Cloud SQL untuk PostgreSQL

  1. Di Cloud Shell, pilih database aktif di konsol interaktif PostgreSQL:
\c orders;
  1. Saat diminta memasukkan sandi, yang telah Anda tetapkan sebelumnya, masukkan:
supersecret!
  1. Jalankan kueri tabel distribution_centers:
select * from distribution_centers;

(Output)

longitude | latitude | name | id -----------+----------+---------------------------------------------+---- -89.9711 | 35.1174 | Memphis TN | 1 -87.6847 | 41.8369 | Chicago IL | 2 -95.3698 | 29.7604 | Houston TX | 3 -118.25 | 34.05 | Los Angeles CA | 4 -90.0667 | 29.95 | New Orleans LA | 5 -73.7834 | 40.634 | Port Authority of New York/New Jersey NY/NJ | 6 -75.1667 | 39.95 | Philadelphia PA | 7 -88.0431 | 30.6944 | Mobile AL | 8 -79.9333 | 32.7833 | Charleston SC | 9 -81.1167 | 32.0167 | Savannah GA | 10 -80.1918 | 25.7617 | Miami FL | 11

Perhatikan bahwa baris baru yang ditambahkan di database orders mandiri kini berada di database yang dimigrasikan.

  1. Tutup konsol interaktif PostgreSQL:
\q

Klik Check my progress untuk memverifikasi tujuan. Menguji migrasi data berkelanjutan dari sumber ke tujuan.

Tugas 5. Mempromosikan Cloud SQL menjadi instance mandiri untuk pembacaan dan penulisan data

  1. Di Konsol Google Cloud, pada Navigation menu (Ikon menu navigasi), klik Database Migration > Migration jobs.

  2. Klik nama tugas migrasi vm-to-cloudsql untuk melihat halaman detail.

  3. Klik Promote.

Jika diminta untuk mengonfirmasi, klik Promote.

Setelah promosi selesai, status tugas akan diperbarui menjadi Completed.

Tugas migrasi bernama vm-to-cloudsql memiliki status selesai.

  1. Di Konsol Google Cloud, pada Navigation menu (Ikon menu navigasi), klik Databases > SQL.

Perhatikan bahwa postgresql-cloudsql sekarang menjadi instance mandiri untuk pembacaan dan penulisan data.

Instance bernama postgresql-cloudsql diberi label sebagai instance utama.

Klik Check my progress untuk memverifikasi tujuan. Mempromosikan database Cloud SQL untuk PostgreSQL menjadi instance mandiri untuk pembacaan dan penulisan data.

Selamat!

Anda telah mempelajari cara mengonfigurasi tugas Database Migration Service berkelanjutan untuk memigrasikan database dari instance PostgreSQL ke Cloud SQL untuk PostgreSQL.

Sertifikasi dan pelatihan Google Cloud

...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.

Manual Terakhir Diperbarui pada 9 Februari 2024

Lab Terakhir Diuji pada 6 Februari 2024

Hak cipta 2024 Google LLC Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.