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.
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
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
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.
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.
Klik Next.
Salin Password di bawah dan tempel ke dialog Welcome.
{{{user_0.password | "Password"}}}
Anda juga dapat menemukan Password di panel Lab Details.
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.
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.
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.
Klik Activate Cloud Shell di bagian atas Konsol Google Cloud.
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.
(Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
Klik Authorize.
Output:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Untuk menetapkan akun aktif, jalankan:
$ gcloud config set account `ACCOUNT`
(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
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.
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.
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.
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.
Di Konsol Google Cloud, pada Navigation menu (), klik Compute Engine > VM instances.
Dalam entri untuk postgresql-vm, di bagian Connect, klik SSH.
Jika diminta, klik Authorize.
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
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.
Luncurkan alat psql:
sudo su - postgres
psql
Tambahkan ekstensi database pglogical ke database postgres, orders, dan gmemegen_db.
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.
Pada langkah 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;
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.
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;
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;
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;
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;
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.
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)
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.
Di Konsol Google Cloud, pada Navigation menu (), klik Compute Engine > VM instances.
Cari baris yang berisi instance bernama postgresql-vm.
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.
Di Konsol Google Cloud, pada Navigation menu (), klik Database Migration > Connection profiles.
Klik + Create Profile.
Untuk Database engine, pilih PostgreSQL.
Untuk Connection profile name, masukkan postgres-vm.
Untuk Hostname or IP address, masukkan IP internal untuk instance sumber PostgreSQL yang Anda salin di tugas sebelumnya (misalnya, 10.128.0.2)
Untuk Port, masukkan 5432.
Untuk Username, masukkan migration_admin.
Untuk Password, masukkan DMS_1s_cool! .
Untuk Region, pilih .
Untuk semua nilai lainnya, gunakan setelan default.
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.
Di Konsol Google Cloud, pada Navigation menu (), klik Database Migration > Migration jobs.
Klik + Create Migration Job.
Untuk Migration job name, masukkan vm-to-cloudsql.
Untuk Source database engine, pilih PostgreSQL.
Untuk Destination region, pilih .
Untuk Destination database engine, pilih Cloud SQL for PostgreSQL.
Untuk Migration job type, pilih Continuous.
Gunakan opsi default untuk setelan lainnya.
Klik Save & Continue.
Menentukan instance sumber
Pada langkah ini, Anda akan menentukan instance sumber untuk migrasi.
Untuk Source connection profile, pilih postgres-vm.
Gunakan opsi default untuk setelan lainnya.
Klik Save & Continue.
Membuat instance tujuan
Pada langkah ini, Anda akan membuat instance tujuan untuk migrasi.
Untuk Destination Instance ID, masukkan postgresql-cloudsql.
Untuk Password, masukkan supersecret!.
Untuk Choose a Cloud SQL edition, pilih edisi Enterprise.
Untuk Database version, pilih Cloud SQL for PostgreSQL 13.
Di bagian Choose region and zone, pilih Single zone, lalu pilih sebagai primary zone.
Untuk Instance connectivity, pilih Private IP dan Public IP.
Pilih Use an automatically allocated IP range.
Gunakan opsi default untuk setelan lainnya.
Klik Allocate & Connect.
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.
Masukkan informasi tambahan yang diperlukan untuk membuat instance tujuan di Cloud SQL.
Untuk Machine shapes, centang 1 vCPU, 3.75 GB
Untuk Storage type, pilih SSD
Untuk Storage capacity, pilih 10 GB
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.
Untuk Connectivity method, pilih VPC peering.
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.
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.
Dapatkan rentang alamat IP yang dialokasikan. Di Konsol Google Cloud, pada Navigation menu (), klik kanan VPC network > VPC network peering dan buka di tab baru.
Klik entri servicenetworking-googleapis-com.
Di tab Imported routes, pilih dan salin Destination IP range (misalnya 10.107.176.0/24).
Dalam sesi Terminal pada instance VM, edit file pg_hba.conf sebagai berikut:
sudo nano /etc/postgresql/13/main/pg_hba.conf
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.
Simpan dan tutup editor nano dengan Ctrl-O, Enter, Ctrl-X
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.
Di tab Database Migration Service yang Anda buka sebelumnya, tinjau detail tugas migrasi.
Klik Test Job.
Setelah pengujian berhasil, klik Create & Start Job.
Jika diminta untuk mengonfirmasi, klik Create & Start.
Meninjau status tugas migrasi berkelanjutan
Pada langkah ini, Anda akan mengonfirmasi bahwa tugas migrasi berkelanjutan sedang berjalan.
Di Konsol Google Cloud, pada Navigation menu (), klik Database Migration > Migration jobs.
Klik tugas migrasi vm-to-cloudsql untuk melihat halaman detail.
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.
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
Di Konsol Google Cloud, pada Navigation menu (), klik Databases > SQL.
Luaskan ID instance bernama postgresql-cloudsql-master.
Jalankan perintah yang telah diisi secara otomatis.
Jika diminta, klik Authorize untuk API.
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
Untuk memilih database di konsol interaktif PostgreSQL, jalankan perintah berikut:
\c orders;
Saat diminta memasukkan sandi, masukkan:
supersecret!
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
Tutup konsol interaktif PostgreSQL dengan mengetikkan:
\q
Memperbarui data sumber mandiri untuk menguji migrasi berkelanjutan
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.
Saat diminta memasukkan sandi, masukkan:
DMS_1s_cool!
Di psql, masukkan perintah berikut:
\c orders;
insert into distribution_centers values(-80.1918,25.7617,'Miami FL',11);
Tutup sesi psql interaktif:
\q
Menghubungkan ke database PostgreSQL Cloud SQL untuk memeriksa bahwa data yang diperbarui telah dimigrasikan
Di Cloud Shell, ketik perintah berikut untuk terhubung ke instance PostgreSQL Cloud SQL tujuan:
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
Di Cloud Shell, pilih database aktif di konsol interaktif PostgreSQL:
\c orders;
Saat diminta memasukkan sandi, yang telah Anda tetapkan sebelumnya, masukkan:
supersecret!
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.
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
Di Konsol Google Cloud, pada Navigation menu (), klik Database Migration > Migration jobs.
Klik nama tugas migrasi vm-to-cloudsql untuk melihat halaman detail.
Klik Promote.
Jika diminta untuk mengonfirmasi, klik Promote.
Setelah promosi selesai, status tugas akan diperbarui menjadi Completed.
Di Konsol Google Cloud, pada Navigation menu (), klik Databases > SQL.
Perhatikan bahwa postgresql-cloudsql sekarang menjadi instance mandiri untuk pembacaan dan penulisan data.
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 14 Mei 2024
Lab Terakhir Diuji pada 14 Mei 2024
Hak cipta 2025 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.
Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
Di kiri atas layar, klik Start lab untuk memulai
Gunakan penjelajahan rahasia
Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
Klik Open console dalam mode pribadi
Login ke Konsol
Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
Setujui persyaratan, dan lewati halaman resource pemulihan
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.
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.