Panduan Implementasi Application Load Balancer AWS dan Integrasi Auto Scaling
Pelajari cara implementasi Application Load Balancer (ALB) AWS secara step-by-step. Panduan komprehensif mencakup konfigurasi EC2, setup Target Group, monitoring health check, hingga integrasi Auto Scaling Group untuk arsitektur cloud yang scalable dan highly available.
Pendahuluan
Application Load Balancer (ALB) merupakan layanan penyeimbang beban tingkat aplikasi yang disediakan oleh Amazon Web Services (AWS). Layanan ini beroperasi pada lapisan ketujuh model OSI dan dirancang untuk mendistribusikan lalu lintas aplikasi web secara dinamis across multiple target, seperti instance Amazon EC2, kontainer, dan alamat IP.
Konfigurasi Instance EC2
Pembuatan Instance Ganda
Proses dimulai dengan membuat dua instance EC2 secara simultan melalui AWS Management Console. Konfigurasi ini memastikan ketersediaan tinggi dan mendukung arsitektur fault-tolerant.
Antarmuka pembuatan instance EC2 pada AWS Management Console
Pengaturan Jaringan dan Key Pair
Pada tahap konfigurasi jaringan, penting untuk memastikan instance terletak dalam Virtual Private Cloud (VPC) yang sesuai dengan pengaturan keamanan yang diperlukan. Pemilihan key pair yang tepat diperlukan untuk mengamankan akses SSH.
Konfigurasi pengaturan jaringan dan pemilihan key pair
Konfigurasi Data Pengguna
User data digunakan untuk melakukan otomatisasi konfigurasi instance saat proses boot. Skrip berikut menginstal dan mengonfigurasi server web Apache:
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
apt-get update -y
apt-get upgrade -y
apt-get install -y apache2
systemctl enable apache2
systemctl start apache2
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html
systemctl restart apache2
Penamaan dan Pengelompokan Instance
Pemberian nama yang deskriptif pada setiap instance memudahkan identifikasi dan manajemen dalam lingkungan dengan banyak sumber daya.
Proses pemberian nama pada instance EC2
Konfigurasi Security Group
Security Group harus dikonfigurasi untuk mengizinkan lalu lintas HTTP pada port 80 guna memastikan akses web yang tepat.
Konfigurasi aturan masuk untuk lalu lintas HTTP
Implementasi Application Load Balancer
Inisiasi Load Balancer
ALB dibuat melalui konsol AWS dengan memilih layanan Load Balancer.
Antarmuka konsol Load Balancer
Seleksi Tipe Load Balancer
Application Load Balancer dipilih karena kemampuannya menangani lalu lintas HTTP/HTTPS dan mendukung fitur advanced routing.
Antarmuka pemilihan jenis load balancer pada AWS
Penamaan dan Zona Ketersediaan
ALB memerlukan penamaan yang unik dan harus diletakkan pada minimal dua Availability Zone (AZ) berbeda untuk memastikan redundansi dan ketersediaan tinggi.
Konfigurasi Security Group untuk ALB
Security Group khusus dibuat untuk ALB guna mengontrol lalu lintas yang diizinkan mengakses load balancer.
Pembuatan Security Group khusus untuk Application Load Balancer
Pembuatan Target Group
Target Group berfungsi sebagai kelompok tujuan yang menerima lalu lintas dari ALB. Konfigurasi meliputi penentuan protokol, port, dan pemeriksaan kesehatan.
Antarmuka konfigurasi Listeners and routing
Antarmuka konfigurasi Target Group
Registrasi Target
Instance EC2 yang telah dibuat didaftarkan sebagai target dalam Target Group.
Proses registrasi instance EC2 sebagai target dalam Target Group
Proses registrasi instance EC2 sebagai target dalam Target Group
Penyelesaian Konfigurasi ALB
Setelah Target Group berhasil dibuat, ALB dikonfigurasi untuk mengarahkan lalu lintas ke target group tersebut.
Penyelesaian konfigurasi dengan menghubungkan ALB ke Target Group
Validasi dan Pengujian
DNS Endpoint ALB
Setelah berhasil dibuat, ALB menyediakan endpoint DNS yang digunakan untuk mengakses aplikasi. Endpoint ini akan secara otomatis mendistribusikan lalu lintas ke instance yang sehat.
Endpoint DNS yang dihasilkan untuk mengakses Application Load Balancer
Pengujian Load Balancing
Akses berulang ke endpoint DNS akan menunjukkan respons dari instance, membuktikan bahwa lalu lintas didistribusikan secara acak (round-robin).
Hasil akses yang menunjukkan respons dari hostname instance
Uji Ketersediaan Tinggi
Untuk menguji kemampuan failover, salah satu instance dihentikan. ALB secara otomatis mendeteksi perubahan status kesehatan dan mengalihkan lalu lintas ke instance yang masih berjalan.
Proses penghentian (stop) salah satu instance EC2
Monitoring Status Kesehatan
Target Group secara kontinu memantau status kesehatan target. instance yang dihentikan akan menunjukkan status tidak digunakan (Unused), sementara instance lain tetap melayani lalu lintas.
Tampilan status kesehatan target dalam Target Group
Pemulihan dan Kesimpulan
Setelah instance yang dihentikan diaktifkan kembali, ALB secara otomatis akan mendeteksi pemulihan status kesehatan dan kembali memasukkan instance tersebut ke dalam rotasi layanan. Mekanisme ini menunjukkan kemampuan ALB dalam menjaga ketersediaan layanan secara otomatis tanpa intervensi manual.
ACF Lab: Scale and Load Balance Your Architecture
Arsitektur awal
Arsitektur akhir
Tugas 1: Membuat AMI untuk Auto Scaling
Dalam tugas ini, Anda akan membuat AMI dari Web Server 1 yang sudah ada. Ini akan menyimpan konten disk boot sehingga instance baru dapat diluncurkan dengan konten yang identik.
- Di Konsol Manajemen AWS, pada kotak pencarian di samping Services, cari dan pilih EC2.
- Di panel navigasi kiri, pilih Instances.
Pertama, Anda akan memastikan bahwa instance sedang berjalan.
Tunggu hingga Status Checks untuk Web Server 1 menampilkan 2/2 checks passed. Jika perlu, pilih refresh untuk memperbarui status. Anda sekarang akan membuat AMI berdasarkan instance ini.
- Pilih Web Server 1.
- Pada menu Actions, pilih Image and templates > Create image, lalu konfigurasikan:
- Pilih Create image
Spanduk konfirmasi akan menampilkan ID AMI untuk AMI baru Anda.

