Skip to main content

🛠️ Langkah Step-by-Step Setup AWS Auto Scaling

Diagram Arstiketurnya

image.png

✅ Step 1: Persiapan EC2 AMI

  1. Launch 1 EC2 instance (misalnya OS Ubuntu).

  2. Install aplikasi yang ingin diuji scaling-nya (misal: WordPress, atau web server sederhana pakai Apache/Nginx).

  3. Uji lokal, pastikan aplikasinya jalan.

  4. Buat AMI (Amazon Machine Image) dari instance ini.

    • AWS Console > EC2 > Instances > Actions > Create Image


Step 2: Buat Launch Template

  1. AWS Console > EC2 > Launch Templates > Create Launch Template

  2. Isi:

    • Nama

    • Pilih AMI dari step sebelumnya

    • Instance type (misalnya t3.micro)

    • Key Pair

    • Security Group (boleh gunakan yang mengizinkan port 80/443)

    • User Data (opsional, untuk auto-config seperti install web server saat boot)


Step 3: Buat Auto Scaling Group

  1. AWS Console > EC2 > Auto Scaling Groups > Create ASG

  2. Gunakan Launch Template yang tadi dibuat

  3. Pilih VPC dan Subnet (wajib lebih dari 1 untuk high availability)

  4. Attach ke Load Balancer:

    • Pilih “Attach to an existing load balancer” atau buat baru.

    • Pilih Application Load Balancer (ALB) jika aplikasinya web-based.

  5. Atur Group Size:

    • Min: 1

    • Desired: 2 (misalnya)

    • Max: 4

  6. Konfigurasi Scaling Policy:

    • Pilih “Target Tracking” atau “Step Scaling”

    • Misalnya: CPU > 70% → tambah instance; CPU < 30% → kurangi instance

  7. Review dan Create ASG


Step 4: Buat Load Balancer (Jika Belum Ada)

  1. AWS Console > EC2 > Load Balancers > Create

  2. Pilih Application Load Balancer (ALB)

  3. Konfigurasi:

    • Listener: HTTP (port 80)

    • Tambahkan target group

    • Target type: instance

  4. Setelah dibuat, balik ke ASG dan pastikan sudah attach ke load balancer


Step 5: Uji Auto Scaling

  1. Akses aplikasi via DNS Load Balancer

  2. Uji beban:

    • Pakai stress, ab (Apache benchmark), atau siege untuk meningkatkan CPU

    • CloudWatch akan membaca CPU usage, alarm aktif → trigger scaling

  3. Cek EC2 instances bertambah atau berkurang


🧪 Tips untuk Simulasi Scaling (Optional)

Gunakan command di instance untuk simulasi CPU usage:

sudo apt install stress -y 
stress --cpu 4 --timeout 300

📦 Bonus: Cleanup

Setelah selesai belajar:

  • Hapus ASG

  • Hapus Load Balancer

  • Hapus Launch Template

  • Terminate EC2 instances

  • Hapus AMI dan snapshot


🔧 Analogi AWS Auto Scaling: Restoran Pintar

Bayangkan kamu punya sebuah restoran yang menjual nasi goreng. Kadang ramai banget, kadang sepi tergantung jam dan hari.


🏢 1. EC2 Instance = Koki

  • Setiap koki adalah 1 EC2 instance.

  • Koki ini yang mengolah pesanan pelanggan (menjalankan aplikasi kita).

  • Kalau pelanggan banyak, satu koki kewalahan.


📦 2. Launch Template = Template Karyawan Baru

  • Kamu punya formulir perekrutan yang isinya:

    • Siapa nama calon koki

    • Skill-nya apa (bisa masak apa)

    • Jadwal kerja

  • Ini seperti Launch Template: template untuk membuat EC2 baru, sudah ada OS, aplikasi, setting, dll.


👥 3. Auto Scaling Group = Tim HRD Otomatis

  • HRD ini bisa otomatis menambah atau mengurangi koki berdasarkan jumlah pelanggan.

  • Kalau restoran mulai ramai → HRD panggil koki tambahan.

  • Kalau sepi → HRD suruh sebagian koki pulang.

  • Ini lah fungsinya Auto Scaling Group.


🚪 4. Load Balancer = Pelayan Kasir

  • Kasir bertugas mengatur siapa dikasih pesanan ke koki mana.

  • Kalau ada 3 koki, kasir akan bagi rata pesanan.

  • Ini seperti Elastic Load Balancer (ELB): mendistribusikan trafik ke EC2 yang tersedia.


🧠 5. CloudWatch = CCTV + Sistem Pemantau

  • CloudWatch seperti CCTV yang memantau restoran.

  • Ketika melihat antrean makin panjang (CPU usage naik), dia beri sinyal ke HRD untuk panggil koki tambahan.

  • Saat restoran sepi (CPU usage turun), dia beri sinyal untuk kurangi koki.


💡 Kesimpulan

Kalau kamu gabungkan semua:

  • Kamu punya restoran (AWS) dengan koki (EC2),

  • Yang bisa otomatis merekrut atau memberhentikan koki (ASG),

  • Dilengkapi kasir cerdas (ELB),

  • Dan diawasi oleh CCTV yang bisa ambil keputusan otomatis (CloudWatch).