Petunjuk dan persyaratan penyiapan lab
Lindungi akun dan progres Anda. Selalu gunakan jendela browser pribadi dan kredensial lab untuk menjalankan lab ini.

Bermigrasi ke Cloud SQL untuk PostgreSQL Menggunakan Database Migration Service

Lab 1 jam 10 menit universal_currency_alt 1 Kredit show_chart Pengantar
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Konten ini belum dioptimalkan untuk perangkat seluler.
Untuk pengalaman terbaik, kunjungi kami dengan komputer desktop menggunakan link yang dikirim melalui email.

GSP918

Logo lab mandiri Google Cloud

Ringkasan

Database Migration Service menyediakan opsi untuk tugas satu kali dan berkelanjutan untuk memigrasikan data ke Cloud SQL. Layanan ini menawarkan berbagai metode konektivitas, yang mencakup daftar IP yang diizinkan, tunnel SSH terbalik, peering VPC, dan antarmuka Private Service Connect. Pelajari lebih lanjut opsi konektivitas dari Panduan Mengonfigurasi konektivitas.

Lab ini berfokus pada migrasi database PostgreSQL mandiri, yang dihosting di virtual machine, ke Cloud SQL untuk PostgreSQL. Migrasi ini memanfaatkan tugas berkelanjutan dari Database Migration Service dan menggunakan peering VPC untuk membuat konektivitas.

Penggunaan Database Migration Service untuk migrasi database memerlukan beberapa langkah persiapan di database sumber:

  • Membuat pengguna khusus: Pengguna ini harus memiliki hak replikasi.
  • Menambahkan ekstensi pglogical: Ekstensi ini harus diinstal di database sumber.
  • Memberikan hak yang diperlukan: Pengguna khusus harus diberi hak ke schemata dan tabel dalam database yang ditetapkan untuk migrasi, serta ke database postgres.

Setelah penyiapan selesai, Anda akan membuat dan menjalankan tugas migrasi. Proses migrasi mencakup:

  • Salinan Awal: Mengonfirmasi keberhasilan transfer salinan awal database ke instance Cloud SQL Anda.
  • Migrasi Berkelanjutan: Menjelajahi bagaimana tugas migrasi yang sedang berlangsung menerapkan pembaruan data real-time dari sumber ke instance Cloud SQL.
  • Promosi: Mengakhiri tugas dengan mempromosikan instance Cloud SQL agar berfungsi sebagai database mandiri, yang siap untuk operasi baca dan tulis.

Yang akan Anda lakukan

  • 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 dan persyaratan

Sebelum mengklik tombol Start 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 interaktif ini dapat Anda gunakan untuk melakukan 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 (direkomendasikan) 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: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.

Cara memulai lab dan login ke Google Cloud Console

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran. Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:

    • Tombol Open Google Cloud console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).

    Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.

    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 di bawah dan tempel ke dialog Sign in.

    {{{user_0.username | "Username"}}}

    Anda juga dapat menemukan Username di panel Lab Details.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab Details.

  6. Klik Next.

    Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  7. Klik halaman berikutnya:

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

Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.

Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search. Ikon Navigation menu dan kolom Search

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.

  2. Klik jendela berikut:

    • Lanjutkan melalui jendela informasi Cloud Shell.
    • Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.

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

Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "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.

Output:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Untuk menetapkan akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project

Output:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.

Memverifikasi bahwa Database Migration API sudah aktif

Database Migration API diperlukan untuk mengelola pergerakan data database melalui Database Migration Service.

  1. Di kolom judul Konsol Google Cloud, masukkan Database Migration API ke kolom Search, lalu klik Database Migration API dari hasilnya.

Tombol Manage akan terlihat saat API diaktifkan.

  1. Jika Anda melihat tombol Enable, klik tombol tersebut untuk mengaktifkan API.

Memverifikasi bahwa Service Networking API sudah aktif

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

  1. Di kolom judul Konsol Cloud, masukkan Service Networking API ke kolom Search, lalu klik Service Networking API dari hasilnya.

