Checkpoint
Configure HTTP and health check firewall rules
/ 25
Configure instance templates and instance group
/ 25
Configure the HTTP Load Balancer
/ 25
Blacklist the siege-vm
/ 25
Load Balancer HTTP dengan Cloud Armor
GSP215
Ringkasan
Load balancing HTTP(S) Google Cloud diterapkan di edge jaringan Google pada titik kehadiran (POP) Google di seluruh dunia. Traffic pengguna yang diarahkan ke load balancer HTTP(S) masuk ke POP yang terdekat dengan pengguna dan selanjutnya mengalami load balancing melalui jaringan global Google ke backend terdekat yang memiliki kapasitas memadai.
Daftar IP yang disetujui/ditolak dari Cloud Armor memungkinkan Anda membatasi atau mengizinkan akses ke load balancer HTTP(S) di edge Google Cloud, sedekat mungkin dengan pengguna dan traffic yang berbahaya. Hal ini mencegah pengguna atau traffic yang berbahaya memakai resource atau memasuki jaringan Virtual Private Cloud (VPC) Anda.
Dalam lab ini, Anda akan mengonfigurasi Load Balancer HTTP dengan backend global, seperti ditunjukkan pada diagram di bawah. Selanjutnya, Anda akan menguji daya tahan Load Balancer dan menolak alamat IP pengujian daya tahan dengan Cloud Armor.
Tujuan
Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:
- Membuat aturan firewall HTTP dan health check
- Mengonfigurasi dua template instance
- Membuat dua grup instance terkelola
- Mengonfigurasi Load Balancer HTTP dengan IPv4 dan IPv6
- Menguji daya tahan Load Balancer HTTP
- Menolak alamat IP untuk membatasi akses ke 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.
Tugas 1. Mengonfigurasi aturan firewall HTTP dan health check
Konfigurasi aturan firewall untuk mengizinkan traffic HTTP ke backend dan traffic TCP dari health checker Google Cloud.
Membuat aturan firewall HTTP
Buat aturan firewall untuk mengizinkan traffic HTTP ke backend.
-
Di Konsol Cloud, buka Navigation menu () > VPC network > Firewall.
-
Perhatikan aturan firewall ICMP, internal, RDP, dan SSH yang ada.
Setiap project Google Cloud dimulai dengan jaringan default dan aturan firewall tersebut.
-
Klik Create Firewall Rule.
-
Tetapkan nilai berikut dan biarkan semua nilai lainnya dalam setelan default:
Properti Nilai (masukkan nilai atau pilih opsi yang ditentukan) Name default-allow-http Network default Targets Specified target tags Target tags http-server Source filter IPv4 Ranges Source IPv4 ranges 0.0.0.0/0 Protocols and ports Specified protocols and ports, lalu centang TCP, ketik: 80
Pastikan Anda menyertakan /0 di Source IPv4 ranges untuk menentukan semua jaringan.
- Klik Create.
Membuat aturan firewall health check
Health check menentukan instance load balancer mana yang dapat menerima koneksi baru. Untuk load balancing HTTP, pemeriksaan health check ke load balanced instance berasal dari alamat dalam rentang 130.211.0.0/22
dan 35.191.0.0/16
. Aturan firewall Anda harus mengizinkan koneksi ini.
-
Masih di halaman Firewall policies, klik Create Firewall Rule.
-
Tetapkan nilai berikut dan biarkan semua nilai lainnya dalam setelan default:
Properti Nilai (masukkan nilai atau pilih opsi yang ditentukan) Name default-allow-health-check Network default Targets Specified target tags Target tags http-server Source filter IPv4 Ranges Source IPv4 ranges 130.211.0.0/22
,35.191.0.0/16
Protocols and ports Specified protocols and ports, lalu centang TCP Catatan: Pastikan Anda memasukkan kedua Source IPv4 ranges satu per satu, lalu tekan SPASI di antara keduanya. -
Klik Create.
Klik Check my progress untuk memverifikasi tujuan.
Tugas 2. Mengonfigurasi template instance dan membuat grup instance
Grup instance terkelola menggunakan template instance untuk membuat sebuah grup yang berisi instance yang identik. Gunakan ini untuk membuat backend Load Balancer HTTP.
Mengonfigurasi template instance
Template instance adalah resource API yang Anda gunakan untuk membuat instance VM dan grup instance terkelola. Template instance menentukan jenis mesin, boot disk image, subnet, label, dan properti instance lainnya.
Buat satu template instance untuk
-
Di Konsol Cloud, buka Navigation menu () > Compute Engine > Instance templates, lalu klik Create instance template.
-
Untuk Name, ketik
-template. -
Untuk Location, pilih Global.
-
Untuk Series, pilih E2.
-
Untuk Machine Type, pilih e2-micro.
-
Klik Advanced Options.
-
Klik Networking. Tetapkan nilai berikut dan biarkan semua nilai lainnya dalam setelan default:
Properti Nilai (masukkan nilai atau pilih opsi yang ditentukan) Network tags http-server -
Klik default di bagian Network interfaces. Tetapkan nilai berikut dan biarkan semua nilai lainnya dalam setelan default:
Properti Nilai (masukkan nilai atau pilih opsi yang ditentukan) Network default Subnetwork default Klik Done.
Tag jaringan http-server memastikan bahwa aturan firewall HTTP dan Health Check berlaku untuk instance ini.
-
Klik tab Management.
-
Di bagian Metadata, klik + ADD ITEM dan tentukan berikut ini:
Key Value startup-script-url gs://cloud-training/gcpnet/httplb/startup.sh
startup-script-url
menentukan skrip yang dijalankan saat instance dimulai. Skrip ini akan menginstal Apache dan mengubah halaman sambutan agar menyertakan IP klien dan nama, region, serta zona instance VM. Silakan pelajari skrip ini.
- Klik Create.
- Tunggu hingga template instance selesai dibuat.
Sekarang, buat template instance lainnya untuk subnet-b dengan menyalin
- Klik
-template, lalu klik opsi +CREATE SIMILAR dari atas. - Untuk Name, ketik
-template. - Pastikan Location ditetapkan ke Global.
- Klik Advanced Options.
- Klik Networking.
- Pastikan http-server ditambahkan sebagai network tag.
- Di Network interfaces, untuk Subnetwork, pilih default (
). - Klik Done.
- Klik Create.
Membuat grup instance terkelola
Buat satu grup instance terkelola di
-
Masih di Compute Engine, klik Instance groups di menu kiri.
-
Klik Create instance group.
-
Tetapkan nilai berikut dan biarkan semua nilai lainnya dalam setelan default:
Properti Nilai (masukkan nilai atau pilih opsi yang ditentukan) Name -mig (jika diperlukan, hapus spasi ekstra dari nama) Instance template -template Location Multiple zones Region Minimum number of instances 1 Maximum number of instances 2 Autoscaling signals > Click dropdown > Signal type CPU utilization Target CPU utilization 80, klik Done. Initialization period 45
Grup instance terkelola menawarkan kemampuan penskalaan otomatis sehingga Anda dapat secara otomatis menambahkan atau menghapus instance dari grup instance terkelola berdasarkan peningkatan atau penurunan beban. Penskalaan otomatis membantu aplikasi Anda menangani peningkatan traffic dan mengurangi biaya saat kebutuhan resource menurun. Anda cukup menentukan kebijakan penskalaan otomatis dan autoscaler akan melakukan penskalaan otomatis berdasarkan beban yang diukur.
- Klik Create.
Ulangi prosedur yang sama untuk membuat grup instance kedua untuk
-
Klik Create Instance group.
-
Tetapkan nilai berikut dan biarkan semua nilai lainnya dalam setelan default:
Properti Nilai (masukkan nilai atau pilih opsi yang ditentukan) Name -mig Instance template -template Location Multiple zones Region Minimum number of instances 1 Maximum number of instances 2 Autoscaling signals > Click dropdown > Signal type CPU utilization Target CPU utilization 80, klik Done. Initialization period 45 -
Klik Create.
Klik Check my progress untuk memverifikasi tujuan.
Memverifikasi backend
Verifikasi bahwa instance VM sedang dibuat di kedua region, lalu akses situs HTTP keduanya.
-
Masih di Compute Engine, klik VM instances di menu kiri.
-
Perhatikan instance yang diawali dengan
-mig dan -mig. Instance ini adalah bagian dari grup instance terkelola.
-
Klik External IP instance
-mig. Anda akan melihat Client IP (alamat IP Anda), Hostname (diawali dengan
-mig), dan Server Location (zona di ). -
Klik External IP instance
-mig. Anda akan melihat Client IP (alamat IP Anda), Hostname (diawali dengan
-mig), dan Server Location (zona di ).
Tugas 3. Mengonfigurasi Load Balancer HTTP
Konfigurasi Load Balancer HTTP untuk menyeimbangkan traffic antara kedua backend (
Memulai konfigurasi
-
Di Konsol Cloud, klik Navigation menu () > klik Network Services > Load balancing.
-
Klik Create load balancer.
-
Di bagian Application Load Balancer HTTP(S), klik Next.
-
Untuk Public facing or internal, pilih Public facing (external), lalu klik Next.
-
Untuk Global or single region deployment, pilih Best for global workloads, lalu klik Next.
-
Untuk Create load balancer, klik Configure.
-
Tetapkan Name untuk New HTTP(S) Load Balancer ke
http-lb
.
Mengonfigurasi frontend
Aturan host dan jalur menentukan bagaimana traffic akan diarahkan. Misalnya, Anda dapat mengarahkan traffic video ke satu backend dan traffic statis ke backend lainnya. Namun, Anda tidak mengonfigurasi aturan Host dan jalur di lab ini.
-
Klik Frontend configuration.
-
Tetapkan nilai berikut dan biarkan semua nilai lainnya dalam setelan default:
Properti Nilai (masukkan nilai atau pilih opsi yang ditentukan) Protocol HTTP IP version IPv4 IP address Ephemeral Port 80 -
Klik Done.
-
Klik Add Frontend IP and port.
-
Tetapkan nilai berikut dan biarkan semua nilai lainnya dalam setelan default:
Properti Nilai (masukkan nilai atau pilih opsi yang ditentukan) Protocol HTTP IP version IPv6 IP address Auto-allocate Port 80 -
Klik Done.
Load balancing HTTP(S) mendukung alamat IPv4 dan IPv6 untuk traffic klien. Permintaan IPv6 klien dihentikan di lapisan load balancing global dan selanjutnya di-proxy-kan melalui IPv4 ke backend Anda.
Mengonfigurasi backend
Layanan backend mengarahkan traffic masuk ke satu atau beberapa backend yang terpasang. Setiap backend terdiri dari grup instance dan metadata kapasitas penyaluran tambahan.
-
Klik Backend configuration.
-
Untuk Backend services & backend buckets, klik Create a backend service.
-
Tetapkan nilai berikut dan biarkan semua nilai lainnya dalam setelan default:
Properti Nilai (pilih opsi yang ditentukan) Name http-backend Instance group -mig Port numbers 80 Balancing mode Rate Maximum RPS 50 Capacity 100
Konfigurasi ini berarti bahwa load balancer berupaya mempertahankan setiap instance
-
Klik Done.
-
Klik Add a backend.
-
Tetapkan nilai berikut dan biarkan semua nilai lainnya dalam setelan default:
Properti Nilai (pilih opsi yang ditentukan) Instance group -mig Port numbers 80 Balancing mode Utilization Maximum backend utilization 80 Capacity 100
Konfigurasi ini berarti bahwa load balancer berupaya mempertahankan setiap instance
-
Klik Done.
-
Untuk Health Check, pilih Create a health check.
-
Tetapkan nilai berikut dan biarkan semua nilai lainnya dalam setelan default:
Properti Nilai (pilih opsi yang ditentukan) Name http-health-check Protocol TCP Port 80
Health check menentukan instance mana yang menerima koneksi baru. Health check HTTP memeriksa instance setiap 5 detik, menunggu hingga 5 detik untuk mendapat respons, dan memperlakukan 2 upaya yang berhasil sebagai upaya yang responsif serta 2 upaya yang gagal sebagai upaya yang tidak responsif.
- Klik Save.
- Centang kotak Enable Logging.
- Tetapkan Sample Rate ke
1
. - Klik Create untuk membuat layanan backend.
- Klik Ok.
Meninjau dan membuat Load Balancer HTTP
- Klik Review and finalize.
- Tinjau layanan Backend dan Frontend.
- Klik Create.
- Tunggu load balancer dibuat.
- Klik nama load balancer (http-lb).
- Perhatikan alamat IPv4 dan IPv6 dari load balancer untuk tugas berikutnya. Keduanya masing-masing akan disebut sebagai
[LB_IP_v4]
dan[LB_IP_v6]
.
Klik Check my progress untuk memverifikasi tujuan.
Tugas 4. Menguji Load Balancer HTTP
Anda telah membuat Load Balancer HTTP untuk backend. Sekarang saatnya memverifikasi bahwa traffic diteruskan ke layanan backend.
Mengakses Load Balancer HTTP
Untuk menguji akses IPv4 ke Load Balancer HTTP, buka tab baru di browser dan tuju http://[LB_IP_v4]
. Ganti [LB_IP_v4]
dengan alamat IPv4 load balancer.
Jika Anda memiliki alamat IPv6 lokal, coba alamat IPv6 Load Balancer HTTP dengan membuka http://[LB_IP_v6]
. Ganti [LB_IP_v6]
dengan alamat IPv6 load balancer.
Menguji daya tahan Load Balancer HTTP
Buat VM baru untuk menyimulasikan beban di Load Balancer HTTP menggunakan siege
. Kemudian, tentukan apakah traffic seimbang di kedua backend ketika bebannya tinggi.
-
Di Konsol Cloud, buka Navigation menu () > Compute Engine > VM instances.
-
Klik Create instance.
-
Tetapkan nilai berikut dan biarkan semua nilai lainnya dalam setelan default:
Properti Nilai (masukkan nilai atau pilih opsi yang ditentukan) Name siege-vm Region Zone Series E2
Karena
- Klik Create.
- Tunggu hingga instance siege-vm selesai dibuat.
- Untuk siege-vm, klik SSH untuk meluncurkan terminal, lalu hubungkan.
- Jalankan perintah berikut untuk menginstal siege:
- Untuk menyimpan alamat IPv4 Load Balancer HTTP di sebuah variabel lingkungan, jalankan perintah berikut dengan mengganti
[LB_IP_v4]
dengan alamat IPv4:
- Untuk menyimulasikan beban, jalankan perintah berikut:
- Di Konsol Cloud, pada Navigation menu (), klik Network Services > Load balancing.
- Klik Backend.
- Klik http-backend.
- Buka http-lb.
- Klik tab Monitoring.
- Pantau Frontend Location (Total inbound traffic) antara Amerika Utara dan kedua backend selama 2 hingga 3 menit.
Pertama-tama, traffic hanya akan diarahkan ke
Hal ini menunjukkan bahwa traffic diteruskan ke backend terdekat secara default. Namun, jika bebannya terlalu tinggi, traffic dapat didistribusikan di seluruh backend.
- Kembali ke terminal SSH untuk siege-vm.
- Tekan CTRL+C untuk menghentikan siege jika masih berjalan.
Output-nya akan terlihat seperti ini:
Tugas 5. Menolak siege-vm
Gunakan Cloud Armor untuk menolak siege-vm agar tidak mengakses Load Balancer HTTP.
Membuat kebijakan keamanan
Buat kebijakan keamanan Cloud Armor dengan aturan daftar tolak untuk siege-vm.
- Di Konsol Cloud, buka Navigation menu () > Compute Engine > VM instances.
- Catat External IP untuk siege-vm. Nilai ini akan disebut
[SIEGE_IP]
.
-
Di Konsol Cloud, buka Navigation menu > Network Security > Cloud Armor Policies.
-
Klik Create policy.
-
Tetapkan nilai berikut dan biarkan semua nilai lainnya dalam setelan default:
Properti Nilai (masukkan nilai atau pilih opsi yang ditentukan) Name denylist-siege Default rule action Allow -
Klik Next step.
-
Klik Add a rule.
-
Tetapkan nilai berikut dan biarkan semua nilai lainnya dalam setelan default:
Properti Nilai (masukkan nilai atau pilih opsi yang ditentukan) Condition > Match Masukkan SIEGE_IP Action Deny Response code 403 (Forbidden) Priority 1000 -
Klik Done.
-
Klik Next step.
-
Klik Add Target.
-
Untuk Type, pilih Backend service (external application load balancer).
-
Untuk Target, pilih http-backend.
-
Klik Create policy.
- Tunggu hingga kebijakan selesai dibuat sebelum beralih ke tugas berikutnya.
Klik Check my progress untuk memverifikasi tujuan.
Memverifikasi kebijakan keamanan
Verifikasi bahwa siege-vm tidak dapat mengakses Load Balancer HTTP.
- Kembali ke terminal SSH untuk siege-vm.
- Untuk mengakses load balancer, jalankan perintah berikut:
Output-nya akan terlihat seperti ini:
- Buka tab baru di browser Anda dan buka
http://[LB_IP_v4]
. Ganti[LB_IP_v4]
dengan alamat IPv4 load balancer.
- Kembali ke terminal SSH untuk siege-vm. Simulasikan beban dengan menjalankan perintah berikut:
Perintah ini tidak akan menghasilkan output apa pun.
Pelajari log kebijakan keamanan untuk mengetahui apakah traffic ini juga diblokir.
- Di Konsol Cloud, buka Navigation menu > Network Security > Cloud Armor Policies.
- Klik denylist-siege.
- Klik Logs.
- Klik View policy logs.
- Di halaman Logging, pastikan Anda menghapus semua teks di Query preview. Pilih resource ke Application Load Balancer > http-lb-forwarding-rule > http-lb, lalu klik Apply.
- Sekarang klik Run Query.
- Luaskan entri log di Query results.
- Luaskan httpRequest.
Permintaan ini harus berasal dari alamat IP siege-vm. Jika bukan, luaskan entri log lainnya.
- Luaskan jsonPayload.
- Luaskan enforcedSecurityPolicy.
- Perhatikan bahwa configuredAction ditetapkan ke
DENY
dengan namedenylist-siege
.
Kebijakan keamanan Cloud Armor membuat log yang dapat dipelajari untuk mengetahui kapan traffic ditolak dan diizinkan, beserta sumber traffic tersebut.
Selamat!
Anda telah mengonfigurasi Load Balancer HTTP dengan backend di
Langkah berikutnya/Pelajari lebih lanjut
-
Untuk informasi tentang konsep dasar Cloud Armor, lihat dokumentasi Cloud Armor.
-
Untuk informasi selengkapnya tentang Load Balancing, lihat dokumentasi Load Balancing.
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 18 April 2024
Lab Terakhir Diuji 18 April 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.