Belajar System Engineer - Cloud System Engineering
Episode 13 of 28

Belajar System Engineer - Cloud System Engineering

Membangun dan mengelola sistem di cloud: komputasi dengan EC2, isolasi jaringan dengan VPC dan security groups, serta memanfaatkan managed services agar operasi menjadi lebih sederhana

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Selama 12 episode kita mengelola server seolah-olah di data center sendiri — dan memang, semua konsep itu tetap berlaku di cloud. Tetapi cloud bukan sekadar "VM di kantor orang lain": ia memperkenalkan cara kerja baru dalam provisioning, jaringan virtual, keamanan berbasis policy, dan layanan terkelola (managed services) yang mengubah peran System Engineer.

Mengapa episode ini penting? Karena di 2026, hampir semua perusahaan menjalankan sebagian infrastrukturnya di cloud. Episode ini menggunakan AWS sebagai contoh utama (konsepnya berlaku juga di GCP/Azure): komputasi EC2, isolasi jaringan VPC, keamanan dengan security groups, dan kapan memilih managed services.

Virtual Machine di Cloud: EC2

Konsep Instance dan AMI

Di cloud, VM disebut instance. Instance lahir dari AMI (machine image) — template berisi OS dan konfigurasi. Provisioning instance adalah pekerjaan yang bisa diulang; di sini kita melakukannya via CLI untuk membiasakan diri dengan automation:

Luncurkan instance EC2 via CLI
aws ec2 run-instances \
  --image-id ami-0abcdef1234567890 \
  --instance-type t3.micro \
  --key-name my-keypair \
  --security-group-ids sg-0aaa1111 \
  --subnet-id subnet-0bb2222 \
  --user-data file://bootstrap.sh \
  --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=web01}]'

Perhatikan --user-data: script yang dijalankan saat instance pertama kali lahir. Inilah awal dari prinsip infrastructure as code (episode 25) — instance dibangun dari definisi, bukan manual.

Contoh user-data (bootstrap)
#!/bin/bash
set -e
sudo apt update
sudo apt install -y nginx
echo "<h1>Web01 ready</h1>" | sudo tee /var/www/html/index.html

Instance Type dan Pricing

TypeKegunaanContoh
t3.microKecil, burstable, lab/ringanWeb kecil
m5.largeGeneral purpose (CPU+RAM seimbang)Aplikasi umum
c5.largeCompute-optimizedBatch, encoding
r5.largeMemory-optimizedCache, database
g5.*GPUAI/inference (episode 23)

Prinsip ekonomi cloud: right-sizing — bayar sesuai kebutuhan, jangan over-provision (episode 22).

VPC: Jaringan Virtual

Konsep

Setiap sumber daya cloud hidup di dalam VPC (Virtual Private Cloud) — jaringan virtual yang terisolasi. Di dalam VPC ada subnet (publik untuk yang kena internet, privat untuk internal), route table, dan gateway.

100%
  • Subnet publik: web server, load balancer, NAT.
  • Subnet privat: aplikasi, database — tidak terpapar internet langsung.

Melihat Arsitektur VPC

Inspeksi VPC
aws ec2 describe-vpcs
aws ec2 describe-subnets
aws ec2 describe-route-tables

Security Groups dan Network ACL

Security Group: Firewall Per Instance

Security group adalah firewall stateful di level instance — lalu lintas kembali diizinkan otomatis. Aturan berbasis allow (default deny all). Contoh: web server hanya boleh menerima HTTP/HTTPS dari internet, dan SSH hanya dari IP kantor:

Aturan security group
aws ec2 authorize-security-group-ingress \
  --group-id sg-0aaa1111 \
  --ip-permissions '[
    {"IpProtocol":"tcp","FromPort":443,"ToPort":443,"IpRanges":[{"CidrIp":"0.0.0.0/0"}]},
    {"IpProtocol":"tcp","FromPort":80,"ToPort":80,"IpRanges":[{"CidrIp":"0.0.0.0/0"}]},
    {"IpProtocol":"tcp","FromPort":22,"ToPort":22,"IpRanges":[{"CidrIp":"103.x.x.x/32"}]}
  ]'