Tombol Manage akan terlihat saat API diaktifkan.

  1. Jika Anda melihat tombol Enable, klik tombol tersebut untuk mengaktifkan API.

Tugas 1. Menyiapkan database sumber untuk migrasi

Guna menyiapkan database sumber untuk migrasi melalui Database Migration Service, Anda akan mengupgrade database dengan ekstensi pglogical, lalu membuat pengguna migrasi database.

Untuk mengupgrade database dengan ekstensi pglogical, Anda dapat:

  • 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 di server mandiri.

Untuk membuat pengguna migrasi database, Anda akan membuat pengguna migration_admin (dengan izin Replikasi) untuk migrasi database, lalu memberi pengguna tersebut izin yang diperlukan untuk schemata dan relasi.

Mengupgrade database dengan ekstensi pglogical

Di bagian 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 Navigation menu), klik Compute Engine > VM instances.

  2. Di instance VM postgresql-vm, klik SSH.

  3. Jika diminta, klik Authorize.

  4. Di jendela terminal baru, instal ekstensi database pglogical:

sudo apt install postgresql-14-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.
  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://spls/gsp918/pg_hba_append.conf ." sudo su - postgres -c "gsutil cp gs://spls/gsp918/postgresql_append.conf ." sudo su - postgres -c "cat pg_hba_append.conf >> /etc/postgresql/14/main/pg_hba.conf" sudo su - postgres -c "cat postgresql_append.conf >> /etc/postgresql/14/main/postgresql.conf" sudo systemctl restart postgresql@14-main

Di pg_hba.conf, file 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 agar dapat 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

Output di bawah menampilkan daftar database postgresql default, serta database orders dan gmemegen_db yang disediakan untuk lab ini. Anda tidak menggunakan database gmemegen_db di lab ini.

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

Di bagian ini, Anda akan membuat pengguna khusus untuk mengelola migrasi database.

  • 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;

Menetapkan izin kepada pengguna migrasi

Di bagian ini, Anda akan menetapkan izin yang diperlukan kepada 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. 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. 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. 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. 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. 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

Output

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 Periksa progres saya 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 mengidentifikasi alamat IP internal instance database sumber yang Anda migrasikan ke Cloud SQL.

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

  2. Dalam daftar Instance, cari postgresql-vm.

  3. Salin Internal IP (misalnya, 10.128.0.2) untuk digunakaan saat mengonfigurasi profil koneksi di bagian berikutnya.

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 membuat profil koneksi baru untuk instance sumber PostgreSQL.

  1. Di Konsol Google Cloud, pada Navigation menu (Ikon Navigation menu), klik View all products. Di bagian Databases, klik Database migration > Connection profiles.

  2. Klik Create profile.

  3. Tentukan kolom berikut dan biarkan kolom lainnya tetap default:

Kolom Nilai
Profile role Source
Database engine PostgreSQL
Connection profile name postgres-vm
Region
Define connection configurations Define
Hostname or IP address IP internal untuk instance sumber MySQL yang Anda salin di tugas sebelumnya (misalnya, 10.128.0.2)
Port 5432
Username migration_admin
Password DMS_1s_cool!
  1. Klik Save.

  2. Klik Create.

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

Klik Periksa progres saya untuk memverifikasi tujuan. Membuat profil koneksi untuk instance sumber PostgreSQL.

Tugas 3. Membuat dan memulai tugas migrasi berkelanjutan

Untuk membuat tugas migrasi baru, Anda harus menentukan terlebih dahulu instance database sumber menggunakan profil koneksi yang ada. Selanjutnya, Anda membuat instance database tujuan dan menyiapkan konektivitas yang diperlukan antara instance sumber dan tujuan.

Dalam tugas ini, Anda 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 membuat tugas migrasi berkelanjutan baru.

  1. Di konsol, pada Navigation menu (Ikon Navigation menu), klik View all products. Di bagian Databases, klik Database Migration > Migration jobs.

  2. Klik Create migration job.

  3. Tentukan kolom berikut dan biarkan kolom lainnya tetap default:

Kolom Nilai
Migration job name vm-to-cloudsql
Source database engine PostgreSQL
Destination database engine Cloud SQL for PostgreSQL
Destination region
Migration job type Continuous
  1. Klik Save & continue.

Menentukan instance sumber

Pada langkah ini, Anda menentukan instance sumber untuk migrasi.

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

Gunakan opsi default untuk setelan lainnya.

  1. Klik Save & continue.

Menentukan instance tujuan

Pada langkah ini, Anda menentukan instance tujuan untuk migrasi.

  1. Untuk Type of destination instance, pilih Existing instance.

  2. Untuk Select destination instance, pilih postgresql-cloudsql.

  3. Klik Select & continue.

  4. Jika diminta untuk mengonfirmasi, masukkan nama instance postgresql-cloudsql.

  5. Klik Confirm & continue.

Catatan: Abaikan catatan peringatan: Your destination instance will be demoted and converted into a replica for your source database.

Menentukan metode konektivitas

Pada langkah ini, Anda 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.

Mengonfigurasi database migrasi

Pada langkah ini, Anda menentukan instance sumber untuk migrasi.

  1. Untuk Databases to migrate, pilih All databases.

  2. Klik Save & continue.

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

Pada langkah ini, Anda 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, pada Navigation menu (Ikon Navigation menu), klik VPC network, lalu klik kanan VPC network peering dan buka di tab baru.

  2. Klik entri servicenetworking-googleapis-com, lalu klik Effective routes view di bagian bawah.

  3. Dari dropdown untuk Network, pilih default, dan untuk Region, pilih . Klik View.

  4. Di kolom Destination IP range, catat IP range (mis. 10.107.176.0/24) di samping rute peering-route-xxxxx... untuk digunakan pada langkah berikutnya.

  5. Dalam sesi terminal pada instance VM, edit file pg_hba.conf sebagai berikut:

sudo nano /etc/postgresql/14/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 dicatat pada langkah sebelumnya.

#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. Tekan CTRL+O, ENTER, CTRL+X untuk menyimpan file dan keluar dari editor nano.

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

sudo systemctl start postgresql@14-main

Menguji dan memulai tugas migrasi berkelanjutan

Pada langkah ini, Anda 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.

  4. Jika diminta untuk mengonfirmasi, klik Create & start.

Meninjau status tugas migrasi berkelanjutan

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

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

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

  3. Tinjau status tugas migrasi.

    • Jika Anda belum memulai tugas, statusnya ditampilkan sebagai Not started. Anda dapat memilih untuk memulai atau menghapus tugas.
    • Begitu tugas dimulai, statusnya menunjukkan Starting, lalu berubah menjadi Running full dump in progress untuk menandakan bahwa dump database awal sedang diproses.
    • Setelah dump database awal diselesaikan, statusnya 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.

Klik Periksa progres saya 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 Navigation menu), klik 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.

Terhubung 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 otomatis di Cloud Shell:

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

  2. Jika diminta, klik Authorize untuk API.

  3. 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 Periksa progres saya 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 Navigation menu), klik View all products. Di bagian Databases, klik Database Migration > Migration jobs.

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

  3. Klik Promote.

  4. Jika diminta untuk mengonfirmasi, klik Promote.

Setelah promosi selesai, status tugas akan diperbarui menjadi Completed.

  1. Di Konsol Google Cloud, pada Navigation menu (Ikon Navigation menu), klik View all products. Di bagian Databases, klik SQL.

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

Klik Periksa progres saya untuk memverifikasi tujuan. Mempromosikan database Cloud SQL untuk PostgreSQL menjadi instance mandiri untuk pembacaan dan penulisan data.

Selamat!

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

Langkah berikutnya/Pelajari lebih lanjut

Pelajari lebih lanjut migrasi data, database Cloud SQL, dan Database Migration Service:

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 10 Desember 2025

Lab Terakhir Diuji pada 10 Desember 2025

Hak cipta 2026 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.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.