Checkpoint
Prepare a source PostgreSQL database for migration
/ 20
Migrate a stand-alone PostgreSQL database to Cloud SQL
/ 20
Promote a Database Migration Services continuous replica to a stand-alone instance.
/ 20
Update permissions and add IAM roles to users
/ 10
Create networks and firewalls
/ 10
Create a BigQuery log sink
/ 20
Set Up a Google Cloud Network: Challenge Lab
- GSP314
- Ringkasan
- Penyiapan
- Skenario tantangan
- Tugas 1: Memigrasikan database PostgreSQL mandiri ke instance Cloud SQL untuk PostgreSQL
- Tugas 2: Memperbarui izin dan menambahkan peran IAM ke pengguna
- Tugas 3: Membuat jaringan dan firewall
- Tugas 4: Memecahkan masalah dan memperbaiki cluster GKE yang rusak
- Selamat!
GSP314
Ringkasan
Dalam challenge lab, Anda diberi sebuah skenario dan serangkaian tugas. Tidak ada petunjuk langkah demi langkah. Anda akan menggunakan keahlian yang dipelajari dari lab dalam misi untuk mencari cara menyelesaikan sendiri tugas-tugas tersebut. Sistem pemberian skor otomatis (ditampilkan pada halaman ini) akan memberikan masukan tentang apakah Anda telah menyelesaikan tugas dengan benar atau tidak.
Saat mengikuti challenge lab, Anda tidak akan diajari konsep-konsep baru Google Cloud. Anda diharapkan dapat memperluas keahlian yang dipelajari, seperti mengubah nilai default dan membaca serta mengkaji pesan error untuk memperbaiki kesalahan Anda sendiri.
Untuk meraih skor 100%, Anda harus berhasil menyelesaikan semua tugas dalam jangka waktu tertentu.
Lab ini direkomendasikan bagi siswa yang sudah mendaftar di badge keahlian Set up a Google Cloud Network. Apakah Anda siap menghadapi tantangan ini?
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).
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Skenario tantangan
Anda adalah seorang engineer cloud yang bekerja untuk Cymbal Direct, sebuah retailer yang menjual produk alas kaki dan pakaian langsung ke konsumen secara online. Cymbal Direct berkembang dengan pesat, dan sebagai bagian dari strategi pengembangannya, mereka mengakuisisi perusahaan baru, yaitu Antern. Antern adalah toko e-commerce yang sudah ada sebelumnya dengan jumlah data besar yang, jika diintegrasikan dengan tepat ke dalam lingkungan cloud Anda, akan sangat bermanfaat untuk pengembangan bisnis dan menjangkau lebih banyak pelanggan. Sebagai bagian dari akuisisi ini, Cymbal Direct ingin memindahkan workload dan infrastruktur Antern yang sudah ada, dari infrastruktur lokal ke Google Cloud.
Antern memiliki resource berikut yang perlu dimigrasikan, disalin, atau dibuat ulang di lingkungan cloud Cymbal Direct yang sudah ada:
- Database PostgreSQL (berjalan di virtual machine) yang perlu dimigrasikan ke Cloud SQL untuk PostgreSQL
- Kode aplikasi microservice dalam container untuk di-deploy pada GKE (yang dilaporkan mengalami masalah keandalan selama pengujian yang perlu dipecahkan)
- Jaringan VPC dengan dua subnetwork dan firewall yang perlu dibuat untuk menghubungkan resource baru
- Pengguna IAM di beberapa project yang perlu diberi izin dan peran yang sesuai pada resource tertentu
Anda ditugaskan untuk membantu Cymbal Direct mencapai tujuan tersebut.
Tugas 1: Memigrasikan database PostgreSQL mandiri ke instance Cloud SQL untuk PostgreSQL
Antern menggunakan database PostgreSQL yang berjalan di VM lokal untuk menyimpan pesanan toko e-commerce. Sebagai bagian dari strategi akuisisi, Cymbal telah meminta database ini dimigrasikan ke Cloud SQL untuk PostgreSQL menggunakan Database Migration Service. Dengan menjalankan database di Cloud SQL, Cymbal dapat memperoleh semua manfaat operasional dari PostgreSQL dengan ketersediaan, stabilitas, dan keamanan perusahaan yang lebih baik.
Dalam tugas ini, Anda harus memigrasikan database orders
PostgreSQL mandiri yang berjalan pada virtual machine antern-postgresql-vm
ke instance Cloud SQL untuk PostgreSQL menggunakan tugas migrasi berkelanjutan Database Migration Service dan konektivitas VPC Peering.
Menyiapkan database PostgreSQL mandiri untuk migrasi
Dalam sub-tugas ini, Anda harus menyiapkan database PostgreSQL mandiri agar memenuhi persyaratan migrasi dari Database Migration Service.
Untuk menyelesaikan sub-tugas ini, Anda harus menyelesaikan langkah-langkah berikut:
- Aktifkan Google Cloud API yang diperlukan untuk Database Migration Service.
Database Migration Service mengharuskan Database Migration API dan Service Networking API diaktifkan agar dapat berfungsi. Anda harus mengaktifkan API ini untuk project Anda.
- Upgrade database target di virtual machine
antern-postgresql-vm
dengan ekstensi databasepglogical
.
Anda harus menginstal dan mengonfigurasi ekstensi database pglogical di database PostgreSQL mandiri pada VM Instance Compute antern-postgresql-vm
. Paket ekstensi database pglogical yang harus Anda instal bernama postgresql-13-pglogical
.
Untuk menyelesaikan konfigurasi ekstensi database pglogical, Anda harus mengedit file konfigurasi PostgreSQL /etc/postgresql/13/main/postgresql.conf
untuk mengaktifkan ekstensi database pglogical dan Anda harus mengedit /etc/postgresql/13/main/pg_hba.conf
untuk mengizinkan akses dari semua host.
- Buat pengguna khusus untuk migrasi database di database mandiri.
Pengguna baru yang Anda buat saat penginstalan PostgreSQL mandiri di virtual machine antern-postgresql-vm
harus dikonfigurasi menggunakan nama pengguna dan sandi berikut:
-
Migration user name :
-
Migration user password :
DMS_1s_cool!
- Berikan hak istimewa dan izin yang diperlukan untuk database yang perlu dimigrasikan kepada pengguna tersebut.
Database Migration Service mengharuskan pengguna migrasi memiliki hak istimewa ke schemata dan relasi tertentu dari database target untuk migrasi, dalam hal ini yaitu database orders
dan postgres
.
- Database Migration Service mengharuskan semua tabel yang dimigrasikan memiliki kunci utama. Setelah Anda memberikan hak istimewa yang diperlukan kepada pengguna tersebut, jalankan perintah berikut untuk menambahkan kunci utama ke tabel
inventory_items
dan keluar dari sesi psql.
Klik Check my progress untuk memverifikasi tujuan.
Memigrasikan database PostgreSQL mandiri ke instance Cloud SQL untuk PostgreSQL
Dalam sub-tugas ini, Anda harus melakukan migrasi menggunakan Database Migration Service.
Untuk menyelesaikan sub-tugas ini, Anda harus menyelesaikan langkah-langkah berikut:
- Buat profil koneksi Database Migration Service untuk database PostgreSQL mandiri menggunakan kredensial dari
pengguna migrasi yang Anda buat sebelumnya.
-
Username :
-
Password :
DMS_1s_cool!
-
Region :
Anda harus mengonfigurasi profil koneksi menggunakan alamat IP internal dari instance compute sumber.
- Buat tugas Database Migration Service berkelanjutan yang baru.
- Untuk Migration job name, masukkan
- Untuk Source database engine pilih
PostgreSQL
. - Untuk Destination database engine pilih
Cloud SQL untuk PostgreSQL
. -
Destination region :
Sebagai bagian dari konfigurasi tugas migrasi, pastikan Anda menetapkan properti berikut untuk instance Cloud SQL tujuan:
-
Destination Instance ID harus ditetapkan ke
-
Password untuk instance yang dimigrasikan harus ditetapkan ke
supersecret!
- Database Version harus ditetapkan ke Cloud SQL for PostgreSQL 13
- Pilih edisi Cloud SQL Enterprise saja.
-
Region harus ditetapkan ke
- Untuk Connections, baik Public IP dan Private IP, harus ditetapkan.
- Untuk IP Pribadi, gunakan rentang IP yang dialokasikan secara otomatis, lalu klik Allocate & Connect.
- Pilih bentuk mesin standar dengan 4 vCPU, 16 GB
- Untuk Storage type, gunakan SSD
- Tetapkan kapasitas penyimpanan ke 10 GB
Untuk Connectivity Method, Anda harus menggunakan VPC peering dengan jaringan VPC default.
- Lakukan pengujian lalu mulai tugas migrasi berkelanjutan.
Klik Check my progress untuk memverifikasi tujuan.
Mempromosikan instance Cloud SQL menjadi instance mandiri untuk pembacaan dan penulisan data
- Dalam tugas ini, Anda harus menyelesaikan migrasi dengan mempromosikan instance Cloud SQL untuk PostgreSQL menjadi instance mandiri.
- Saat promosi selesai, status tugas akan diperbarui menjadi Selesai.
Klik Check my progress untuk memverifikasi tujuan.
Tugas 2: Memperbarui izin dan menambahkan peran IAM ke pengguna
Setelah database dimigrasikan ke instance Cloud SQL untuk PostgreSQL, Anda harus memperbarui peran pengguna melalui IAM untuk anggota berbeda di tim Antern dan Cymbal. Secara khusus, Anda perlu memberikan akses pengguna ke database Cloud SQL kepada Antern Editor, akses admin kepada Cymbal Owner agar memiliki kontrol penuh ke resource Cloud SQL, dan izin editor pada project kepada Cymbal Editor.
-
Berikan peran Cloud SQL Instance User kepada pengguna Antern Editor untuk database CloudSQL. Nama penggunanya adalah:
. - Buka database Cloud SQL yang baru Anda buat. Di bagian Users, tambahkan akun pengguna Antern Editor ke database yang Anda buat. Gunakan Cloud IAM authentication dan gunakan nama pengguna di atas untuk bagian Principal.
-
Berikan peran Cloud SQL Admin kepada pengguna Cymbal Owner untuk database CloudSQL. Nama penggunanya adalah:
. - Buka database Cloud SQL yang baru Anda buat. Di bagian Users, tambahkan akun pengguna Cymbal Owner ke database yang Anda buat. Gunakan Cloud IAM authentication dan gunakan nama pengguna di atas untuk bagian Principal.
-
Ganti peran pengguna Cymbal Editor dari Viewer menjadi Editor. Nama penggunanya adalah:
.
Klik Check my progress untuk memverifikasi tujuan.
Tugas 3: Membuat jaringan dan firewall
Sebagai bagian dari strategi akuisisi, jaringan VPC yang menghubungkan resource secara internal harus dibuat ulang di project Cymbal. Secara khusus, Anda harus membuat jaringan VPC dengan dua subnet dan firewall untuk membuka koneksi antar-resource. Selain itu, pada jaringan ini, tim Anda harus dapat terhubung ke mesin Linux dan Windows menggunakan SSH dan RDP, serta mendiagnosis masalah komunikasi jaringan melalui ICMP.
Dalam tugas ini, Anda akan membuat jaringan VPC dan aturan firewall yang memenuhi persyaratan ini.
Membuat jaringan VPC dengan dua subnetwork
-
Buat jaringan VPC bernama
dengan dua subnet: dan . Gunakan mode rute dinamis Regional. -
Untuk
, tetapkan region ke . - Tetapkan IP stack type ke IPv4 (single-stack)
- Tetapkan rentang IPv4 ke
10.10.10.0/24
-
Untuk
, tetapkan region ke . - Tetapkan IP stack type ke IPv4 (single-stack)
- Tetapkan rentang IPv4 ke
10.10.20.0/24
Membuat aturan firewall untuk jaringan VPC
-
Buat aturan firewall bernama
. - Untuk jaringannya, gunakan
. - Tetapkan priority ke 65535, traffic ke Ingress, dan action ke Allow
- Target harus ditetapkan ke semua instance dalam jaringan dan rentang IPv4 ke
0.0.0.0/24
- Tetapkan Protocol ke TCP dan port ke
22
- Untuk jaringannya, gunakan
-
Buat aturan firewall bernama
. - Untuk jaringannya, gunakan
. - Tetapkan priority ke 65535, traffic ke Ingress, dan action ke Allow
- Target harus ditetapkan ke semua instance dalam jaringan dan rentang IPv4 ke
0.0.0.0/24
- Tetapkan Protocol ke TCP dan port ke
3389
- Untuk jaringannya, gunakan
-
Buat aturan firewall bernama
. - Untuk jaringannya, gunakan
. - Tetapkan priority ke 65535, traffic ke Ingress, dan action ke Allow
- Target harus ditetapkan ke semua instance dalam jaringan dan rentang IPv4 ke
0.0.0.0/24
- Tetapkan Protocol ke icmp
- Untuk jaringannya, gunakan
Klik Check my progress untuk memverifikasi tujuan.
Tugas 4: Memecahkan masalah dan memperbaiki cluster GKE yang rusak
Setelah men-deploy cluster GKE situs e-commerce, tim Anda memberitahukan bahwa ada beberapa masalah umum dengan cluster GKE yang perlu diselesaikan. Mereka menemukan tiga bug yang perlu diperbaiki:
- Bug #1: Latensi di layanan frontend terlalu besar
- Bug #2: Rating sudah tidak berlaku
- Bug #3 Bug error di layanan rekomendasi
Sebagai bagian dari strategi akuisisi, Anda ditugaskan untuk memperbaiki
Petunjuk:
- Bug #1: Kunjungi IP eksternal dari aplikasi demo untuk melihat apakah ada perubahan atau tidak. Anda juga dapat menggunakan dasbor pemantauan untuk melihat metrik yang berhubungan dengan setiap layanan.
-
Bug #2: Rating produk dikelola oleh "layanan rating", yang dihosting di Google AppEngine. Data rating terus diperbarui dengan secara berkala memanggil endpoint API yang mengumpulkan semua skor rating terbaru yang baru saja dikirim untuk setiap produk dan menghitung rating baru tersebut. Periksa apakah layanan rating berfungsi secara normal dengan memeriksa log dari layanan AppEngine. Anggota tim lain menyebutkan bahwa mungkin ini ada hubungannya dengan masalah di file
main.py
. - Bug #3: Jelajahi situs Anda hingga Anda menemukan masalah, dan gunakan Cloud Logging untuk melihat log yang diekspor oleh setiap layanan. Anggota tim lain menyebutkan bahwa bug error ini mungkin disebabkan oleh tahap konversi integer di layanan.
Membuat sink log BigQuery
Sebelum memperbaiki masalah dasar, Anda diminta untuk membuat sink log guna mengirimkan error yang berhubungan dengan layanan yang bermasalah. Kemudian, Anda harus menggunakan IAM untuk memberi pengguna dari Antern level akses yang berbeda ke BigQuery, sehingga mereka dapat melihat dan berinteraksi dengan set data.
-
Gunakan Logs Explorer untuk menyelidiki aplikasi GKE Anda yang sedang berjalan dan menyelidiki layanan yang mengalami error. Petunjuk: Carilah log dengan tingkat keparahan
ERROR
. -
Setelah Anda mengidentifikasi log error layanan, buat sink untuk mengirimkan log tersebut ke BigQuery.
- Beri nama sink
- Untuk tujuannya, buat set data BigQuery bernama
gke_app_errors_sink
dengan lokasi us (multiple regions in United States). - Pada inclusion filter, pastikan Anda memasukkan:
resource.type
,, dan severity
.
- Beri nama sink
-
Berikan peran BigQuery Data Viewer kepada pengguna Antern Editor untuk project ini. Nama penggunanya adalah:
. -
Berikan peran BigQuery Admin kepada pengguna Antern Owner untuk project ini. Nama penggunanya adalah:
.
Klik Check my progress untuk memverifikasi tujuan.
Memperbaiki cluster GKE
Setelah Anda membuat sink log di BigQuery untuk error pada layanan, beberapa engineer di tim Anda akan memeriksa dan menemukan langkah-langkah yang benar untuk memperbaiki masalah tersebut. Dalam tugas ini, Anda akan mendownload kode solusi dan menjalankannya untuk memperbaiki layanan di cluster GKE Anda.
- Hubungkan ke cluster GKE cloud-ops-sandbox dan jalankan perintah berikut untuk memperbaiki masalah. Jawab pertanyaan verifikasi saat diminta.
- Pastikan toko e-commerce berfungsi dengan baik.
Selamat!
Anda telah menyelesaikan pekerjaan selama sehari sebagai Cloud Engineer! Anda telah memigrasikan database PostgreSQL ke instance Cloud SQL untuk PostgreSQL, membuat jaringan VPC dengan subnetwork dan firewall, memecahkan masalah dengan cluster GKE, serta memberikan izin kepada pengguna IAM ke beberapa project.
Mendapatkan badge keahlian Anda berikutnya
Lab mandiri ini adalah bagian dari badge keahlian Deploy and Manage Cloud Environments with Google Cloud. Dengan menyelesaikan badge keahlian ini, Anda akan mendapatkan badge di atas sebagai pengakuan atas pencapaian Anda. Tampilkan badge di resume atau platform media sosial Anda, dan umumkan pencapaian Anda menggunakan hashtag #GoogleCloudBadge.
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 8 Maret 2024 Lab Terakhir Diuji pada 8 Maret 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.