arrow_back

Set Up a Google Cloud Network: Challenge Lab

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

Set Up a Google Cloud Network: Challenge Lab

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

GSP314

Lab Mandiri Google Cloud

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).
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.

Skenario tantangan

Logo Cymbal Direct

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

Catatan: Untuk tugas pertama, Anda perlu login ke Antern Project dengan kredensial Antern Owner.

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:

  1. 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.

  1. Upgrade database target di virtual machine antern-postgresql-vm dengan ekstensi database pglogical.

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.

  1. 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!
  1. 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.

  1. 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.
ALTER TABLE public.inventory_items ADD PRIMARY KEY(id); \q exit Catatan: Prasyarat detail untuk memigrasikan database PostgreSQL mandiri ke Cloud SQL untuk PostgreSQL tersedia di link saran di GUI Konsol Cloud untuk Database Migration Service. Jika perlu bantuan terkait langkah-langkah mendetail yang harus Anda lakukan, baca dokumentasi tersebut, atau lihat langkah-langkah mendetail di Migration Lab yang merupakan bagian dari badge keahlian ini.

Klik Check my progress untuk memverifikasi tujuan. Menyiapkan database PostgreSQL mandiri untuk migrasi ke Cloud SQL untuk PostgreSQL.

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:

  1. 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.

  1. 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.

  1. Lakukan pengujian lalu mulai tugas migrasi berkelanjutan.
Catatan: Jika Anda tidak menyiapkan lingkungan PostgreSQL sumber dengan benar, migrasi mungkin akan gagal sepenuhnya, atau beberapa tabel akan gagal dimigrasikan. Jika beberapa tabel tidak ada, walaupun proses migrasi terlihat berhasil di luar tabel-tabel tersebut, periksa apakah Anda telah mengonfigurasi semua tabel database sumber dengan benar.

Klik Check my progress untuk memverifikasi tujuan. Memigrasikan database PostgreSQL mandiri ke instance Cloud SQL untuk PostgreSQL.

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. Mempromosikan Replika Migrasi Cloud SQL menjadi instance mandiri.

Catatan: Untuk tujuan lab ini, Anda tidak perlu menunggu sampai migrasi selesai untuk mempromosikannya menjadi instance mandiri. Jika tindakan ini tersedia di Konsol, Anda dapat menjalankannya.

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.

Catatan: Untuk tugas ini, Anda perlu login ke Antern Project dengan kredensial Antern Owner. Petunjuk: Berikan peran yang diinginkan kepada pengguna yang diperlukan menggunakan Cloud IAM.
  1. 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.
  2. 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.
  3. Ganti peran pengguna Cymbal Editor dari Viewer menjadi Editor. Nama penggunanya adalah: .

Klik Check my progress untuk memverifikasi tujuan. Memperbarui izin dan menambahkan peran IAM ke pengguna

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.

Catatan: Untuk tugas ini, Anda perlu login ke Cymbal Project dengan kredensial Cymbal Owner.

Membuat jaringan VPC dengan dua subnetwork

  1. Buat jaringan VPC bernama dengan dua subnet: dan . Gunakan mode rute dinamis Regional.

  2. Untuk , tetapkan region ke .

    • Tetapkan IP stack type ke IPv4 (single-stack)
    • Tetapkan rentang IPv4 ke 10.10.10.0/24
  3. 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

  1. 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
  2. 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
  3. 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

Klik Check my progress untuk memverifikasi tujuan. Membuat jaringan dan firewall

Tugas 4: Memecahkan masalah dan memperbaiki cluster GKE yang rusak

Catatan: Untuk tugas ini, Anda perlu login ke Cymbal Project dengan kredensial Cymbal Owner.

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 . Engineer lain yang bekerja di tim Anda telah menyediakan beberapa informasi tambahan untuk setiap masalah yang mereka temukan. Anda dapat menggunakan informasi tersebut untuk menyelesaikan masalah ini.

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.

  1. Gunakan Logs Explorer untuk menyelidiki aplikasi GKE Anda yang sedang berjalan dan menyelidiki layanan yang mengalami error. Petunjuk: Carilah log dengan tingkat keparahan ERROR.

  2. 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.
Catatan: Jika Anda mengalami error terkait izin, pastikan Anda login ke Cymbal Project dengan kredensial Cymbal Owner.
  1. Berikan peran BigQuery Data Viewer kepada pengguna Antern Editor untuk project ini. Nama penggunanya adalah: .

  2. Berikan peran BigQuery Admin kepada pengguna Antern Owner untuk project ini. Nama penggunanya adalah: .

Klik Check my progress untuk memverifikasi tujuan. Membuat sink log BigQuery

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.

  1. Hubungkan ke cluster GKE cloud-ops-sandbox dan jalankan perintah berikut untuk memperbaiki masalah. Jawab pertanyaan verifikasi saat diminta.
git clone --depth 1 --branch csb_1220 https://github.com/GoogleCloudPlatform/cloud-ops-sandbox.git cd cloud-ops-sandbox/sre-recipes ./sandboxctl sre-recipes restore {{{ cymbal_project.startup_script.recipe_number | recipe number }}} ./sandboxctl sre-recipes verify {{{ cymbal_project.startup_script.recipe_number | recipe number }}}
  1. 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.

Badge Keahlian Deploy and Manage Cloud Environments

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.