- Anda akan menggunakan AMI ini saat meluncurkan grup Auto Scaling nanti di lab.
Tugas 2: Membuat Load Balancer
Dalam tugas ini, Anda pertama akan membuat target group dan kemudian membuat load balancer yang dapat menyeimbangkan lalu lintas di beberapa instance EC2 dan Availability Zone.
Di panel navigasi kiri, pilih Target Groups.
Target Group mendefinisikan ke mana lalu lintas yang masuk ke Load Balancer akan dikirim. Application Load Balancer dapat mengirim lalu lintas ke beberapa Target Group berdasarkan URL permintaan yang masuk, seperti mengirim permintaan dari aplikasi seluler ke set server yang berbeda. Aplikasi web Anda akan menggunakan satu Target Group.
- Pilih Create target group
- Konfigurasikan:
Pilih Next. Layar Register targets akan muncul.
Target adalah instance individu yang akan merespons permintaan dari Load Balancer.
Anda belum memiliki instance aplikasi web, jadi langkah ini dapat dilewati.
- Tinjau pengaturan dan pilih Create target group
- Di panel navigasi kiri, pilih Load Balancers.
Di bagian atas layar, pilih Create load balancer.
Beberapa jenis load balancer ditampilkan. Anda akan menggunakan Application Load Balancer yang beroperasi pada tingkat permintaan (layer 7), mengarahkan lalu lintas ke target — instance EC2, container, alamat IP, dan fungsi Lambda — berdasarkan konten permintaan.
- Di bawah Application Load Balancer, pilih Create
- Di bawah Load balancer name, masukkan:
LabELB - Gulir ke bawah ke bagian Network mapping, lalu:
Untuk VPC, pilih Lab VPC
Anda akan menentukan subnet mana yang akan digunakan Load Balancer. Load balancer akan bersifat internet facing, jadi Anda akan memilih kedua Public Subnet.
- Pilih Availability Zone pertama yang ditampilkan, lalu pilih Public Subnet 1 dari menu drop-down Subnet yang muncul di bawahnya.
Pilih Availability Zone kedua yang ditampilkan, lalu pilih Public Subnet 2 dari menu drop-down Subnet yang muncul di bawahnya.
Anda sekarang seharusnya memiliki dua subnet yang dipilih: Public Subnet 1 dan Public Subnet 2.
- Di bagian Security groups:
Untuk baris Listener HTTP:80, atur Default action menjadi forward to LabGroup.

