Latihan Lengkap AWS Compute Services | EC2, Load Balancer, A
Project 13 May 2026 13 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: node start Kemudian Enter, Jika Gagal Silahkan Ketikkan npm 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