Checkpoint
Create multiple web server instances
/ 30
Configure the load balancing service
/ 20
Create an HTTP load balancer
/ 50
Menyiapkan Load Balancer Jaringan dan HTTP
- GSP007
- Ringkasan
- Yang akan Anda pelajari
- Penyiapan dan persyaratan
- Tugas 1. Menetapkan region dan zona default untuk semua resource
- Tugas 2. Membuat beberapa instance server web
- Tugas 3. Mengonfigurasi layanan load balancing
- Tugas 4. Mengirimkan traffic ke instance
- Tugas 5. Membuat load balancer HTTP
- Tugas 6. Menguji traffic yang dikirim ke instance
- Selamat!
GSP007
Ringkasan
Dalam lab praktik ini, Anda akan mempelajari perbedaan antara load balancer jaringan dan load balancer HTTP, serta cara menyiapkannya untuk aplikasi yang berjalan di mesin virtual (VM) Compute Engine.
Ada beberapa cara agar Anda dapat 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 menempelkan perintah dari blok kode ke tempat yang sesuai selama lab berlangsung.
Yang akan Anda pelajari
- Menyiapkan load balancer jaringan.
- Menyiapkan load balancer HTTP.
- Mendapatkan pengalaman langsung dalam mempelajari perbedaan antara load balancer jaringan dan load balancer HTTP.
Penyiapan dan persyaratan
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.
Cara memulai lab dan login ke Google Cloud Console
-
Klik tombol Start Lab. Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran. Di sebelah kiri adalah panel Lab Details dengan info 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.
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.
Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke PROJECT_ID Anda. Output berisi baris yang mendeklarasikan PROJECT_ID untuk sesi ini:
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:
-
Klik Authorize.
-
Output Anda sekarang akan terlihat seperti ini:
Output:
- (Opsional) Anda dapat menampilkan daftar project ID dengan perintah ini:
Output:
Contoh output:
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 Compute Engine Panduan Region dan Zona.
Tugas 2. Membuat beberapa instance server web
Untuk skenario load balancing ini, buat tiga instance VM Compute Engine dan instal Apache di dalamnya, lalu tambahkan aturan firewall yang memungkinkan traffic HTTP menjangkau instance tersebut.
Kode yang disediakan akan menetapkan zona ke
-
Buat mesin virtual 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 mesin virtual 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 mesin virtual 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 setiap instance sudah berjalan dengan perintah
curl
. Ganti [IP_ADDRESS] dengan alamat IP untuk setiap VM:curl http://[IP_ADDRESS] Klik Check my progress di bawah untuk memverifikasi bahwa Anda telah membuat beberapa server web.
Membuat beberapa instance server web
Tugas 3. Mengonfigurasi layanan load balancing
Ketika mengonfigurasi layanan load balancing, instance mesin virtual akan menerima paket yang ditujukan untuk alamat IP eksternal statis yang dikonfigurasi. Instance yang dibuat dengan image Compute Engine akan otomatis dikonfigurasi guna menangani alamat IP ini.
-
Buat alamat IP eksternal statis untuk load balancer:
gcloud compute addresses create network-lb-ip-1 \ --region {{{project_0.default_region | Region}}} Output:
Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-xxxxxxxxxxx/regions/{{{project_0.startup_script.project_region}}}/addresses/network-lb-ip-1]. -
Tambahkan resource health check HTTP lama:
gcloud compute http-health-checks create basic-check -
Tambahkan kumpulan target dalam region yang sama dengan instance Anda. Jalankan perintah berikut untuk membuat kumpulan target dan menggunakan health check, yang diperlukan agar layanan dapat berfungsi:
gcloud compute target-pools create www-pool \ --region {{{project_0.default_region | Region}}} --http-health-check basic-check -
Tambahkan instance ke kumpulan tersebut:
gcloud compute target-pools add-instances www-pool \ --instances www1,www2,www3 -
Tambahkan aturan penerusan:
gcloud compute forwarding-rules create www-rule \ --region {{{project_0.default_region | Region}}} \ --ports 80 \ --address network-lb-ip-1 \ --target-pool www-pool Klik Check my progress di bawah untuk memverifikasi bahwa Anda telah membuat load balancer jaringan L4 yang mengarah ke server web.
Mengonfigurasi layanan load balancing
Tugas 4. Mengirimkan traffic ke instance
Setelah layanan load balancing dikonfigurasi, Anda dapat mulai mengirimkan traffic ke aturan penerusan dan melihat traffic tersebar ke berbagai instance.
-
Masukkan perintah berikut untuk melihat alamat IP eksternal dari aturan penerusan www-rule yang digunakan oleh load balancer:
gcloud compute forwarding-rules describe www-rule --region {{{project_0.default_region | Region}}} -
Akses alamat IP eksternal
IPADDRESS=$(gcloud compute forwarding-rules describe www-rule --region {{{project_0.default_region | Region}}} --format="json" | jq -r .IPAddress) -
Tampilkan alamat IP eksternal
echo $IPADDRESS -
Gunakan perintah
curl
untuk mengakses alamat IP eksternal, dan gantiIP_ADDRESS
dengan alamat IP eksternal dari perintah sebelumnya:while true; do curl -m1 $IPADDRESS; done Respons dari perintah
curl
secara acak berbeda di antara tiga instance tersebut. Jika respons di awal tidak berhasil, tunggu sekitar 30 detik agar konfigurasi dimuat sepenuhnya dan instance Anda dianggap responsif sebelum mencoba lagi. -
Gunakan Ctrl + C untuk menghentikan perintah yang berjalan.
Tugas 5. Membuat load balancer HTTP
Load Balancing HTTP(S) 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 harus berada dalam grup instance. Grup instance terkelola menyediakan VM yang menjalankan server backend load balancer HTTP eksternal. Untuk lab ini, backend menyediakan 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 masuk mengizinkan traffic dari sistem health check Google Cloud ( 130.211.0.0/22
dan35.191.0.0/16
). Lab ini menggunakan tag targetallow-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 Catat alamat IPv4 yang dicadangkan:
gcloud compute addresses describe lb-ipv4-1 \ --format="get(address)" \ --global -
Buat health check untuk load balancer:
gcloud compute health-checks create http http-basic-check \ --port 80 Catatan: Google Cloud menyediakan mekanisme health check yang menentukan apakah backend instance merespons traffic dengan benar. Untuk mengetahui informasi selengkapnya, harap lihat dokumen Membuat health check. -
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 HTTP(S) 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 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 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
Klik Check my progress di bawah untuk memverifikasi bahwa Anda telah membuat load balancer HTTP(S) L7.
Tugas 6. Menguji traffic yang dikirim ke instance
-
Di konsol Google Cloud, dari Navigation menu, buka Network services > Load balancing.
-
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/
. GantiIP_ADDRESS
dengan alamat IP load balancer.
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
).
Selamat!
Anda telah membuat load balancer jaringan dan load balancer HTTP(S) serta berlatih menggunakan template instance dan grup instance terkelola.
Menyelesaikan Quest
Lab mandiri ini merupakan bagian dari quest Google Cloud Essentials.
Quest adalah serangkaian lab terkait yang membentuk jalur pembelajaran.
Dengan menyelesaikan quest ini, Anda mendapatkan badge sebagai pengakuan atas pencapaian Anda.
Anda dapat memperlihatkan badge atau beberapa badge kepada publik dan menautkannya di resume online atau akun media sosial Anda.
Daftar ke Quest ini dan langsung dapatkan kredit penyelesaian.
Lihat katalog untuk mengetahui semua Quest yang tersedia.
Ikuti lab berikutnya
Lanjutkan quest dengan Memahami Node Kubernetes, atau lihat lab yang disarankan berikut:
Langkah berikutnya/Pelajari lebih lanjut
- Menyiapkan load balancer jaringan dengan layanan backend
- Menyiapkan load balancer HTTPS eksternal sederhana
- Ringkasan Load Balancing HTTP(S) Eksternal
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 19 September 2023
Lab Terakhir Diuji pada 19 September 2023
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.