Latihan Lengkap AWS Compute Services | EC2, Load Balancer, A
Project 13 May 2026 10 views ~3 menit baca

Latihan Lengkap AWS Compute Services | EC2, Load Balancer, Auto Scaling, Lambda

EC2, Network & Security, Load Balance, Auto Scaling, Elastic Beanstalk, Lambda — dengan Contoh Aplikasi Node.js

A
Admin
Penulis FRALearning
Latihan Lengkap AWS Compute Services | EC2, Load Balancer, Auto Scaling, Lambda

🚀 Panduan Belajar AWS Compute Services

EC2, Network & Security, Load Balance, Auto Scaling, Elastic Beanstalk, Lambda — dengan Contoh Aplikasi Node.js

🎯 Tujuan Artikel: Memahami 6 layanan komputasi AWS secara praktik dengan aplikasi sederhana, lengkap dari kode hingga deployment dan auto scaling.

📦 1. Aplikasi Sederhana (Node.js + Express)

Buat folder proyek, lalu buat 2 file berikut:

📄 app.js

const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;

let counter = 0;

app.get('/', (req, res) => {
  counter++;
  res.send(`
    <h2>Halo dari AWS Compute</h2>
    <p>Host: ${process.env.HOSTNAME || 'localhost'}</p>
    <p>Request ke-${counter} di instance ini</p>
    <p>Waktu: ${new Date().toISOString()}</p>
  `);
});

app.get('/health', (req, res) => {
  res.status(200).send('OK');
});

app.listen(PORT, () => {
  console.log(`App running on port ${PORT}`);
});
        

📦 package.json

{
  "name": "aws-compute-demo",
  "version": "1.0.0",
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {
    "express": "^4.18.2"
  }
}
        

🛠️ 2. Langkah-langkah Praktik

✅ 2.1 Persiapan Awal

  • Buat akun AWS (Free Tier)
  • Install AWS CLI dan konfigurasi (aws configure)
  • Buat Key Pair (untuk SSH ke EC2)
  • Buat Security Group dengan aturan: SSH (22), HTTP (80), dan Node.js (3000)

✅ 2.2 EC2 - Deploy Manual Pertama

  1. Launch EC2 (Amazon Linux 2023, t2.micro)
  2. SSH: ssh -i your-key.pem ec2-user@<public-ip>
  3. Install Node.js: sudo dnf install nodejs npm -y
  4. Upload kode (SCP atau Git clone)
  5. Jalankan: npm install Kemudian Enter
  6. Jalankan: npm start Kemudian Enter, Jika Gagal Silahkan Ketikkan node app.js
  7. Akses via browser: http://<public-ip>:3000

✅ 2.3 Elastic Load Balancing (ELB)

  1. Buat Application Load Balancer
  2. Target Group → daftarkan EC2 di atas (port 3000)
  3. Set health check endpoint /health
  4. Update Security Group EC2 agar menerima traffic dari ALB
  5. Akses melalui DNS name ALB → request akan terdistribusi

✅ 2.4 Auto Scaling Group (ASG)

  1. Buat Launch Template (sertakan User-Data untuk install & start app)
  2. Buat Auto Scaling Group: Min=1, Max=3, Desired=1
  3. Hubungkan dengan Load Balancer di atas
  4. Tambahkan scaling policy: misal CPU > 60% → +1 instance
  5. Uji scaling dengan stress test (opsional)
💡 User-data script (otomatis install & run):
#!/bin/bash
dnf install nodejs npm -y
cd /home/ec2-user
npm install
npm start
            

✅ 2.5 Elastic Beanstalk (Cara termudah)

  1. Install EB CLI
  2. eb init -p node.js my-eb-app --region us-east-1
  3. eb create my-env --elb-type application
  4. eb deploy (deploy aplikasi)
  5. Beanstalk otomatis buat EC2, ASG, Load Balancer, health check!

✅ 2.6 AWS Lambda (Serverless)

  1. Buat fungsi Lambda (Node.js 18.x)
  2. Kode sederhana:
exports.handler = async (event) => {
    return {
        statusCode: 200,
        body: JSON.stringify({
            message: 'Halo dari Lambda!',
            time: new Date().toISOString()
        })
    };
};
            
  1. Test di konsol Lambda
  2. Buat Function URL atau API Gateway untuk akses publik

📊 3. Perbandingan Peran Setiap Layanan

Service Peran dalam Demo
EC2Tempat aplikasi berjalan
Security GroupFirewall virtual untuk mengatur traffic
Load BalancerMembagi request ke banyak EC2
Auto ScalingMenambah/mengurangi EC2 otomatis
Elastic BeanstalkOrchestrator (mengelola semua di atas secara otomatis)
LambdaAlternatif komputasi tanpa server (event-driven)
🧹 PENTING: Clean Up Resources
Agar tidak kena biaya setelah uji coba, hapus:
  • Auto Scaling Group
  • Load Balancer & Target Group
  • Terminate EC2 instances
  • Hapus Elastic Beanstalk environment
  • Hapus Lambda function

📌 Kesimpulan

Dengan mengikuti langkah di atas, Anda sudah belajar:

  • Membuat aplikasi Node.js sederhana
  • Deploy manual ke EC2
  • Menambahkan Load Balancer untuk distribusi traffic
  • Mengaktifkan Auto Scaling Group berdasarkan metrik
  • Deploy otomatis dengan Elastic Beanstalk
  • Membuat fungsi serverless dengan Lambda

✨ Selamat mencoba dan semoga bermanfaat untuk belajar bersama tim!


Artikel dipersiapkan untuk pembelajaran AWS Compute Services | #BelajarAWS