- Gulir ke bawah dan pilih Create load balancer
Load balancer berhasil dibuat.
- Pilih View load balancer
Load balancer akan menampilkan status provisioning. Tidak perlu menunggu hingga siap. Silakan lanjutkan dengan tugas berikutnya.
Tugas 3: Membuat Launch Template dan Auto Scaling Group
Dalam tugas ini, Anda akan membuat launch template untuk grup Auto Scaling Anda. Launch template adalah template yang digunakan grup Auto Scaling untuk meluncurkan instance EC2. Saat membuat launch template, Anda menentukan informasi untuk instance seperti AMI, tipe instance, key pair, dan security group.
- Di panel navigasi kiri, pilih Launch Templates.
- Pilih Create launch template
- Konfigurasikan pengaturan launch template dan buat:
- Launch template name:
LabConfig Di bawah Auto Scaling guidance, pilih Provide guidance to help me set up a template that I can use with EC2 Auto Scaling.

- Di area Application and OS Images (Amazon Machine Image), pilih My AMIs.
- Instance type: pilih t2.micro.
- Firewall (security groups): pilih Select existing security group.
- Gulir ke bawah ke area Advanced details dan perluas.
Gulir ke bawah ke pengaturan Detailed CloudWatch monitoring. Pilih Enable.

Ini akan memungkinkan Auto Scaling bereaksi cepat terhadap perubahan utilisasi.
- Pilih Create launch template
- Selanjutnya, Anda akan membuat grup Auto Scaling yang menggunakan launch template ini.
- Launch template name:
- Dalam dialog Success, pilih launch template LabConfig.
- Konfigurasikan detail di Langkah 1 (Choose launch template):
- Konfigurasikan detail di Langkah 2 (Choose instance launch options):
- Konfigurasikan detail di Langkah 3 (Configure advanced options):
- Pilih Attach to an existing load balancer
- Di panel Additional settings:
- Pilih Next
- Konfigurasikan detail di Langkah 4 (Configure group size and scaling policies - optional):
- Di bawah Group size, konfigurasikan:
- Di bawah Scaling policies, pilih Target tracking scaling policy dan konfigurasikan:
- Scaling policy name:
LabScalingPolicy - Metric type: Average CPU Utilization
Ini memberi tahu Auto Scaling untuk mempertahankan utilisasi CPU rata-rata di semua instance pada 60%. Auto Scaling akan secara otomatis menambah atau mengurangi kapasitas sesuai kebutuhan untuk menjaga metrik pada atau mendekati nilai target yang ditentukan. Ini menyesuaikan dengan fluktuasi dalam metrik karena pola beban yang berfluktuasi.
- Scaling policy name:
- Pilih Next
Konfigurasikan detail di Langkah 5 (Add notifications - optional):
Auto Scaling dapat mengirim notifikasi ketika peristiwa scaling terjadi. Anda akan menggunakan pengaturan default.
- Pilih Next
Konfigurasikan detail di Langkah 6 (Add tags - optional):
Tag yang diterapkan pada grup Auto Scaling akan secara otomatis disebarkan ke instance yang diluncurkan.
- Konfigurasikan detail di Langkah 6 (Review):
- Tinjau detail grup Auto Scaling Anda.
Pilih Create Auto Scaling group
Grup Auto Scaling Anda awalnya akan menampilkan jumlah instance nol, tetapi instance baru akan diluncurkan untuk mencapai Desired count sebanyak 2 instance.
Tugas 4: Verifikasi bahwa Load Balancing Berfungsi
Dalam tugas ini, Anda akan memverifikasi bahwa Load Balancing berfungsi dengan benar.
Di panel navigasi kiri, pilih Instances.
Anda akan melihat dua instance baru bernama Lab Instance. Ini diluncurkan oleh Auto Scaling.
Jika instance atau nama tidak ditampilkan, tunggu 30 detik dan pilih refresh di kanan atas.
- Selanjutnya, Anda akan memastikan bahwa instance baru telah lulus Health Check mereka.
- Di panel navigasi kiri, pilih Target Groups.
- Pilih LabGroup
Pilih tab Targets.
Dua instance target bernama Lab Instance harus terdaftar dalam target group.
- Tunggu hingga Status kedua instance berubah menjadi healthy.
- Anda sekarang dapat mengakses grup Auto Scaling melalui Load Balancer.
- Di panel navigasi kiri, pilih Load Balancers.
- Pilih load balancer LabELB.
- Di panel Details, salin DNS name load balancer, pastikan untuk menghilangkan “(A Record)”.
- Seharusnya terlihat seperti:
labelb-480774025.us-east-1.elb.amazonaws.com
- Seharusnya terlihat seperti:
Buka tab browser web baru, tempel DNS Name yang baru saja disalin, dan tekan Enter.
Aplikasi akan muncul di browser Anda. Ini menunjukkan bahwa Load Balancer menerima permintaan, mengirimkannya ke salah satu instance EC2, lalu mengembalikan hasilnya.
Tugas 5: Menguji Auto Scaling
Anda membuat grup Auto Scaling dengan minimum dua instance dan maksimum enam instance. Saat ini dua instance sedang berjalan karena ukuran minimum adalah dua dan grup saat ini tidak di bawah beban apa pun. Anda sekarang akan meningkatkan beban untuk menyebabkan Auto Scaling menambah instance tambahan.
Kembali ke Konsol Manajemen AWS.
Jangan tutup tab aplikasi — Anda akan kembali segera.
Pada kotak pencarian di samping Layanan, cari dan pilih CloudWatch.

