GSP155

Ringkasan
Di lab praktik ini, Anda akan mempelajari cara menyiapkan load balancer aplikasi Layer 7 (L7) di virtual machine (VM) Compute Engine. Load balancer L7 dapat memahami protokol HTTP(S), sehingga dapat membuat keputusan perutean berdasarkan parameter seperti URL, header, cookie, dan isi permintaan. Dengan demikian, performa dan respons aplikasi dapat ditingkatkan.
Ada beberapa cara untuk melakukan load balancing di Google Cloud.
Lab ini akan memandu Anda menyiapkan load balancer berikut:
Sebaiknya ketik sendiri perintah dalam lab ini agar Anda dapat lebih memahami konsep intinya.
Banyak lab menyertakan blok kode yang berisi perintah yang diperlukan.
Anda dapat dengan mudah menyalin dan menempel perintah dari blok kode ke tempat yang sesuai selama lab berlangsung.
Tujuan
Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:
- Mengonfigurasi region dan zona default untuk resource Anda.
- Membuat Load Balancer Aplikasi.
- Menguji traffic ke instance Anda.
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.
Tugas 1. Menetapkan region dan zona default untuk semua resource
-
Tetapkan region default:
gcloud config set compute/region {{{project_0.default_region | Region}}}
-
Di Cloud Shell, tetapkan zona default:
gcloud config set compute/zone {{{project_0.default_zone | Zone}}}
Pelajari lebih lanjut cara memilih zona dan region di dokumentasi Region dan zona Compute Engine.
Tugas 2. Membuat beberapa instance server web
Untuk skenario load balancing ini, Anda akan membuat tiga instance VM Compute Engine dan menginstal Apache di instance tersebut, lalu menambahkan aturan firewall yang memungkinkan traffic HTTP menjangkaunya.
Kode yang disediakan akan menetapkan zona ke .
Dengan menyetel kolom tags
, Anda dapat merujuk semua instance ini sekaligus, seperti saat menggunakan aturan firewall.
Perintah ini juga akan menginstal Apache di tiap instance dan memberi tiap instance halaman beranda yang unik.
-
Buat virtual machine, www1
, di zona default Anda menggunakan kode berikut:
gcloud compute instances create www1 \
--zone={{{project_0.default_zone | Zone}}} \
--tags=network-lb-tag \
--machine-type=e2-small \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
apt-get update
apt-get install apache2 -y
service apache2 restart
echo "
Server Web: www1
" | tee /var/www/html/index.html'
-
Buat virtual machine, www2
, di zona default Anda menggunakan kode berikut:
gcloud compute instances create www2 \
--zone={{{project_0.default_zone | Zone}}} \
--tags=network-lb-tag \
--machine-type=e2-small \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
apt-get update
apt-get install apache2 -y
service apache2 restart
echo "
Server Web: www2
" | tee /var/www/html/index.html'
-
Buat virtual machine, www3
, di zona default Anda.
gcloud compute instances create www3 \
--zone={{{project_0.default_zone | Zone}}} \
--tags=network-lb-tag \
--machine-type=e2-small \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
apt-get update
apt-get install apache2 -y
service apache2 restart
echo "
Server Web: www3
" | tee /var/www/html/index.html'
-
Buat aturan firewall untuk mengizinkan traffic eksternal ke instance VM:
gcloud compute firewall-rules create www-firewall-network-lb \
--target-tags network-lb-tag --allow tcp:80
Kini Anda perlu mendapatkan alamat IP eksternal instance dan memastikan bahwa instance sudah berjalan.
-
Jalankan perintah berikut untuk menampilkan instance. Anda akan melihat alamat IP instance di kolom EXTERNAL_IP
:
gcloud compute instances list
-
Pastikan tiap instance sudah berjalan dengan perintah curl
. Ganti [IP_ADDRESS] dengan alamat IP eksternal untuk tiap VM:
curl http://[IP_ADDRESS]
Klik Periksa progres saya untuk memverifikasi bahwa Anda telah membuat grup server web.
Membuat beberapa instance server web
Tugas 3. Membuat Load Balancer Aplikasi
Load Balancer Aplikasi diterapkan di Google Front End (GFE).
GFE didistribusikan secara global dan beroperasi bersama menggunakan jaringan global dan bidang kontrol Google.
Anda dapat mengonfigurasi aturan URL untuk mengarahkan beberapa URL ke sekumpulan instance dan mengarahkan URL lain ke instance lainnya.
Permintaan selalu diarahkan ke grup instance yang paling dekat dengan pengguna, asalkan grup tersebut sesuai untuk permintaan tersebut dan kapasitasnya cukup. Jika kapasitas grup terdekat tidak mencukupi, permintaan akan dikirim ke grup terdekat yang memiliki kapasitas.
Untuk menyiapkan load balancer dengan backend Compute Engine, VM Anda harus berada dalam grup instance.
Grup instance terkelola menyediakan VM yang menjalankan server backend load balancer aplikasi eksternal.
Untuk lab ini, backend akan menyajikan nama host-nya sendiri.
-
Pertama, buat template load balancer:
gcloud compute instance-templates create lb-backend-template \
--region={{{project_0.default_region | Region}}} \
--network=default \
--subnet=default \
--tags=allow-health-check \
--machine-type=e2-medium \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
apt-get update
apt-get install apache2 -y
a2ensite default-ssl
a2enmod ssl
vm_hostname="$(curl -H "Metadata-Flavor:Google" \
http://169.254.169.254/computeMetadata/v1/instance/name)"
echo "Page served from: $vm_hostname" | \
tee /var/www/html/index.html
systemctl restart apache2'
Grup instance terkelola (MIG) memungkinkan Anda mengoperasikan aplikasi di beberapa VM yang identik.
Anda dapat membuat beban kerja yang skalabel dan sangat tersedia dengan memanfaatkan layanan MIG otomatis, termasuk: penskalaan otomatis, autohealing, deployment regional (beberapa zona), dan update otomatis.
-
Buat grup instance terkelola berdasarkan template tersebut:
gcloud compute instance-groups managed create lb-backend-group \
--template=lb-backend-template --size=2 --zone={{{project_0.default_zone | Zone}}}
-
Buat aturan firewall fw-allow-health-check
.
gcloud compute firewall-rules create fw-allow-health-check \
--network=default \
--action=allow \
--direction=ingress \
--source-ranges=130.211.0.0/22,35.191.0.0/16 \
--target-tags=allow-health-check \
--rules=tcp:80
Catatan: Aturan ingress mengizinkan traffic dari sistem health check Google Cloud (130.211.0.0/22
dan 35.191.0.0/16
).
Lab ini menggunakan tag target allow-health-check
untuk mengidentifikasi VM
-
Setelah instance aktif dan berjalan, siapkan alamat IP eksternal statis global yang akan digunakan pelanggan untuk menjangkau load balancer Anda:
gcloud compute addresses create lb-ipv4-1 \
--ip-version=IPV4 \
--global
Perhatikan alamat IPv4 yang dicadangkan:
gcloud compute addresses describe lb-ipv4-1 \
--format="get(address)" \
--global
Catatan: Simpan alamat IP ini karena Anda perlu merujuknya nanti di lab ini.
-
Buat health check untuk load balancer (guna memastikan hanya backend yang berfungsi dengan baik yang dikirimi traffic):
gcloud compute health-checks create http http-basic-check \
--port 80
-
Buat layanan backend:
gcloud compute backend-services create web-backend-service \
--protocol=HTTP \
--port-name=http \
--health-checks=http-basic-check \
--global
-
Tambahkan grup instance sebagai backend ke layanan backend:
gcloud compute backend-services add-backend web-backend-service \
--instance-group=lb-backend-group \
--instance-group-zone={{{project_0.default_zone | Zone}}} \
--global
-
Buat peta URL untuk mengarahkan permintaan masuk ke layanan backend default:
gcloud compute url-maps create web-map-http \
--default-service web-backend-service
Catatan: Peta URL adalah resource konfigurasi Google Cloud yang digunakan untuk mengarahkan permintaan ke layanan backend atau bucket backend.
Misalnya, dengan Load Balancer Aplikasi eksternal, Anda dapat menggunakan satu peta URL untuk mengarahkan permintaan ke berbagai tujuan berdasarkan aturan yang dikonfigurasi di peta URL:
- Permintaan untuk https://example.com/video akan mengarah ke satu layanan backend.
- Permintaan untuk https://example.com/audio mengarah ke layanan backend yang berbeda.
- Permintaan untuk https://example.com/images mengarah ke bucket backend Cloud Storage.
- Permintaan untuk kombinasi host dan jalur lainnya akan mengarah ke layanan backend default.
-
Buat proxy HTTP target untuk mengarahkan permintaan ke peta URL:
gcloud compute target-http-proxies create http-lb-proxy \
--url-map web-map-http
-
Buat aturan penerusan global untuk mengarahkan permintaan masuk ke proxy:
gcloud compute forwarding-rules create http-content-rule \
--address=lb-ipv4-1\
--global \
--target-http-proxy=http-lb-proxy \
--ports=80
Catatan:
Aturan penerusan dan alamat IP-nya yang sesuai mewakili konfigurasi frontend dari load balancer Google Cloud.
Pelajari lebih lanjut pemahaman umum tentang aturan penerusan dari panduan Ringkasan aturan penerusan.
Klik Periksa progres saya untuk memverifikasi bahwa Anda telah membuat Load Balancer Aplikasi L7.
Membuat Load Balancer Aplikasi
Tugas 4. Menguji traffic yang dikirim ke instance Anda
-
Pada kolom Search di Konsol Google Cloud, ketik Load balancing, lalu pilih Load balancing dari hasil penelusuran.
-
Klik load balancer yang baru saja dibuat, web-map-http.
-
Di bagian Backend, klik nama backend dan pastikan bahwa VM Healthy (responsif). Jika VM tidak responsif, tunggu sebentar lalu coba muat ulang halaman.
-
Jika VM responsif, uji load balancer menggunakan browser web dengan membuka http://IP_ADDRESS/
. Ganti IP_ADDRESS
dengan alamat IP load balancer yang Anda salin sebelumnya.
Catatan: Proses ini memerlukan waktu tiga sampai lima menit. Jika Anda tidak dapat terhubung, tunggu sebentar, lalu muat ulang browser.
Browser akan merender halaman berisi konten yang menampilkan nama instance yang menampilkan halaman tersebut, bersama dengan zonanya (misalnya, Page served from: lb-backend-group-xxxx
).
Klik Periksa progres saya untuk menguji traffic yang dikirim ke instance Anda.
Menguji load balancer menggunakan browser web
Selamat!
Di lab ini, Anda telah membuat load balancer aplikasi dan berlatih menggunakan template instance serta grup instance terkelola untuk mengirim traffic ke instance server web.
Langkah berikutnya/Pelajari lebih lanjut
Dokumentasi tambahan terkait load balancer:
Google Cloud menyediakan mekanisme health check yang menentukan apakah backend instance merespons traffic dengan benar atau tidak.
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 18 Juli 2025
Lab Terakhir Diuji pada 18 Juli 2025
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.