arrow_back

Menyiapkan Load Balancer Jaringan dan HTTP

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

Menyiapkan Load Balancer Jaringan dan HTTP

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

GSP007

Lab Mandiri Google Cloud

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

Cara memulai lab dan login ke Google Cloud Console

  1. 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 berikut ini:

    • Tombol Open Google Console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. Klik Open Google Console. Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Login.

    Tips: Atur tab di jendela terpisah secara berdampingan.

    Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
  3. Jika perlu, salin Username dari panel Lab Details dan tempel ke dialog Sign in. Klik Next.

  4. Salin Password dari panel Lab Details dan tempel ke dialog Welcome. Klik Next.

    Penting: Anda harus menggunakan kredensial dari panel sebelah kiri. Jangan menggunakan kredensial Google Cloud Skills Boost. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  5. Klik halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan daftar uji coba gratis.

Setelah beberapa saat, Cloud Console akan terbuka di tab ini.

Catatan: Anda dapat melihat menu dengan daftar Produk dan Layanan Google Cloud dengan mengklik Menu navigasi di kiri atas. Ikon menu navigasi

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.

  1. Klik Activate Cloud Shell Ikon 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:

Project Cloud Platform Anda dalam sesi ini disetel ke YOUR_PROJECT_ID

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

  2. Output Anda sekarang akan terlihat seperti ini:

Output:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net Untuk menyetel akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (Opsional) Anda dapat menampilkan daftar project ID dengan perintah ini:
gcloud config list project

Output:

[core] project = <project_ID>

Contoh output:

[core] project = qwiklabs-gcp-44776a13dea667a6 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

  1. Tetapkan region default:

    gcloud config set compute/region {{{project_0.default_region | Region}}}
  2. 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 . Menyetel kolom tag memungkinkan Anda merujuk semua instance ini sekaligus, seperti saat menggunakan aturan firewall. Perintah ini juga menginstal Apache di setiap instance dan memberi setiap instance halaman beranda yang unik.

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

  1. Jalankan perintah berikut untuk menampilkan instance. Anda akan melihat alamat IP instance di kolom EXTERNAL_IP:

    gcloud compute instances list
  2. 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.

Catatan: Pelajari lebih lanjut cara menyiapkan load balancing jaringan dari Panduan Ringkasan Load Balancing Jaringan TCP/UDP Eksternal.
  1. 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].
  2. Tambahkan resource health check HTTP lama:

    gcloud compute http-health-checks create basic-check
  3. 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
  4. Tambahkan instance ke kumpulan tersebut:

    gcloud compute target-pools add-instances www-pool \ --instances www1,www2,www3
  5. 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.

  1. 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}}}
  2. Akses alamat IP eksternal

    IPADDRESS=$(gcloud compute forwarding-rules describe www-rule --region {{{project_0.default_region | Region}}} --format="json" | jq -r .IPAddress)
  3. Tampilkan alamat IP eksternal

    echo $IPADDRESS
  4. Gunakan perintah curl untuk mengakses alamat IP eksternal, dan ganti IP_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.

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

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

  2. 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}}}
  3. 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 dan 35.191.0.0/16). Lab ini menggunakan tag target allow-health-check untuk mengidentifikasi VM
  4. 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
  5. 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.
  6. Buat layanan backend:

    gcloud compute backend-services create web-backend-service \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --global
  7. 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
  8. 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.
  9. Buat proxy HTTP target untuk mengarahkan permintaan ke peta URL:

    gcloud compute target-http-proxies create http-lb-proxy \ --url-map web-map-http
  10. 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 Check my progress di bawah untuk memverifikasi bahwa Anda telah membuat load balancer HTTP(S) L7.

Membuat load balancer HTTP

Tugas 6. Menguji traffic yang dikirim ke instance

  1. Di konsol Google Cloud, dari Navigation menu, buka Network services > Load balancing.

  2. Klik load balancer yang baru saja dibuat (web-map-http).

  3. Di bagian Backend, klik nama backend dan pastikan bahwa VM Healthy (responsif). Jika VM tidak responsif, tunggu sebentar lalu coba muat ulang halaman.

  4. Jika VM responsif, uji load balancer menggunakan browser web dengan membuka http://IP_ADDRESS/. Ganti IP_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

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.