Warning

Aturan emas security group: default deny, allow yang perlu saja. Jangan pernah membuka port database (5432, 3306) atau SSH ke 0.0.0.0/0 hanya karena "biar gampang". Ini penyebab #1 instance di-hack di cloud — bukan karena password, tapi karena port terbuka ke seluruh internet.

Network ACL: Firewall Level Subnet

Network ACL (NACL) bekerja di level subnet, stateless (lalu lintas balik harus diizinkan eksplisit). Kombinasi ideal: NACL sebagai lapisan pertama (subnet), security group sebagai lapisan kedua (instance).

Managed Services

Perbedaan terbesar antara on-prem dan cloud: tersedianya managed services — layanan yang dikelola penuh oleh provider sehingga kalian tidak perlu memelihara server. Contoh:

On-prem (kalian kelola)Managed service (provider kelola)
VM + instal PostgreSQLRDS (PostgreSQL managed)
VM + Redis sendiriElastiCache
Load balancer sendiri (nginx)ALB / ELB
VM + backup manualS3 + lifecycle policy
K8s self-managedEKS / GKE / AKS

Kapan memakai managed service? Pertimbangkan: (1) cost — managed service biasanya lebih mahal per unit, (2) operational burden — apakah tim punya kapasitas memelihara sendiri, (3) kebutuhan khusus — aplikasi yang butuh kontrol penuh mungkin tetap self-managed. Untuk database misalnya, RDS menghapus beban backup, patch, dan replikasi — tetapi membayar premium dan mengurangi fleksibilitas tuning.

Praktik: Sistem di Cloud

Skenario: deploy web server yang aman di AWS.

Skenario deploy cloud
# 1. Buat key pair
aws ec2 create-key-pair --key-name lab-key --query KeyMaterial --output text > lab-key.pem
chmod 400 lab-key.pem
 
# 2. Buat security group (allow 80/443/22)
aws ec2 create-security-group --group-name web-sg --description "Web server SG"
# ... tambahkan ingress rule seperti di atas
 
# 3. Luncurkan instance dengan bootstrap
aws ec2 run-instances --image-id ami-0abcdef1234567890 \
  --instance-type t3.micro --key-name lab-key \
  --security-groups web-sg --user-data file://bootstrap.sh
 
# 4. Akses via SSH
ssh -i lab-key.pem ubuntu@<public-ip>
curl http://<public-ip>

Kesalahan Umum

  1. Port terbuka ke 0.0.0.0/0 untuk database/SSH — undangan hacking.
  2. Mengabaikan subnet privat — semua server publik padahal hanya web yang perlu publik.
  3. Instance dibangun manual tanpa AMI/user-data — tidak reproducible.
  4. Right-sizing diabaikan — instance raksasa untuk beban kecil membuang uang.
  5. Semua di managed service atau semua self-managed — tanpa pertimbangan biaya/beban operasional.

Penutup

Inti yang harus dibawa pulang:

  • EC2 melahirkan instance dari AMI + user-data — provisioning yang reproducible.
  • VPC memisahkan subnet publik/privat; security group (stateful) + NACL (stateless) sebagai lapisan keamanan.
  • Managed services (RDS, S3, ALB) menghapus beban operasional dengan trade-off biaya & kontrol.
  • Cloud mengubah peran: dari operator server menjadi desainer sistem + policy.

Di episode 14 selanjutnya kita membahas perjalanan dari on-prem ke cloud: hybrid & migration — strategi migrasi, pertimbangan jaringan, dan sistem hybrid. Sampai jumpa di episode 14!

Belajar System Engineer - Cloud System Engineering | Belajar System Engineer