Di panel navigasi kiri, pilih All alarms.
Dua alarm akan ditampilkan. Ini dibuat secara otomatis oleh grup Auto Scaling. Mereka akan secara otomatis menjaga beban CPU rata-rata mendekati 60% sambil tetap berada dalam batasan memiliki dua hingga enam instance.
- Catatan: Silakan ikuti langkah-langkah ini hanya jika Anda tidak melihat alarm dalam 60 detik.
- Pada menu Layanan, pilih EC2.
- Di panel navigasi kiri, pilih Auto Scaling Groups.
- Pilih Lab Auto Scaling Group.
- Di bagian bawah halaman, pilih tab Automatic Scaling.
- Pilih LabScalingPolicy.
- Pilih Actions dan Edit.
- Ubah Target Value menjadi
50. - Pilih Update
- Pada menu Layanan, pilih CloudWatch.
- Di panel navigasi kiri, pilih All alarms dan verifikasi Anda melihat dua alarm.
- Catatan: Silakan ikuti langkah-langkah ini hanya jika Anda tidak melihat alarm dalam 60 detik.
Pilih alarm OK, yang memiliki AlarmHigh dalam namanya.

Jika tidak ada alarm yang menunjukkan OK, tunggu satu menit lalu pilih refresh di kanan atas hingga status alarm berubah.
OK menunjukkan bahwa alarm belum terpicu. Ini adalah alarm untuk CPU Utilization > 60, yang akan menambah instance ketika CPU rata-rata tinggi. Grafik seharusnya menunjukkan tingkat CPU yang sangat rendah saat ini.
- Anda sekarang akan memerintahkan aplikasi untuk melakukan kalkulasi yang seharusnya meningkatkan tingkat CPU.
- Kembali ke tab browser dengan aplikasi web.
Pilih Load Test di samping logo AWS.

Ini akan menyebabkan aplikasi menghasilkan beban tinggi. Halaman browser akan secara otomatis menyegarkan sehingga semua instance dalam grup Auto Scaling akan menghasilkan beban.
Jangan tutup tab ini.
Kembali ke tab browser dengan konsol CloudWatch.
Dalam kurang dari 5 menit, alarm AlarmLow harus berubah menjadi OK dan status alarm AlarmHigh harus berubah menjadi In alarm.
Anda dapat memilih Refresh di kanan atas setiap 60 detik untuk memperbarui tampilan.
Anda akan melihat grafik AlarmHigh yang menunjukkan peningkatan persentase CPU. Setelah melewati garis 60% selama lebih dari 3 menit, itu akan memicu Auto Scaling untuk menambah instance tambahan.
- Pada kotak pencarian di samping Services, cari dan pilih EC2.
Di panel navigasi kiri, pilih Instances.
Lebih dari dua instance berlabel Lab Instance sekarang seharusnya berjalan. Instance baru dibuat oleh Auto Scaling sebagai respons terhadap alarm CloudWatch.
Tugas 6: Menghentikan Web Server 1
Dalam tugas ini, Anda akan menghentikan Web Server 1. Instance ini digunakan untuk membuat AMI yang digunakan oleh grup Auto Scaling Anda, tetapi sudah tidak diperlukan lagi.



























