Catatan AWS Cloud Practitioner

Ringkasan Materi & Referensi AWS — Global Infrastructure, IAM, EC2, VPC, S3, RDS, dan lainnya
19Topik
57Blok konfigurasi
Topik 1 dari 19

1AWS Global Infrastructure#

1.1AWS Regions#

Deskripsi
Region
lokasi fisik (negara/kota) tempat AWS Cloud beroperasi di seluruh dunia
Compliance
mengikuti aturan/hukum negara tempat data harus disimpan
Proximity
jarak fisik region dengan lokasi user, mempengaruhi latency
Feature Availability
tidak semua service/fitur AWS tersedia di semua region
Pricing
harga service bisa berbeda-beda antar region
Catatan
  • Pada setiap region, terdapat beberapa data center yang berada pada AZ (Availability Zone)
  • Multi-AZ dan multi-region bisa membuat high availability & fault tolerance sebuah sistem menjadi lebih baik lagi

1.2AWS Availability Zones (AZ)#

Deskripsi
AZ
satu atau lebih data center terpisah secara fisik dalam 1 region, masing-masing punya listrik, pendingin, dan jaringan sendiri
Catatan
  • Setiap region memiliki minimal 3 AZ (beberapa region punya lebih, hingga 6)
  • Antar AZ dalam 1 region terhubung dengan bandwidth sangat besar dan latency sangat kecil, sehingga bisa dipakai untuk high availability

1.3AWS Point of Presence (PoP)#

Deskripsi
PoP
lokasi edge AWS yang tersebar lebih banyak dan lebih dekat ke user dibanding region/AZ
Catatan
  • AWS punya 400+ PoP di 90+ kota di 47+ negara (jumlah terus bertambah)
  • PoP berfungsi agar user bisa mengakses aplikasi/konten dengan lebih cepat (content delivery), dipakai misalnya oleh CloudFront

1.4Tipe AWS Service#

Deskripsi
AWS Global Service
service yang sama/terpusat untuk seluruh dunia, tidak perlu pilih region
AWS Region Service
service yang harus dijalankan di region tertentu, dan terpisah antar region
Contoh Tipe Service
TipeContoh Service
AWS Global ServiceIAM, Route 53 (DNS), CloudFront (CDN), WAF
AWS Region ServiceEC2, Lambda, RDS, S3 (bucket dibuat di region tertentu), dan sebagian besar service lain
Topik 2 dari 19

2Identity and Access Management (IAM)#

2.1Introduction & Konsep IAM#

Catatan
  • IAM digunakan untuk mengatur siapa saja (identitas) yang boleh melakukan apa saja di dalam akun AWS
  • Yang diatur oleh IAM: user, group, atau role (disebut Principal/subjek)
  • 3 elemen inti IAM: Principals (subjek yang meminta akses: user/group/role), Policies (aturan hak akses/permission), Resources (objek yang diakses: EC2, Lambda, S3, dll)
  • IAM adalah AWS Global Service — konfigurasi IAM berlaku untuk seluruh region dalam 1 akun

2.2IAM User dan Group#

Deskripsi
User Root
akun default saat pertama kali membuat akun AWS. Sebaiknya hanya dipakai untuk membuat user lain, JANGAN dipakai untuk aktivitas sehari-hari karena punya akses penuh tanpa batas
User
dipakai per-engineer/individu untuk login ke AWS Account
Group
dipakai untuk mengelompokkan beberapa user sekaligus. 1 user bisa tanpa grup atau ikut banyak grup, dan permission yang diberikan ke grup otomatis berlaku ke semua anggotanya
Catatan
  • 1 Account AWS bisa punya banyak IAM User (Account ≠ User)
Membuat IAM Group & User
1
Users groups › Create
Membuat group baru (tambahkan anggota & permission jika ada)
2
Users › Create
Membuat user baru: buat nama & password, lalu pilih cara pemberian permission

2.3IAM Policies / Permissions#

Deskripsi
Policy
aturan yang memberikan hak akses (permission) kepada user, group, atau role
Catatan
  • 1 user bisa punya gabungan policy dari group-nya DAN policy khusus yang ditambahkan langsung ke user tsb
  • Policy ditulis dalam format JSON
  • AWS sudah menyediakan managed policy siap pakai, atau bisa membuat custom policy sendiri agar lebih 'least privilege' (hak akses seminim mungkin sesuai kebutuhan)
Contoh Managed Policy
Nama PolicyKeterangan
IAMReadOnlyAccessHanya bisa melihat (read) konfigurasi IAM, tidak bisa mengubah
IAMFullAccessBisa melihat dan mengubah (konfigurasi) IAM
AdministratorAccessBisa akses dan konfigurasi SEMUA service AWS
Membuat & Melampirkan IAM Policy
1
Policies › Create
Membuat custom policy baru
2
Pilih service & tambahkan action yang diizinkan
Menentukan resource/service dan hak akses spesifik (least privilege)

2.4IAM Password Policy#

Catatan
  • Berbeda dengan policy IAM biasa (yang mengatur hak akses) — ini adalah aturan KHUSUS untuk password para IAM User saat login
  • Contoh aturan yang bisa diatur: panjang minimal password, wajib ada karakter spesial, wajib ganti password berkala (mis. tiap 6 bulan), tidak boleh memakai password lama
Mengatur Password Policy Akun
1
Account Settings › Password Policy › Edit
Mengatur aturan password untuk semua IAM User

2.5MFA & Access Key#

Deskripsi
MFA (Multi-Factor Authentication)
lapisan keamanan tambahan selain password saat login (mis. kode OTP dari aplikasi authenticator)
Access Key
kredensial (terdiri dari Access Key ID & Secret Access Key) yang dipakai untuk akses AWS lewat CLI/SDK, BUKAN lewat browser/console
Mengaktifkan MFA & Membuat Access Key
1
Klik nama user › Security Credentials › Add MFA
Mengaktifkan MFA untuk user tsb
2
Klik nama user › Security Credentials › Create access key
Membuat access key untuk user tsb
Penting
Access Key harus dijaga kerahasiaannya seperti password — jangan pernah di-commit ke repository publik.

2.6Cara Akses AWS Account#

Catatan
  • Ada beberapa cara untuk mengakses & mengelola AWS Account, tergantung kebutuhan
Cara Akses AWS
Cara AksesKredensialKeterangan
Management ConsolePassword + MFAAkses lewat browser (GUI)
Command Line Interface (CLI)Access KeyCocok untuk repetitive task; jalankan 'aws configure' dulu agar CLI terhubung ke akun AWS
Software Development Kit (SDK)Access KeyUntuk mengintegrasikan kode program dengan service AWS (mis. Python: pip install boto3, lalu import di program)
CloudShellOtomatis (dari console)CLI langsung dari browser, tanpa perlu install apapun

2.7IAM Roles#

Catatan
  • Role digunakan untuk memberikan policy/hak akses pada 1 service AWS agar bisa mengakses service AWS lain (bukan untuk manusia/user, tapi untuk service)
  • Contoh: memberi hak akses EC2 agar bisa mengakses S3
  • Studi kasus: EC2 ingin mengambil daftar user pada akun AWS. Jika memakai 'aws configure' (menaruh access key di dalam EC2), maka siapapun yang berhasil masuk ke EC2 tsb bisa mencuri access key tersebut (tersimpan di folder credential EC2) — ini berisiko
  • Solusi: pakai IAM Role, sehingga EC2 mendapat izin akses ke service IAM TANPA perlu menyimpan access key sama sekali di dalam instance
Membuat & Melampirkan IAM Role ke EC2
1
IAM › Roles › Create
Membuat role baru & assign ke service (mis. EC2)
2
EC2 › Instance › Actions › Security › Modify IAM Role
Memasang role tsb ke instance EC2 yang dipilih

2.8Manajemen Akses & Kredensial#

Catatan
  • Service pendukung untuk mengelola akses dan kredensial secara terpusat, melengkapi IAM dasar
Service Terkait Akses & Kredensial
ServiceFungsi
AWS IAM Identity CenterMengelola akses secara terpusat ke banyak AWS Account dan aplikasi sekaligus
AWS Secrets ManagerMengelola kredensial secara terpusat (database, API key, dll) secara aman
AWS Systems ManagerMengelola & memonitor node/instance secara terpusat
Topik 3 dari 19

3EC2 Instance#

3.1Basic VPC (Pengantar)#

Deskripsi
VPC (Virtual Private Cloud)
jaringan privat virtual di AWS, dipakai untuk mengatur/mengelola jaringan tempat resource AWS (mis. EC2) berjalan
VPC memiliki subnet
subnet dipakai untuk segmentasi jaringan pada tiap AZ dalam region tsb
Catatan
  • 1 VPC = 1 jaringan private/internal tersendiri
  • Dalam 1 region, ada 1 VPC default (otomatis dibuat AWS), tapi bisa membuat banyak VPC lain (dibahas lebih detail di Bab 5)
Contoh Subnetting VPC Default
AZCIDR Subnet
VPC Network172.31.0.0/16
AZ a172.31.0.0/20
AZ b172.31.16.0/20
AZ c172.31.32.0/20

3.2EC2#

Deskripsi
EC2 (Elastic Compute Cloud)
service utama AWS untuk menyediakan virtual machine (compute) di cloud
Fitur-fitur pada EC2
FiturKeterangan
InstanceVirtual machine (VM)-nya sendiri
EBSStorage/disk untuk instance
ELBLoad balancer untuk instance
ASGAuto scaling untuk menambah/mengurangi instance otomatis

3.3EC2 Instance Configuration#

Catatan
  • Langkah umum saat membuat 1 EC2 instance baru
Langkah Launch Instance EC2
1
EC2 › Instances › Launch instance
Memulai wizard pembuatan instance baru
2
Pilih OS (AMI)
Menentukan sistem operasi/image dasar instance
3
Pilih instance type
Menentukan spesifikasi CPU & RAM instance
4
Buat/pilih key pair
Untuk otentikasi SSH ke instance nantinya
5
Config network (AZ, IP public, firewall/SG)
Menentukan lokasi & aksesibilitas jaringan instance
6
Config storage
Menentukan ukuran & jenis disk instance

3.4Web Server di EC2 (Amazon Linux)#

Catatan
  • Contoh langkah instalasi web server (Apache/httpd) di instance Amazon Linux lewat SSH
bash — EC2 Instance (Amazon Linux)
yum update -y
# Update seluruh package OS ke versi terbaru
yum install httpd -y
# Menginstall web server Apache (httpd)
systemctl start httpd
# Menjalankan service httpd
systemctl enable httpd
# Mengaktifkan httpd agar otomatis jalan saat boot
echo "<h1>hello from $(hostname -f)</h1>" > /var/www/html/index.html
# Membuat file index.html sederhana (isi halaman web)
systemctl restart httpd
# Merestart httpd agar perubahan file diterapkan
Penting
File halaman web utama Apache disimpan di /var/www/html/index.html.

3.5User Data#

Deskripsi
User Data
fitur agar EC2 instance otomatis menjalankan command tertentu saat pertama kali booting
Catatan
  • Bisa diisi command apapun (mis. install & jalankan web server otomatis)
  • Hanya dijalankan SEKALI, yaitu saat instance pertama kali booting (bukan setiap kali start)
  • Manfaat: begitu instance selesai dibuat, software yang dibutuhkan sudah otomatis terinstall & berjalan tanpa perlu SSH manual
Menambahkan User Data saat Launch Instance
1
Bagian paling bawah saat Launch Instance (Advanced details › User data)
Menempelkan script/command yang akan dijalankan otomatis saat boot pertama

3.6Instance Type & Instance Families#

Catatan
  • Instance type menentukan spesifikasi resource dari instance: vCPU, memory (RAM), storage, dan network performance
Kategori Instance Type
KategoriKarakteristik
General PurposeResource seimbang (CPU, memory, network)
Compute OptimizedvCPU lebih tinggi dibanding resource lain — untuk workload CPU-intensive
Memory OptimizedMemory (RAM) lebih tinggi — untuk workload yang butuh banyak memory
Accelerated ComputingDilengkapi hardware accelerator/GPU — untuk machine learning, grafis, dll
Storage OptimizedStorage/disk lebih tinggi & cepat — untuk workload I/O-intensive

3.7Security Group#

Deskripsi
Security Group (SG)
firewall dasar untuk EC2 instance, mengatur traffic masuk (inbound) dan keluar (outbound)
Catatan
  • 1 security group bisa dipakai oleh banyak instance sekaligus
  • Default: outbound rule = allow all (semua traffic keluar diizinkan), inbound rule = drop all (semua traffic masuk ditolak) — sehingga inbound rule WAJIB dikonfigurasi manual
  • Yang diatur pada tiap rule: protocol, port, dan source address
Membuat Security Group
1
EC2 › Network & Security › Security Groups › Create
Membuat security group baru (bisa juga langsung saat membuat instance)
Penting
Advanced Security Group: source rule bisa diisi security group lain (bukan cuma IP). Contoh: Instance 2 memakai SG yang allow SSH dari 'SG milik Instance 1' — artinya hanya instance dengan SG tsb yang boleh SSH ke Instance 2, siapapun IP-nya.

3.8SSH dan SCP#

Catatan
  • Cara mengakses (SSH) dan mengirim file (SCP) ke EC2 instance dari command line, memakai private key (.pem)
bash — Komputer Lokal
ssh <user_name>@<ip_address> -i <key_name>.pem
# SSH ke instance memakai IP address
ssh <user_name>@<dns_name> -i <key_name>.pem
# SSH ke instance memakai DNS name
scp -i <key_name>.pem <file_name> <user_name>@<ip_address>:home/ec2-user/
# Mengirim file ke instance memakai IP address
scp -i <key_name>.pem <file_name> <user_name>@<dns_name>:home/ec2-user/
# Mengirim file ke instance memakai DNS name

3.9Private IP dan Public IP#

Deskripsi
IP Public
dipakai untuk diakses dari internet
IP Private
dipakai untuk koneksi internal di dalam AWS (antar resource dalam VPC/AZ)
Catatan
  • Secara default, EC2 instance punya 2 IP sekaligus: IP Public dan IP Private
  • IP Public bawaan (dynamic) akan BERUBAH setiap kali instance di-stop lalu di-start lagi, KECUALI memakai Elastic IP (Bab 3.10) yang membuatnya tetap/statis

3.10Elastic IP#

Deskripsi
Elastic IP
solusi agar IP Public instance tidak berubah meskipun instance di-stop/start
Catatan
  • IP tidak akan hilang selama tidak dihapus (dilepas) secara manual
  • Default kuota maksimal 5 Elastic IP (IP public statis) per akun, tapi bisa request kenaikan limit ke AWS
Alokasi & Asosiasi Elastic IP
1
EC2 › Network & Security › Elastic IPs › Allocate
Membuat/mengalokasikan Elastic IP baru
2
Action › Associate Elastic IP address
Memasang Elastic IP ke instance yang dipilih

3.11Private DNS dan Public DNS#

Deskripsi
Private DNS
hostname yang hanya bisa di-resolve/diakses dari internal (dalam AWS Cloud/VPC)
Public DNS
hostname yang bisa di-resolve/diakses dari internet
Catatan
  • Secara default, tiap EC2 instance sudah otomatis mendapat Private DNS dan Public DNS masing-masing

3.12Elastic Network Interface (ENI)#

Deskripsi
ENI
'LAN card' virtual di AWS Cloud, jadi tempat menempelnya IP address pada instance
Catatan
  • 1 instance bisa punya lebih dari 1 ENI (jumlah maksimal tergantung instance type)
  • ENI secondary bisa dipindah-pindah antar instance, tapi harus tetap dalam 1 AZ yang sama
  • IP address melekat pada ENI — khusus IP Public hanya bisa melekat pada ENI primary
Membuat & Attach/Detach ENI
1
EC2 › Network & Security › Network Interface › Create
Membuat ENI (secondary) baru
2
Action › Attach/Detach
Memasang/melepas ENI secondary tsb ke/dari sebuah instance
Penting
IP address pada ENI secondary TIDAK berubah walaupun ENI-nya dipindah ke instance lain.
Topik 4 dari 19

4EC2 Storage#

4.1Elastic Block Store (EBS)#

Deskripsi
EBS
network drive (storage) yang bisa di-attach ke EC2 instance, bahkan saat instance sedang running
Catatan
  • Bisa dianalogikan seperti flashdisk/SSD: 1 EBS hanya bisa di-attach ke 1 instance dalam 1 waktu, tapi 1 instance bisa di-attach banyak EBS sekaligus
  • EBS terikat pada 1 AZ tertentu (tidak bisa langsung dipakai lintas AZ)
  • Secara default, setiap EC2 instance sudah otomatis punya EBS storage (root volume)

4.2EBS Configuration#

Catatan
  • Langkah membuat, memasang (attach & mount), dan melepas (detach & unmount) EBS volume ke instance
Membuat & Attach EBS Volume
1
EC2 › Elastic Block Store › Volumes › Create
Membuat EBS volume baru (atur jenis, kapasitas, AZ)
2
Actions › Attach Volume
Memasang volume ke instance yang dipilih
bash — EC2 Instance
fdisk -l
# Cek disk yang sudah terhubung ke instance (dari dalam EC2)
mkfs -t xfs <disk_path>
# Memformat disk (tidak perlu diulang jika volume dipindah ke instance lain yang sudah pernah diformat)
mkdir /data
# Membuat directory tempat mount
mount <disk_path> /data
# Mount disk ke directory yang dibuat
df -h
# Cek disk yang sudah ter-mount
resize2fs <disk_path>
# Menyesuaikan filesystem jika volume di-resize (diperbesar)
umount <disk_path> /data
# Melepas (unmount) disk dari directory, sebelum detach
Detach EBS Volume
1
Actions › Force detach volume
Melepas volume dari instance (dari console)
Penting
Delete on termination: secara default, root EBS akan ikut terhapus saat instance di-terminate (bisa dimatikan/disable). EBS secondary TIDAK akan terhapus otomatis saat instance di-terminate.

4.3EBS Snapshot#

Deskripsi
Snapshot
cara backup untuk EBS volume
Catatan
  • Disarankan detach volume dulu sebelum membuat snapshot, agar tidak ada data yang berubah saat proses snapshot berjalan
  • Snapshot bisa di-restore menjadi volume baru di AZ lain (tidak terikat AZ asal seperti volume biasa)
Membuat & Restore EBS Snapshot
1
EC2 › EBS › Volumes › Actions › Force detach volume
Melepas volume sebelum snapshot (opsional tapi disarankan)
2
EC2 › EBS › Volumes › Actions › Create snapshot
Membuat snapshot dari volume
3
EC2 › EBS › Snapshots › Actions › Create volume from snapshot
Membuat volume baru dari snapshot (bisa pilih AZ lain)
4
EC2 › EBS › Volumes › Attach › Mount
Memasang & mount volume hasil restore ke instance

4.4Elastic File System (EFS)#

Deskripsi
EFS
file storage yang bisa di-attach ke BANYAK instance sekaligus dalam waktu bersamaan (beda dengan EBS yang cuma 1 instance)
Catatan
  • Multi-AZ (tidak terikat 1 AZ seperti EBS)
  • Harga sekitar 3x lebih mahal dari EBS, tapi sistem pembayarannya pay-per-use (bayar sesuai pemakaian, tidak perlu provision ukuran di awal)
  • Cocok untuk kasus: file sharing antar server, web directory bersama
  • Menggunakan security group untuk kontrol akses
  • Hanya untuk sistem Linux

4.5EFS Configuration#

Catatan
  • Langkah menyiapkan security group, membuat EFS, lalu mounting-nya ke instance Linux
Membuat & Menyiapkan EFS
1
Buat security group untuk EFS dengan service 'NFS'
Menyiapkan akses network EFS (di menu EC2)
2
EFS › Create file system › Customize
Membuat EFS, atur nama & pilih security group (EFS otomatis buat ENI ke tiap AZ)
3
Pilih EFS › Attach
Mendapatkan command mount untuk EFS tsb
bash — EC2 Instance
sudo su
# Masuk sebagai root (dari dalam EC2 instance)
yum install -y amazon-efs-utils
# Menginstall utility EFS di instance
Mount EFS ke Instance
1
Buat directory & mount memakai command dari EFS
Mount EFS ke instance (ulangi di setiap instance yang ingin memakai EFS yang sama)

4.6EFS Lifecycle Management#

Catatan
  • Data pada EFS yang sudah lama tidak diakses bisa otomatis dipindahkan ke storage class Infrequent Access (IA) yang jauh lebih murah
  • Waktu/durasi kapan data dipindahkan bisa diatur
Mengatur Lifecycle Management EFS
1
EFS › pilih EFS › Edit › Lifecycle management
Mengatur aturan lifecycle (kapan data dipindah ke IA)

4.7Amazon Machine Image (AMI)#

Deskripsi
AMI
image/template yang dipakai untuk membuat EC2 instance (berisi OS + konfigurasi/software yang sudah terpasang)
Catatan
  • AMI terikat pada 1 region, tapi bisa di-copy ke region lain
Jenis AMI
JenisKeterangan
Public AMIDisediakan komunitas/vendor OS, mis. Ubuntu, Debian, Kali Linux
Quick Start AMIDisediakan langsung oleh AWS, gratis, mis. Amazon Linux, Ubuntu, Windows Server
Marketplace AMISoftware berbayar dari vendor/partner pihak ketiga, mis. RedHat Enterprise, F5, Palo Alto
Custom AMIAMI buatan sendiri, hasil modifikasi (sudah diinstall software & dikonfigurasi sesuai kebutuhan)
Langkah-langkah membuat & memakai Custom AMI
1
Buat & konfigurasi instance seperti yang diinginkan, lalu Stop instance
Menyiapkan instance sumber sebelum di-jadikan image
2
EC2 › Instance › Actions › Image and templates › Create image
Membuat custom AMI dari instance tsb
3
EC2 › Instance › Launch instance › pilih AMI dari 'My AMIs'
Membuat instance baru memakai custom AMI tsb
Topik 5 dari 19

5Virtual Private Cloud (VPC)#

5.1Intro VPC#

Deskripsi
VPC
jaringan privat virtual di AWS, dipakai untuk mengatur/mengelola jaringan tempat resource AWS berjalan
Catatan
  • 1 VPC = 1 jaringan private/internal tersendiri, terisolasi dari VPC lain secara default
  • VPC memiliki subnet untuk segmentasi jaringan pada tiap AZ dalam region tsb
  • Dalam 1 region, ada 1 VPC default (otomatis dibuat AWS), tapi bisa membuat banyak VPC lain
  • VPC selalu memakai IP Private (10.0.0.0-10.255.255.255, 172.16.0.0-172.31.255.255, atau 192.168.0.0-192.168.255.255)
Contoh Subnetting VPC Default
AZCIDR Subnet
VPC Network172.31.0.0/16
AZ a172.31.0.0/20
AZ b172.31.16.0/20
AZ c172.31.32.0/20

5.2Dasar IPv4 & Subnetting#

Deskripsi
Subnetting
cara memecah 1 blok network menjadi beberapa subnet yang lebih kecil, supaya alokasi IP lebih efisien dan sesuai kebutuhan tiap AZ/segmen
Catatan
  • IPv4 terdiri dari 4 oktet (contoh: 192.168.0.1), tiap oktet 8 bit, total 32 bit, dan nilai tiap oktet 0-255
Contoh Subnetting 192.168.0.0/24 → /28
LangkahHasil
Host bits32 − 28 = 4 bit → 2⁴ = 16 IP per subnet
Kelipatan network0, 16, 32, 48, 64, 80, 96, 112, ...
Kelipatan broadcast15, 31, 47, 63, 79, 95, 111, 127, ...
Subnet pertama192.168.0.0/28 (host: 192.168.0.1–.14)
Subnet kedua192.168.0.16/28 (host: 192.168.0.17–.30)
Catatan
  • Cara cepat subnetting kalau prefix baru masih di oktet yang sama (mis. target /17–/24): (1) cari sisa bit di oktet tsb = 32 − prefix, (2) ukuran tiap block = 2^(sisa bit), (3) daftar network dimulai dari 0 dengan kelipatan ukuran block, broadcast = network berikutnya − 1
Contoh 1 — 10.0.0.0/23 dipecah untuk kebutuhan 100 host/subnet
LangkahPerhitunganHasil
Konfirmasi range /23/23 → sisa bit = 32−23 = 9 (lintas 2 oktet), fokus 2 oktet terakhirRange: 10.0.0.0 – 10.0.1.255
Tentukan prefix untuk 100 host100 host → dibulatkan ke 128 = 2^7 → perlu /25Ukuran tiap block = 128 IP
Network & broadcast tiap blockKelipatan 128 mulai dari 0 (lintas oktet ke-4, lanjut oktet ke-3)Network: .0, .128, lanjut oktet berikutnya .0, .128 dst
Hasil subnet Contoh 1
SubnetRange Host Usable
10.0.0.0/2510.0.0.1 – 10.0.0.126
10.0.0.128/2510.0.0.129 – 10.0.0.254
10.0.1.0/2510.0.1.1 – 10.0.1.126
10.0.1.128/2510.0.1.129 – 10.0.1.254
Contoh 2 — 10.16.0.0/16 dipecah jadi /20
LangkahPerhitunganHasil
Range awal/1610.16.0.0 – 10.16.255.255
Sisa bit di oktet ke-332 − 20 = 12 bit lintas oktet, fokus oktet ke-3: 28−20=... → sisa 4 bit di oktet ke-3Ukuran tiap block = 2^4 = 16 (di oktet ke-3)
Network tiap blockKelipatan 16 di oktet ke-3, mulai dari 00, 16, 32, 48, 64, … 240
Contoh hasil subnet Contoh 2 (3 blok pertama)
SubnetRange Host Usable
10.16.0.0/2010.16.0.1 – 10.16.15.254
10.16.16.0/2010.16.16.1 – 10.16.31.254
10.16.32.0/2010.16.32.1 – 10.16.47.254
Contoh 3 — 10.16.0.0/19 dipecah untuk kebutuhan 400 host/subnet
LangkahPerhitunganHasil
Konfirmasi range /1932−19 = 13 bit, fokus oktet ke-3: sisa 5 bit → 2^5=32Range: 10.16.0.0 – 10.16.31.255
Tentukan prefix untuk 400 host400 host → dibulatkan ke 512 = 2^9 → perlu /23Ukuran tiap block = 2 (di oktet ke-3, karena /23 lintas oktet ke-4)
Network tiap blockKelipatan 2 di oktet ke-3: 0-1, 2-3, 4-5, … 30-31Setiap block = 2 nilai oktet ke-3
Hasil subnet Contoh 3 (4 blok pertama)
SubnetRange Host Usable
10.16.0.0/2310.16.0.1 – 10.16.1.254
10.16.2.0/2310.16.2.1 – 10.16.3.254
10.16.4.0/2310.16.4.1 – 10.16.5.254
10.16.6.0/2310.16.6.1 – 10.16.7.254

5.3AWS VPC#

Catatan
  • 1 akun bisa memiliki maksimal 5 VPC dalam 1 region (bisa request kenaikan limit)
  • Secara default, antar VPC TIDAK bisa saling terhubung (perlu konfigurasi tambahan, mis. VPC Peering — Bab 5.12)
  • Jika ingin menghubungkan antar VPC, pastikan range IP-nya tidak overlap (tumpang tindih) satu sama lain
  • Prefix VPC di AWS dibatasi: minimal /28, maksimal /16
  • Setiap region punya 1 VPC default yang otomatis dipakai EC2 instance jika tidak memilih VPC lain — VPC default ini sudah punya koneksi internet, IP public, dan DNS
Membuat VPC
1
VPC › Your VPCs › Create
Membuat VPC baru
2
Pilih 'VPC Only' atau 'VPC and More'
VPC Only = hanya buat VPC saja; VPC and More = otomatis buat VPC + subnet + IGW + route table sekaligus

5.4AWS Subnet#

Catatan
  • AWS selalu mereservasi (mengunci) 5 IP pada setiap subnet yang dibuat (4 IP pertama & 1 IP terakhir), sehingga tidak bisa dipakai host
  • VPC default hanya berisi public subnet. Subnet yang dibuat manual bisa diatur jadi public atau private subnet
Contoh 5 IP yang Direservasi AWS (10.0.0.0/24)
IPKegunaan
10.0.0.0IP Network
10.0.0.1Direservasi untuk VPC router
10.0.0.2Direservasi untuk Amazon-provided DNS
10.0.0.3Direservasi untuk keperluan AWS di masa depan
10.0.0.255IP Broadcast
Membuat Subnet
1
VPC › Subnets › Create
Membuat subnet baru di dalam VPC

5.5Network ACL vs Security Group#

Catatan
  • Keduanya sama-sama fitur keamanan jaringan di AWS, tapi beda level & cara kerja
Perbandingan
FiturSifatKeterangan
Network ACLStatelessTidak menyimpan state packet — baik traffic masuk maupun keluar SELALU dicek ulang terhadap rule (harus diatur inbound & outbound terpisah)
Security GroupStatefulMenyimpan state packet — jika traffic masuk diizinkan, traffic balasannya otomatis diizinkan juga tanpa perlu rule outbound terpisah

5.6Route Table#

Deskripsi
Route Table
mendefinisikan aturan routing (kemana traffic diarahkan) beserta gateway/next-hop-nya
Catatan
  • Umumnya dibuat 2 macam: route table untuk public subnet (routing ke internet) dan untuk private subnet (routing internal)
Membuat Route Table & Asosiasi Subnet
1
VPC › Route Tables › Create
Membuat route table baru
2
Centang route table › Subnet associations › Edit
Menghubungkan (associate) route table ke subnet tertentu

5.7Internet Gateway (IGW)#

Deskripsi
IGW
pintu gerbang agar resource di dalam VPC bisa terhubung ke internet
Catatan
  • Dipakai untuk subnet public (inilah yang membedakan subnet public dari private)
  • 1 IGW hanya untuk 1 VPC, dan 1 VPC hanya boleh punya 1 IGW
  • Setelah IGW dibuat & dipasang, harus ditambahkan sebagai next-hop pada route table milik public subnet
Membuat Internet Gateway & Mengatur Akses Internet Public
1
VPC › Internet gateways › Create
Membuat IGW baru
2
Action › Attach to VPC
Memasang IGW ke VPC yang dipilih
3
VPC › Route tables › pilih route table public › Routes › Edit
Masuk ke mode edit route table public
4
Tambahkan destination 0.0.0.0/0, target = internet gateway
Mengarahkan semua traffic keluar (internet) lewat IGW
5
Subnets › Action › Edit subnet settings › enable auto-assign public IPv4
Membuat instance baru di subnet tsb otomatis dapat IP public
6
VPC › Your VPC › Action › Edit VPC settings › enable DNS hostnames
Mengaktifkan pemberian DNS hostname otomatis di VPC

5.8Bastion Host#

Deskripsi
Bastion Host
instance di public subnet yang dipakai sebagai 'pintu masuk' untuk SSH ke instance-instance yang berada di private subnet (yang tidak punya IP public)
Penting
Best practice: buat SG khusus bastion host (hanya allow SSH dari IP admin saja), dan SG untuk instance private (hanya allow SSH & ICMP dari SG milik bastion host, bukan dari 'anywhere').

5.9NAT Gateway#

Deskripsi
NAT Gateway
dipakai sebagai gateway agar instance di private subnet tetap bisa mengakses internet (misal untuk update package), TAPI tetap tidak mendapat IP public sendiri
Catatan
  • NAT Gateway berada di public subnet (namun tidak bisa dipakai oleh instance lain yang kebetulan ada di subnet public yang sama — hanya untuk instance di private subnet)
  • Alur trafiknya: Private Subnet → NAT Gateway → Internet Gateway → Internet
Mode NAT Gateway
ModeKeterangan
Zonal (klasik)Terikat 1 AZ tertentu, perlu 1 NAT Gateway per-AZ untuk high availability
Regional (fitur baru)1 NAT Gateway otomatis expand/contract mengikuti AZ mana yang ada workload-nya, tidak perlu bikin NAT Gateway terpisah per-AZ, dan tidak butuh public subnet khusus untuk hosting-nya
Membuat NAT Gateway & Mengarahkan Route Private
1
VPC › NAT gateways › Create NAT gateway
Membuat NAT Gateway baru (pilih mode Zonal/Regional)
2
VPC › Route tables › pilih route table private › Routes › Edit
Masuk ke mode edit route table private
3
Tambahkan destination 0.0.0.0/0, target = NAT Gateway
Mengarahkan traffic internet dari private subnet lewat NAT Gateway

5.10Private Subnet#

Catatan
  • Instance di private subnet BISA mengakses internet (lewat NAT Gateway), tapi TIDAK BISA diakses langsung dari internet
  • Cocok dipakai untuk instance backend server, database, dan resource lain yang tidak perlu diakses publik
  • Pola umum: frontend server (di public subnet) mengakses backend server (di private subnet) secara internal

5.11VPC Endpoint#

Deskripsi
VPC Endpoint
menghubungkan antar service AWS memakai jaringan private AWS (dalam VPC), bukan lewat internet
Catatan
  • Secara default, komunikasi antar service AWS (mis. EC2 ke S3) lewat internet — dengan VPC Endpoint, komunikasi ini bisa dialihkan lewat jaringan private, lebih aman & cepat
Membuat VPC Endpoint
1
Buat IAM Role & pasang ke instance
Memberi izin akses instance ke service tujuan
2
VPC › PrivateLink and Lattice › Endpoints › Create endpoint
Membuat endpoint (atur nama, VPC, service tujuan, dan subnet)

5.12VPC Peering#

Deskripsi
VPC Peering
menghubungkan 2 VPC secara langsung (bisa beda region bahkan beda akun)
Catatan
  • Range IP kedua VPC TIDAK BOLEH overlap
  • VPC Peering bersifat NOT transitive: jika VPC A ↔︎ B dan B ↔︎ C, itu tidak otomatis membuat A ↔︎ C — harus dibuat peering terpisah lagi untuk A ↔︎ C
Membuat & Menyetujui VPC Peering
1
VPC 1: VPC › Peering Connections › Create
Membuat request peering dari VPC 1
2
VPC 2: VPC › Peering Connections › Action › Accept request
Menerima request peering di VPC 2
3
Tambahkan di route table masing-masing VPC
VPC 1 diarahkan ke network VPC 2 dan sebaliknya (gateway = peering connection)

5.13Menghubungkan Jaringan ke AWS#

Catatan
  • Beberapa cara menghubungkan jaringan luar (on-premise/remote) dengan AWS Cloud
Cara Menghubungkan ke AWS
CaraMenghubungkan
AWS Client VPNRemote worker (individu) ke VPC / jaringan on-premise
AWS Site-to-Site VPNVPC dengan data center on-premise
AWS PrivateLinkMenghubungkan consumer VPC ke SATU service/aplikasi spesifik di VPC lain secara private & satu arah (bukan koneksi network penuh dua arah seperti VPC Peering); cocok untuk expose SaaS/microservice ke banyak VPC pelanggan
AWS Direct ConnectVPC dengan data center, TIDAK lewat internet publik (lewat AWS location langsung), bandwidth tinggi & lebih stabil
Penting
Virtual Private Gateway: sisi gateway pada VPC yang dipakai untuk menghubungkan jaringan lokal fisik ke VPC memakai VPN.
Topik 6 dari 19

6Load Balancer & Auto Scaling Group#

6.1Konsep Load Balancing#

Deskripsi
Load Balancer
server yang membagi (forward) traffic ke beberapa server downstream, sehingga cukup 1 IP public untuk mengakses banyak server di belakangnya
Catatan
  • Load Balancer melakukan health check berkala ke tiap downstream server untuk memastikan server tsb siap menerima traffic — jika unhealthy, traffic tidak akan diarahkan ke server tsb. Health check biasanya dicek pada port & route tertentu (mis. HTTP port 80, path /health); jika response bukan 200, dianggap unhealthy
Jenis Elastic Load Balancer (ELB)
JenisLayerKeterangan
Application Load Balancer (ALB)L7Untuk protokol HTTP/HTTPS, bisa routing berdasar path/host
Network Load Balancer (NLB)L4Untuk protokol TCP/UDP, performa & throughput sangat tinggi
Gateway Load Balancer (GWLB)L3Beroperasi di level IP protocol, umumnya untuk appliance keamanan pihak ketiga
Penting
ELB adalah managed service AWS: AWS yang menjamin, meng-update, dan memelihara load balancer-nya — pengguna hanya perlu konfigurasi. ELB terintegrasi dengan EC2/ASG, ECS, ACM, CloudWatch, Route 53, WAF, dan Global Accelerator.

6.2Load Balancer Routing Method#

Catatan
  • ELB (Elastic Load Balancer) AWS juga punya beberapa metode routing untuk membagi traffic ke target, konsepnya mirip dengan load balancer pada umumnya (mis. F5)
Metode Routing
MetodeKeterangan
Round RobinMembagi request secara bergantian merata ke tiap target — default untuk Application Load Balancer
Least Outstanding RequestsMengarahkan request ke target yang jumlah request aktifnya paling sedikit — tersedia untuk ALB
Flow HashMengarahkan berdasarkan hash dari kombinasi source/destination IP & port — dipakai Network Load Balancer (L4)
Penting
Berbeda dengan appliance load balancer seperti F5 yang punya banyak pilihan algoritma (round robin, least connections, ip hash, dll), ELB AWS (khususnya ALB) secara native hanya mendukung Round Robin dan Least Outstanding Requests.

6.3Security Group untuk ELB#

Catatan
  • ELB punya SG sendiri untuk allow service (mis. HTTP/HTTPS) dari internet (anywhere)
  • Downstream server (instance di belakang ELB) punya SG yang hanya allow traffic DARI SG milik ELB — bukan dari internet langsung

6.4Target Group#

Deskripsi
Target Group
mengelompokkan beberapa instance/resource sebagai downstream server, lalu dipakai oleh ELB untuk load balancing
Catatan
  • Tidak terbatas pada EC2 instance saja — bisa juga ECS, Lambda function, atau IP address (private)
  • Health check dilakukan oleh ELB terhadap anggota target group
Membuat Target Group
1
Buat instance & konfigurasikan sebagai web server
Menyiapkan downstream server
2
EC2 › Load balancing › Target groups › Create
Membuat target group baru, beri nama & pilih instance sebagai anggotanya

6.5Elastic Load Balancer (ELB) — Konfigurasi#

Catatan
  • Langkah dasar membuat load balancer setelah target group siap
Membuat Load Balancer
1
EC2 › Load balancers › Create
Membuat load balancer baru: pilih jenis (ALB/NLB/GWLB), beri nama, pilih SG & target group

6.6Advanced Application Load Balancer#

Catatan
  • ALB bisa melakukan load balancing berdasarkan path, hostname, atau query string — tidak sekadar round robin biasa
  • Cocok untuk arsitektur microservices & aplikasi berbasis container (Docker, Amazon ECS)
  • Contoh kasus: request dengan query ?platform=mobile diarahkan ke target group 1, sedangkan ?platform=web diarahkan ke target group 2
Konfigurasi Listener Rules untuk Multi-Target-Group
1
Buat 2 target group berbeda
Mis. 1 dengan konten index.html, 1 dengan info.html
2
Buat load balancer
Menyiapkan ALB seperti biasa
3
Listeners and Rules › pilih listener › tambahkan rules
Mengatur kondisi routing, mis. path = /info.html diarahkan ke target group 2

6.7Network Load Balancer (NLB)#

Catatan
  • NLB dipakai untuk load balancing traffic TCP dan UDP (Layer 4 — meski namanya 'Network')
  • Bisa menangani jutaan request per detik dengan latency sangat rendah
  • NLB punya 1 IP public statis di tiap AZ (beda dengan ALB yang DNS-nya dinamis)
  • Cocok untuk kebutuhan performa ekstrem pada traffic TCP/UDP
  • Tidak termasuk dalam AWS Free Tier (berbayar sejak awal)
Membuat Network Load Balancer (NLB)
1
Sama seperti ALB, tapi target group memakai protocol TCP/UDP
Konfigurasi NLB pada dasarnya sama, hanya beda protocol target group
Penting
Sejak Agustus 2023, NLB SUDAH bisa punya security group sendiri untuk memfilter traffic masuk (opsional, tapi direkomendasikan). Sebelumnya NLB hanya mengandalkan SG di instance target.

6.8Best Practice Load Balancer#

Catatan
  • Prinsip: yang butuh IP public hanya load balancer. Downstream server sebaiknya berada di private subnet, dan cukup 1 instance sebagai bastion host di public subnet untuk keperluan SSH
Susunan Komponen Load Balancer End-to-End
1
Buat VPC, subnet, route table, IGW, NAT Gateway
Menyiapkan jaringan dasar (public untuk LB & bastion, private untuk server)
2
Buat Security Group
LB (allow HTTP dari anywhere), bastion host (allow SSH dari anywhere/admin), downstream server (allow SSH dari SG bastion & HTTP dari SG load balancer)
3
Buat instance, target group, dan load balancer
Menyusun arsitektur lengkap sesuai best practice di atas

6.9Horizontal Auto Scaling Group (ASG)#

Deskripsi
ASG
dipakai untuk menambah (scale out) atau mengurangi (scale in) jumlah instance secara otomatis sesuai kebutuhan
Catatan
  • ASG memastikan jumlah instance yang running tidak pernah kurang dari batas minimum yang ditentukan — scale in tidak akan mengurangi instance di bawah jumlah minimum
  • Instance baru yang dibuat ASG otomatis terdaftar (registered) ke load balancer
Membuat Launch Template & Auto Scaling Group
1
EC2 › Instances › Launch Template › Create
Membuat launch template (konfigurasi instance seperti biasa, tapi tanpa assign ke subnet tertentu)
2
EC2 › Auto Scaling Groups › Create
Membuat ASG: beri nama, pilih launch template, VPC & subnet
3
Pilih load balancer & target group
Menghubungkan ASG dengan load balancer (bisa buat target group kosong dulu)
4
Tambahkan health check dari ELB
Agar ASG tahu instance mana yang unhealthy untuk diganti
5
Atur group size (desired, min, max capacity)
Menentukan jumlah instance target, minimum, dan maksimum

6.10Dynamic Scaling#

Deskripsi
Static scaling
ASG hanya menambah instance jika jumlah running kurang dari desired capacity yang di-set manual
Dynamic scaling
ASG mengubah desired capacity secara OTOMATIS sesuai kondisi real-time (mis. CPU utilization tinggi)
Catatan
  • Scaling (baik static maupun dynamic) tidak akan pernah melewati batas min/max capacity yang sudah ditentukan
Membuat dynamic scaling policy
1
EC2 › Auto Scaling › Auto Scaling Group › pilih ASG
Masuk ke ASG yang ingin diatur
2
Automatic scaling › Create dynamic scaling policies
Membuat policy scaling otomatis (mis. berdasarkan target CPU utilization)
bash — EC2 Instance
sudo dnf install stress-ng -y
# (Uji coba) install tool stress test di salah satu instance
stress-ng --cpu 4 --timeout 30s
# (Uji coba) menjalankan stress test CPU untuk memicu dynamic scaling
Topik 7 dari 19

7Simple Storage Service (S3)#

7.1Introduction S3#

Deskripsi
S3
service untuk menyimpan object (file) di dalam bucket (mirip directory/folder utama)
Catatan
  • Nama bucket harus UNIK secara global (tidak boleh sama dengan bucket siapapun di seluruh dunia)
  • Bucket dibuat pada 1 region tertentu
  • Aturan penamaan bucket: hanya huruf kecil, angka, dan tanda (-); panjang 3-63 karakter
  • Setiap object punya key — key adalah full path object tsb, contoh: s3://my-bucket/my_folder1/my_file.txt
Membuat S3 Bucket
1
S3 › Buckets › General purpose buckets › Create
Membuat bucket baru (bisa langsung upload object lewat GUI)

7.2Bucket Versioning#

Deskripsi
Versioning
memungkinkan 1 object memiliki beberapa versi sekaligus
Catatan
  • Saat upload file dengan nama yang sama, file versi lama tetap disimpan (tidak langsung tertimpa/hilang)
  • Best practice dipakai untuk: menghindari kesalahan hapus (accidental delete) dan bisa rollback ke versi lama
Mengaktifkan Bucket Versioning
1
S3 › Buckets › pilih bucket › Properties › Bucket Versioning › Edit › Enable
Mengaktifkan versioning (bisa juga langsung saat create bucket)
Penting
Saat mode 'Show version' aktif, delete object bersifat PERMANEN. Saat mode tsb tidak aktif, delete hanya menambahkan delete marker (object sebenarnya masih ada & bisa dipulihkan).

7.3S3 Bucket Encryption#

Catatan
  • Mengenkripsi data sebelum disimpan di bucket, dan mendekripsi data sebelum dikirim ke client
  • Enkripsi berjalan di sisi server (server-side) — tidak ada bedanya di sisi client, data tetap diterima seperti biasa
  • Bisa dikonfigurasi di level bucket (berlaku untuk semua object baru) maupun di level object individual
Mengaktifkan Default Encryption pada Bucket
1
S3 › Buckets › pilih bucket › Properties › Default encryption › Edit
Mengatur enkripsi di level bucket (pilih server-side dengan SSE-S3, bisa juga saat create bucket)
2
Aktifkan saat proses upload object
Mengatur enkripsi khusus di level object tertentu

7.4S3 Security#

Catatan
  • Ada 2 pendekatan mengatur keamanan akses S3
Jenis Security S3
JenisMengatur
User Based (IAM Policy)Hak akses USER — user tsb boleh melakukan apa saja ke bucket
Resource Based (Bucket Policy)Hak akses BUCKET — siapa saja yang boleh mengakses bucket tsb
Mengatur Policy & Akses Public Bucket
1
IAM › Access Management › Policies › Create
Membuat policy baru: pilih service S3, atur action, lalu assign ke user/group/role (User Based)
2
S3 › Buckets › pilih bucket › Permissions › Block public access › Edit
Mengatur block/allow akses publik ke bucket (Resource Based)
3
S3 › Buckets › pilih bucket › Permissions › Bucket policy › Edit
Menambahkan bucket policy (bisa pakai policy generator, lalu tambahkan '/*' di akhir ARN untuk mencakup semua object)

7.5S3 Static Web Hosting#

Catatan
  • Dipakai untuk hosting website statis (tampilan tidak berubah dinamis, hanya HTML + CSS)
Mengaktifkan Static Website Hosting
1
S3 › Buckets › pilih bucket › Upload index.html
Mengunggah file halaman utama website
2
Enable public access pada bucket
Agar file bisa diakses publik dari internet
3
S3 › Buckets › pilih bucket › Properties › Enable Static website hosting
Mengaktifkan fitur static website hosting

7.6S3 Presigned URL#

Deskripsi
Presigned URL
dipakai untuk memberi akses sementara ke object dari bucket yang TIDAK public, tanpa perlu membuat bucket/object jadi public
Catatan
  • Contoh kasus: akses video/konten premium berbayar yang hanya boleh diakses user tertentu dalam waktu terbatas
Membuat Presigned URL (Console & CLI)
1
Console: pilih object › Actions › Share with presigned URL
Membuat presigned URL lewat GUI
2
aws s3 presign <path_file> --expires-in 60
Membuat presigned URL lewat CLI (berlaku 60 detik pada contoh ini)

7.7S3 Replication#

Catatan
  • Dipakai untuk mereplikasi object secara otomatis ke bucket lain (bisa beda region maupun beda akun)
Jenis Replication
JenisKeterangan
Cross Region Replication (CRR)Replikasi ke bucket di region yang berbeda
Same Region Replication (SRR)Replikasi ke bucket di region yang sama
Mengaktifkan Replication antar Bucket
1
Enable versioning pada bucket source
Wajib, replication membutuhkan versioning aktif
2
Pilih bucket source › Management › Replication rules › Create
Membuat rule replikasi (tujuan bucket, prefix, dll)
Penting
Delete marker MASIH BISA direplikasi (jika opsi delete marker replication di-enable), tapi penghapusan versi (delete version) TIDAK BISA direplikasi.

7.8S3 Storage Class#

Catatan
  • Yang membedakan tiap storage class: durability (ketahanan data), availability (ketersediaan), dan harga
Jenis Storage Class
Storage ClassAvailabilityKeterangan
S3 Standard99.99%Latency rendah, throughput tinggi — untuk data yang sering diakses
S3 Standard-IA99.9%Lebih murah dari Standard, tapi ada biaya retrieval — untuk data jarang diakses (backup, DR)
S3 One Zone-IA99.5%Sama seperti Standard-IA tapi cuma 1 AZ — untuk backup yang mudah dibuat ulang
S3 Glacier Instant RetrievalBisa langsung diakses; minimum penyimpanan 90 hari
S3 Glacier Flexible RetrievalWaktu akses: expedited (1-5 menit), standard (3-5 jam), bulk (5-12 jam); minimum 90 hari
S3 Glacier Deep ArchiveWaktu akses: standard (12 jam), bulk (48 jam); minimum penyimpanan 180 hari
S3 Intelligent-TieringOtomatis memindahkan class object berdasarkan frekuensi akses; ada sedikit biaya monitoring, tapi tidak ada biaya retrieval
Memilih Storage Class saat Upload
1
Pilih storage class saat proses upload (bagian Properties)
Menentukan storage class object saat diunggah
Penting
Alur perpindahan otomatis S3 Intelligent-Tiering: default di S3 Standard → 30 hari tidak diakses ke Infrequent Access → 90 hari ke Glacier Instant Retrieval (otomatis) → opsional lanjut ke Glacier Flexible Retrieval (90-700+ hari) atau Glacier Deep Archive (180-700+ hari).

7.9S3 Lifecycle Rule#

Deskripsi
Lifecycle Rule
mengubah storage class object secara otomatis berdasarkan waktu (mis. setelah 30 hari pindah ke class A, setelah 90 hari pindah ke class B)
Catatan
  • Bisa juga dipakai untuk mengatur expiring (penghapusan otomatis) object
  • Bisa diterapkan di level bucket maupun prefix (folder) tertentu saja
Membuat Lifecycle Rule
1
Pilih bucket source › Management › Lifecycle rules › Create
Membuat rule lifecycle (pilih action: ganti class current version, noncurrent version, atau expire)
Topik 8 dari 19

8AWS CloudFront & Global Accelerator#

8.1Konsep CloudFront#

Deskripsi
CloudFront
CDN (Content Delivery Network) AWS, dipakai untuk mempercepat performa pembacaan (read) konten
Origin (sumber data)
bisa S3 Bucket (paling umum), atau Custom Origin lewat HTTP (mis. ALB, EC2 instance, S3 static website)
Catatan
  • Paling terasa manfaatnya untuk user yang lokasinya jauh dari sumber data asli (origin)
Membuat CloudFront Distribution
1
CloudFront › Distributions › Create
Membuat distribution CloudFront baru (atur origin, cache behavior, dll)
Penting
Cara kerja: CloudFront menyimpan cache konten di Edge Location (PoP) terdekat dengan user. User mengakses data cukup lewat edge location tsb. Jika cache belum ada, CloudFront akan mengambil dulu dari origin lewat jaringan internal AWS (sehingga tetap sangat cepat).

8.2AWS Global Accelerator#

Deskripsi
AWS Global Accelerator
membuat user mengakses jaringan global AWS dengan lebih cepat, dengan mengarahkan traffic lewat jalur/rute terbaik dalam jaringan backbone AWS (bukan internet publik)
Catatan
  • Alur: User → Edge Location terdekat → Region tujuan (lewat jaringan internal AWS yang low latency)
Topik 9 dari 19

9Route 53#

9.1DNS (Domain Name System)#

Deskripsi
DNS
sistem untuk mentranslate/menerjemahkan domain (nama yang mudah diingat manusia) menjadi IP address, contoh: google.com → 142.251.10.102
Struktur Domain
BagianContoh
Root ( . )Titik paling akhir domain (biasanya tersembunyi)
Top Level Domain (TLD).com, .id, .org, dll
Second Level Domain (SLD)google.com, amazon.com, dll
Penting
Cara kerja DNS: client bertanya ke DNS server (resolver) → DNS server bertanya ke Root DNS server (tahu lokasi TLD DNS server) → bertanya ke TLD DNS server (tahu lokasi SLD DNS server) → bertanya ke SLD DNS server dan akhirnya mendapatkan IP address domain tsb.

9.2Route 53#

Deskripsi
Route 53
managed DNS server milik AWS
Catatan
  • Route 53 berperan sebagai registrar / SLD DNS server
  • Tersedia untuk 2 jenis hosted zone: Private (internal) dan Public (internet)

9.3Konfigurasi Private Zone (DNS Internal)#

Catatan
  • Dipakai untuk memberi domain pada resource yang hanya diakses secara internal dalam VPC
Membuat Private Hosted Zone (DNS Internal)
1
Buat 2 EC2 instance (contoh)
Menyiapkan resource yang akan diberi domain
2
Route 53 › Hosted Zones › Create
Membuat hosted zone baru, beri nama domain, pilih tipe Private zone
3
Pilih hosted zone › Tambah record
Membuat A record untuk tiap server yang akan diberi domain

9.4Konfigurasi Public Zone (DNS Internet)#

Catatan
  • Dipakai untuk domain yang bisa diakses publik dari internet
Mendaftarkan Domain & Membuat Public Hosted Zone
1
Route 53 › Domains › Registered domains (beli lewat AWS)
Membeli domain baru langsung dari AWS
2
Buat public hosted zone, lalu update NS record di registrar luar
Jika domain dibeli dari luar AWS, arahkan NS (nameserver) domain ke Route 53

9.5TTL (Time To Live)#

Deskripsi
TTL
durasi client menyimpan (cache) hasil record sebuah domain sebelum bertanya ulang ke DNS server
Catatan
  • TTL kecil → record lebih up to date, tapi lebih mahal/berat karena request ke Route 53 jadi lebih sering
  • TTL besar → record bisa lebih outdated (telat update), tapi lebih murah/ringan karena request ke Route 53 jadi lebih jarang

9.6CNAME dan Alias Record#

Catatan
  • Keduanya sama-sama dipakai untuk pointing (mengarahkan) dari 1 domain ke domain lain
Perbandingan CNAME vs Alias
JenisKeterangan
CNAMEPointing domain ke domain lain (termasuk domain AWS). Hanya bisa untuk sub-domain, TIDAK bisa untuk root domain (mis. bisa lb.contoh.com, tidak bisa contoh.com langsung)
AliasKhusus untuk pointing ke domain AWS (ELB, S3, CloudFront, Route 53 sendiri, dll). Bisa dipakai untuk root/SLD domain (contoh.com) MAUPUN sub-domain (lb.contoh.com). Tidak bisa dipakai untuk DNS EC2 instance
Topik 10 dari 19

10AWS RDS (Relational Database Service)#

10.1Konsep RDS#

Deskripsi
RDS
managed relational database service dari AWS
Kelemahan
TIDAK bisa SSH langsung ke server linux di baliknya (berbeda dengan menjalankan database sendiri di EC2)
Catatan
  • RDS adalah tools yang menjalankan/mengelola engine database (mis. MySQL) — di dalam engine tsb baru ada database berupa RDBMS-nya
  • Sebagai managed service, RDS menyediakan: automated provisioning & OS patching, continuous backup, monitoring dashboard, read replica, multi-AZ setup, dll
Engine yang Didukung RDS
Engine
PostgreSQL
MySQL
MariaDB
Oracle
Microsoft SQL Server
Aurora (database proprietary AWS)

10.2Membuat Database & Command MySQL Dasar#

Catatan
  • Setelah database RDS dibuat, koneksi & operasi data (create table, insert, select, dll) dilakukan lewat MySQL client dari instance EC2 yang satu jaringan (VPC) dengan RDS tsb
Membuat database RDS & menyiapkan EC2 client
1
Aurora and RDS › Databases › Create
Membuat database baru (pilih engine, instance class, storage, security group, dll)
2
Buat EC2 instance & install client MySQL
Menyiapkan instance untuk terhubung ke database
bash — EC2 Instance
yum install mysql
# Menginstall MySQL client di EC2 instance
mysql -h <domain_name_endpoint> -u <username> -p
# Menghubungkan ke database RDS dari EC2 instance
mysql — MySQL Client (via EC2)
CREATE DATABASE <nama_database>;
-- Membuat database baru
USE <nama_database>;
-- Memilih database yang akan dipakai
CREATE TABLE <nama_table> (id INT(6) AUTO_INCREMENT PRIMARY KEY, nama VARCHAR(10));
-- Membuat table baru dengan kolom & tipe data
DESCRIBE <nama_table>;
-- Melihat struktur/kolom sebuah table
INSERT INTO <nama_table> (nama, umur) VALUES ("Adam", 21);
-- Menambahkan baris data baru ke table
SELECT * FROM <nama_table>;
-- Menampilkan seluruh data pada table
Penting
Pastikan security group database sudah allow koneksi (mis. port 3306 untuk MySQL) dari EC2 instance yang mau connect.

10.3RDS Multi-AZ#

Deskripsi
Multi-AZ
1 database memiliki lebih dari 1 server/instance yang berada di AZ berbeda — 1 server master dan 1 (atau lebih) server standby
Catatan
  • Hanya server master yang bisa menerima operasi read/write; server standby hanya menerima replikasi data dari master (tidak bisa diakses langsung untuk query)
  • Jika server master down, AWS otomatis melakukan failover ke server standby
  • Bisa diaktifkan belakangan (dari single-AZ diubah menjadi multi-AZ) meskipun database sudah berjalan
Mengaktifkan Multi-AZ saat Membuat Database
1
Saat create database, pilih 'Multi-AZ DB instance deployment (2 instances)' pada Deployment options
Mengaktifkan Multi-AZ saat pembuatan database baru

10.4Read Replica#

Deskripsi
Read Replica
dipakai untuk scalability (bukan untuk HA seperti Multi-AZ)
Catatan
  • Read Replica adalah database TERSENDIRI yang terus-menerus menerima replikasi data dari database master
  • Read Replica HANYA bisa dipakai untuk operasi READ, tidak bisa write
  • Bisa membuat hingga 15 read replica per source instance (termasuk hingga 5 yang lintas region)
  • Tiap read replica punya DNS endpoint sendiri-sendiri
  • Cocok dipakai untuk aplikasi yang hanya butuh baca data dari database production (mis. dashboard reporting)
Membuat Read Replica
1
Pilih database › Action › Create read replica
Membuat read replica baru dari database master
Application read read read write replica replica R Replica (read-only) M Master (read + write) R Replica (read-only)

10.5Read Replica Load Balancer#

Catatan
  • Memakai Route 53 untuk load balancing traffic dari 1 subdomain ke beberapa read replica sekaligus
  • Caranya dengan membuat beberapa CNAME record dengan nama subdomain yang SAMA tapi destination (tujuan) yang BEDA
Load Balancing Traffic ke Beberapa Read Replica (DNS Weighted Routing)
1
Buat 2 (atau lebih) read replica
Menyiapkan beberapa read replica sebagai target
2
Buat CNAME record dari masing-masing DNS read replica, dengan routing policy 'Weighted' (mis. 50/50)
Mengatur pembagian traffic secara merata ke tiap read replica
Production App read write replica replica R M R 🧭 Route 53 weighted 50/50 analytic.internal.com Analytic App

10.6Multi-AZ DB Cluster#

Catatan
  • Read Replica hanya untuk scalability, Multi-AZ hanya untuk high availability — Multi-AZ DB Cluster menyediakan KEDUANYA sekaligus
  • 1 DB Cluster terdiri dari 3 instance: 1 instance untuk write, 2 instance untuk read, semua berada di AZ yang berbeda
  • Jika instance master mati, akan terjadi failover otomatis
  • 2 instance read punya 1 DNS yang sama, sehingga traffic read otomatis ter-load-balance di antara keduanya
Mengaktifkan Multi-AZ DB Cluster
1
Saat create database, pilih 'Multi-AZ DB cluster deployment (3 instances)' pada Deployment options
Mengaktifkan Multi-AZ DB Cluster saat pembuatan database baru

10.7Storage Auto Scaling#

Catatan
  • Sudah otomatis aktif (enabled) saat pertama kali membuat database, di bagian Additional storage configuration
  • Bisa mengatur batas maksimum (maximum storage threshold) agar penambahan storage tidak tak terkendali

10.8RDS Backup#

Catatan
  • Ada 2 jenis backup pada RDS
Jenis Backup RDS
JenisKeterangan
Automated BackupOtomatis dilakukan RDS: daily backup (tiap 1 hari) + backup transaction log (tiap 5 menit). Bisa restore dari backup terlama sampai 5 menit terakhir. Default retention 7 hari, bisa diubah maksimal 35 hari
DB SnapshotBackup manual, bisa di-restore kapan saja selama snapshot belum dihapus
Penting
Automated Backup sudah otomatis aktif saat pertama kali membuat database (bagian Additional configuration).

10.9Amazon Aurora#

Deskripsi
Aurora
tipe database proprietary AWS, kompatibel dengan MySQL dan PostgreSQL
Catatan
  • Klaim performa: 5x lebih baik dari MySQL dan 3x lebih baik dari PostgreSQL
  • Bisa punya hingga 15 read replica, sama seperti RDS biasa — keunggulan Aurora ada di arsitektur shared storage-nya yang membuat replication lag jauh lebih kecil
  • Mendukung High Availability secara default
  • Semua instance/server dalam 1 cluster Aurora memakai SHARED STORAGE (beda dengan Multi-AZ DB Cluster biasa yang storage-nya terpisah tiap instance)
  • Harga sekitar 20% lebih mahal, tapi lebih efisien secara performa
Membuat Database Aurora & Menambah Reader
1
Create database › pilih engine type = Aurora
Membuat cluster Aurora baru (otomatis terbentuk 1 writer & 1 reader instance)
2
Pilih database › Add reader
Menambahkan reader instance baru ke cluster
Application Writer Endpoint (pointing ke primary) Reader Endpoint (load balance ke semua reader) M Primary R R R Reader (hingga 15 replica) Shared Cluster Storage — auto-scale 10 GB s/d 128 TB

10.10Amazon Aurora Serverless#

Catatan
  • Tidak perlu memilih instance type secara manual
  • Konfigurasi kapasitas hanya berupa ACU (Aurora Capacity Unit) — 1 ACU setara 2GB memory
  • Range kapasitas: minimal 0.5 ACU, maksimal 128 ACU
  • Memory akan scaling otomatis (dynamic) sesuai kebutuhan; CPU & networking menyesuaikan otomatis (tidak bisa dikonfigurasi manual)
Membuat Aurora Serverless
1
Create database baru › pilih engine type Aurora
Memulai pembuatan cluster Aurora
2
Engine options › Hide filter › enable 'Show versions that support serverless'
Menampilkan versi engine yang mendukung mode serverless
3
Instance configuration › DB instance class › Serverless
Memilih mode Serverless untuk instance
Topik 11 dari 19

11AWS Cloud Concepts#

11.1Konsep Dasar Cloud Computing#

Deskripsi
Cloud computing
penyediaan resource IT secara on-demand lewat internet, dengan sistem bayar sesuai pemakaian (pay-as-you-go)
Catatan
  • Prinsip utama: hanya membayar untuk resource yang benar-benar dipakai
3 Jenis Cloud Deployment
JenisKeterangan
Cloud-based DeploymentSeluruh aplikasi berjalan di cloud
On-premises DeploymentSeluruh aplikasi berjalan di infrastruktur milik sendiri (data center sendiri)
Hybrid DeploymentKombinasi cloud dan on-premise

11.2Manfaat Cloud Computing#

Catatan
  • Trade fixed expense for variable expense — mengubah biaya tetap (on-premise: beli server di awal) menjadi biaya variabel (cloud: bayar sesuai pakai)
  • Benefit from economies of scale — karena AWS membeli resource dalam skala sangat besar, harga yang dinikmati user jadi lebih murah
  • Stop guessing capacity — tidak perlu menebak-nebak kebutuhan resource di awal, tinggal scaling sesuai kebutuhan aktual
  • Increase speed and agility — deploy atau hapus resource/aplikasi bisa dilakukan dengan sangat cepat
  • Stop spending money running and maintaining data center — tidak perlu memikirkan biaya & perawatan infrastruktur fisik
  • Go global in minutes — aplikasi bisa langsung dijangkau ke berbagai belahan dunia hanya dalam hitungan menit

11.3High Availability & Fault Tolerance#

Deskripsi
High Availability
ketersediaan sebuah service/sistem (sistem tetap bisa diakses)
Fault Tolerance
sistem tetap bisa berjalan normal meskipun ada komponen yang mengalami failure/gangguan
Catatan
  • Struktur infrastruktur AWS yang mendukung keduanya: 1 Region minimal terdiri dari 3 AZ, dan 1 AZ minimal terdiri dari 2 data center
  • HA biasanya berjalan berdampingan dengan horizontal scaling — jika 1 AZ down, sistem otomatis menambah kapasitas (scaling) di AZ lain yang masih hidup

11.4Shared Responsibility Model#

Deskripsi
Shared Responsibility Model
pembagian tanggung jawab keamanan antara AWS dan pengguna (customer)
Catatan
  • AWS bertanggung jawab atas keamanan 'OF the cloud' (infrastruktur fisik, hardware, jaringan global, data center)
  • Customer bertanggung jawab atas keamanan 'IN the cloud' (data, konfigurasi, manajemen akses/IAM, patching OS di dalam instance, dll)
  • Pembagian detail tanggung jawab ini bisa berbeda-beda tergantung jenis service (unmanaged, managed, atau serverless — lihat Bab 12.5)
Topik 12 dari 19

12AWS Compute Concepts#

12.1Multi-tenancy#

Deskripsi
Multi-tenancy
penggunaan 1 resource fisik (server) secara bersamaan oleh banyak customer, namun tetap terisolasi satu sama lain (customer 1 tidak bisa melihat/mengganggu data customer lain)

12.2EC2 Purchase Option#

Catatan
  • Beberapa cara pembelian/penyewaan EC2 dengan model harga berbeda-beda
Jenis Purchase Option
Purchase OptionKeterangan
On-DemandBayar sesuai pemakaian, tanpa komitmen jangka panjang — paling fleksibel, tapi paling mahal per jam
Saving PlansKomitmen pemakaian (dalam $/jam) untuk jangka waktu tertentu, mendapat harga lebih murah
Reserved InstancesBooking/komitmen instance untuk jangka panjang (1 atau 3 tahun), mendapat diskon besar
Spot InstancesMemakai kapasitas 'sisa' AWS, harga sangat murah, tapi AWS bisa menghentikan instance kapan saja jika kapasitas dibutuhkan kembali
Dedicated HostMenyewa 1 server fisik penuh, tidak berbagi dengan customer lain (untuk compliance/lisensi khusus)

12.3Scalability dan Elasticity#

Deskripsi
Scalability
kemampuan sistem untuk menangani peningkatan beban (load) dengan menambah resource
Elasticity
kemampuan sistem untuk scaling secara real-time/otomatis dan cepat sesuai kebutuhan saat itu juga
2 Jenis Scaling
JenisKeterangan
Vertical Scaling (manual)Menaikkan kapasitas 1 service, mis. instance type t3.micro dinaikkan jadi t3.large
Horizontal ScalingMemperbanyak jumlah service (instance) yang identik/sama persis

12.4Tightly Coupled vs Loosely Coupled#

Deskripsi
Tightly Coupled (Monolithic)
seluruh komponen aplikasi berjalan bersama dalam 1 kesatuan, saling bergantung erat
Loosely Coupled (Microservices)
tiap komponen aplikasi berjalan terpisah-pisah dan saling berkomunikasi lewat API/messaging
Service Pendukung Arsitektur Loosely Coupled
ServiceFungsi
Amazon EventBridgeMenghubungkan antar service di AWS berdasarkan event
Amazon SQS (Simple Queue Service)Membuat antrian (queue) pesan antar service, agar request tidak hilang saat salah satu service sibuk/tidak aktif
Amazon SNS (Simple Notification Service)Mengirimkan notifikasi ke banyak subscriber sekaligus, termasuk antar service

12.5Unmanaged, Managed, dan Serverless Services#

Catatan
  • 3 tingkatan level pengelolaan service compute di AWS, dari yang paling butuh effort sendiri sampai yang paling minim
Perbandingan
LevelKeterangan
UnmanagedCustomer bertanggung jawab penuh atas OS & software (mis. EC2 — pengguna kelola OS sendiri)
ManagedAWS mengelola sebagian infrastruktur/platform (mis. RDS — AWS kelola OS & engine database)
Fully-managed (Serverless)AWS mengelola seluruh infrastruktur, customer hanya fokus ke kode/logic (mis. Lambda)

12.6AWS Lambda#

Deskripsi
Lambda
layanan compute serverless — hanya perlu deploy kode function (biasanya berukuran kecil), semua urusan server sepenuhnya dikelola AWS
Catatan
  • Lambda bekerja otomatis ketika ada trigger tertentu — contoh: saat ada file gambar di-upload ke S3, Lambda otomatis dijalankan untuk memproses (resize) gambar tsb

12.7Containers#

Deskripsi
Container
cara membungkus aplikasi beserta semua dependency/package yang dibutuhkan, agar bisa berjalan konsisten di lingkungan manapun
Service Container di AWS
ServiceFungsi
AWS ECS (Elastic Container Service)Mengelola orkestrasi container — menentukan container berjalan di mana (bisa di atas EC2 atau Fargate)
AWS EKS (Elastic Kubernetes Service)Layanan Kubernetes terkelola di AWS
AWS ECR (Elastic Container Registry)Tempat menyimpan image container
AWS FargateServerless compute engine khusus untuk menjalankan container (tanpa perlu kelola EC2 di baliknya)

12.8Additional Compute Services#

Catatan
  • Beberapa service compute lain di luar EC2, Lambda, dan Container di atas
Service Compute Tambahan
ServiceFungsi
Elastic BeanstalkPlatform as a Service (PaaS) untuk deploy web application dengan cepat — AWS mengelola provisioning EC2, load balancer, dan auto scaling di baliknya, tapi BUKAN serverless (bukan Lambda/Fargate).
AWS BatchLayanan terkelola (managed) untuk menjalankan batch job berat di EC2 atau Fargate — serverless penuh hanya jika memakai compute environment Fargate.
LightsailVPS (Virtual Private Server) sederhana ala AWS — cocok untuk project kecil/pemula
AWS OutpostsInfrastruktur hybrid cloud — AWS meletakkan hardware/infrastrukturnya langsung di data center milik customer
Topik 13 dari 19

13Infrastructure as Code (IaC)#

13.1AWS CloudFormation#

Deskripsi
CloudFormation
layanan Infrastructure as Code (IaC) AWS
Catatan
  • Dipakai untuk membuat blueprint/template resource-resource AWS, sehingga infrastruktur yang sama bisa dibuat ulang dengan cepat & konsisten (tanpa klik manual satu-satu di console)
Topik 14 dari 19

14Storage & Database Overview#

14.1Jenis Storage di AWS#

Catatan
  • 3 kategori dasar storage di AWS Cloud
Kategori Storage
KategoriServiceKeterangan
Block StorageInstance StoreMelekat secara fisik pada host EC2, datanya akan HILANG saat instance di-terminate/dipindah host
Block StorageAmazon EBSData tetap ada meskipun instance di-terminate (kecuali diatur delete on termination)
Object StorageAmazon S3Untuk menyimpan object/file, umumnya dipakai untuk backup & web assets
File StorageAmazon EFSUntuk shared storage yang bisa dipakai banyak instance sekaligus

14.2Storage Tambahan#

Catatan
  • Service pelengkap di luar block/object/file storage utama yang sudah dibahas
Service Storage Lainnya
ServiceFungsi
Amazon Data Lifecycle ManagerMengotomasi proses backup/snapshot (EBS) secara berkala
Amazon FSxLayanan file storage yang lebih advanced dari EFS (mendukung Windows File Server, Lustre, dll)

14.3AWS Storage Gateway#

Deskripsi
Storage Gateway
menghubungkan storage on-premise (lokal) dengan storage di AWS
Jenis Storage Gateway
JenisKeterangan
S3 File GatewayUntuk kebutuhan file server, file disimpan sebagai object di S3
Volume GatewayData utama disimpan di AWS, dengan cache di lokal (atau sebaliknya)
Tape GatewayUntuk migrasi/backup dari sistem tape fisik ke cloud

14.4Jenis Database di AWS#

Catatan
  • AWS menyediakan berbagai jenis database sesuai kebutuhan data & pola akses
Jenis Database
KategoriServiceKeterangan
Relational (SQL)Amazon RDSDatabase relasional terkelola (MySQL, PostgreSQL, dll)
Relational (SQL)Amazon AuroraDatabase relasional proprietary AWS, performa lebih tinggi
Non-Relational (NoSQL)Amazon DynamoDBDatabase NoSQL key-value/document, sangat cepat & scalable
CacheAmazon ElastiCacheMenyimpan cache data untuk mengurangi beban akses langsung ke database
Semi-StructuredAmazon DocumentDBKompatibel dengan MongoDB, untuk data semi-terstruktur
GraphAmazon NeptuneDatabase graph, untuk data yang saling berhubungan/terhubung (mis. social network)
Topik 15 dari 19

15AWS Security Overview#

15.1Authentication vs Authorization#

Deskripsi
Authentication
proses verifikasi identitas — memastikan seseorang benar-benar dirinya (mis. login dengan password)
Authorization
proses memastikan izin akses — menentukan apa saja yang boleh dilakukan setelah identitas terverifikasi
Least Privilege
prinsip memberi hak akses seminim mungkin, hanya sesuai kebutuhan (best practice keamanan)

15.2Perlindungan DDoS#

Catatan
  • Perlindungan dari serangan DDoS di AWS bisa dilakukan berlapis
Lapisan Perlindungan DDoS
LapisanKeterangan
Security Group, ELB, Multi-RegionPerlindungan dasar bawaan dari arsitektur yang baik
AWS ShieldMelindungi dari serangan DDoS di network layer (L3/L4)
AWS WAF (Web Application Firewall)Melindungi dari serangan di application layer (L7)

15.3Enkripsi#

Catatan
  • Service AWS untuk mengelola kunci enkripsi dan sertifikat keamanan
Service Enkripsi
ServiceFungsi
AWS KMS (Key Management Service)Membuat dan mengelola cryptographic key untuk enkripsi data
AWS Certificate Manager (ACM)Mengelola sertifikat SSL/TLS

15.4Deteksi Insiden & Ancaman Keamanan#

Catatan
  • Service yang membantu mendeteksi, menilai, dan menginvestigasi ancaman keamanan di akun AWS
Service Keamanan Terkait Insiden
ServiceFungsi
Amazon InspectorMenilai (assess) keamanan & compliance resource secara otomatis
Amazon GuardDutyMendeteksi ancaman (threat detection) secara terus-menerus
Amazon DetectiveMembantu mencari root cause dari sebuah ancaman/insiden keamanan
AWS Security HubDashboard keamanan terpusat, mengumpulkan data dari berbagai service keamanan lain
Topik 16 dari 19

16Monitoring, Compliance & Governance#

16.1Amazon CloudWatch#

Deskripsi
CloudWatch
service terpusat untuk memonitor resource-resource AWS
Fitur CloudWatch
FiturFungsi
CloudWatch MetricMengumpulkan data numerik dari resource (mis. CPU utilization)
CloudWatch AlarmMemicu notifikasi/aksi otomatis saat metric melewati batas tertentu
CloudWatch DashboardVisualisasi data metric dalam bentuk dashboard
CloudWatch LogMengumpulkan & menyimpan log dari resource/aplikasi

16.2Amazon CloudTrail#

Deskripsi
CloudTrail
dipakai untuk audit log
Catatan
  • Menyimpan seluruh track/rekam jejak aktivitas (log) yang terjadi di akun AWS, termasuk siapa melakukan apa dan kapan

16.3Compliance#

Catatan
  • Service yang membantu menilai & membuktikan kepatuhan (compliance) akun AWS terhadap standar/regulasi tertentu
Service Terkait Compliance
ServiceFungsi
AWS ArtifactMengakses laporan (report) compliance AWS dan menyetujui dokumen compliance yang relevan
AWS ConfigMenilai, mengaudit, dan memonitor konfigurasi resource AWS
AWS Audit ManagerMelakukan audit secara berkelanjutan dan mengumpulkan bukti (evidence) kepatuhan terhadap compliance

16.4AWS Organizations#

Deskripsi
AWS Organizations
dipakai untuk mengelola BANYAK akun AWS sekaligus
Catatan
  • Berbeda dengan IAM yang mengatur banyak user DALAM 1 akun, Organizations mengatur banyak AKUN sekaligus (mis. untuk perusahaan dengan banyak divisi/tim)

16.5Governance di AWS#

Catatan
  • Service yang membantu menegakkan aturan/kebijakan (governance) secara konsisten di seluruh akun/organisasi AWS
Service Governance
ServiceFungsi
AWS Control TowerMenegakkan (enforce) dan mengelola aturan governance di seluruh akun AWS
AWS Service CatalogMembuat katalog resource AWS yang bisa dipakai/digunakan ulang oleh akun lain
AWS License ManagerMengelola lisensi software

16.6AWS Health Dashboard & Trusted Advisor#

Deskripsi
AWS Health Dashboard
menampilkan informasi kesehatan (health) dari akun AWS
AWS Trusted Advisor
memberikan rekomendasi best practice untuk akun AWS
Kategori Rekomendasi Trusted Advisor
Kategori
Cost Optimization
Performance
Security
Fault Tolerance
Service Limits
Operational Excellence
Penting
IAM Access Analyzer: dipakai untuk mengevaluasi IAM policy, membantu memastikan policy sudah sesuai prinsip least privilege.
Topik 17 dari 19

17AWS Pricing & Support#

17.1Konsep Pricing#

Deskripsi
Pay As You Go
bayar sesuai pemakaian aktual
Save When You Commit
mendapat harga lebih murah jika berkomitmen pemakaian jangka panjang (mis. Savings Plans/Reserved Instance)
Catatan
  • Pay Less by Using More — semakin banyak resource yang dipakai, harga per unit-nya bisa semakin murah (economies of scale)
Faktor Utama Penentu Biaya (Driving Factor of Cost)
Faktor
Compute (mis. jam pemakaian EC2)
Storage (mis. kapasitas S3/EBS)
Data Transfer (terutama keluar dari AWS/outbound)

17.2Tools Manajemen Biaya#

Catatan
  • Tools bawaan AWS untuk memantau, menganalisis, dan mengestimasi biaya pemakaian
Tools Terkait Billing
ToolsFungsi
AWS Billing and Cost Management DashboardDashboard terpusat untuk manajemen biaya
AWS BudgetsMengatur budget dan mengirim alert jika biaya melebihi batas yang ditentukan
AWS Cost ExplorerBagian dari AWS Billing untuk memvisualisasikan & menganalisis biaya
AWS Pricing CalculatorUntuk mengestimasi biaya sebelum memakai suatu service/arsitektur

17.3Jenis AWS Support Plan#

Catatan
  • AWS menyediakan beberapa tingkatan paket support sesuai kebutuhan bisnis
Tingkatan AWS Support
PlanPeruntukanResponse Time (sistem down)
Basic SupportSemua customer AWS (gratis)Tidak ada jaminan waktu respons, hanya akses dokumentasi & re:Post
Developer SupportEksperimen/testing di AWS< 12 jam (sistem production terganggu)
Business SupportMinimum tier untuk production workload< 1 jam (sistem production down)
Enterprise On-Ramp SupportWorkload production & business-critical< 30 menit (sistem business-critical down)
Enterprise SupportWorkload business & business-critical< 15 menit (sistem business-critical down)
Penting
Semakin tinggi tier, semakin lengkap Trusted Advisor checks yang didapat, dan mulai tier Business ke atas mendapat Technical Account Management (TAM) — pada Enterprise, TAM sudah dedicated (khusus).

17.4Additional Support#

Catatan
  • Sumber bantuan tambahan di luar paket support berbayar di atas
Sumber Dukungan Tambahan
SumberKeterangan
AWS re:PostForum komunitas tanya-jawab seputar AWS
AWS Trust and Safety CenterPusat informasi terkait kepercayaan & keamanan platform AWS
AWS Solutions ArchitectBantuan dari arsitek solusi AWS
AWS Professional ServicesLayanan konsultasi profesional dari AWS
Self-Support (Dokumentasi)Dokumentasi resmi AWS yang bisa diakses siapa saja
Topik 18 dari 19

18Migrating to the AWS Cloud#

18.13 Fase Migrasi#

Catatan
  • Proses migrasi ke AWS umumnya dilakukan dalam 3 fase besar
Fase Migrasi
FaseKeteranganTools Terkait
AssessMenilai kesiapan (readiness) organisasi/sistem untuk migrasiAWS Migration Evaluator
MobilizeMenyiapkan & memobilisasi kebutuhan resource untuk migrasiAWS Application Discovery Service, AWS Migration Hub
Migrate & ModernizeMigrasi aktual & modernisasi sistemApplication Migration Service, AWS DMS, dll

18.2AWS Cloud Adoption Framework (CAF)#

Deskripsi
CAF
framework untuk mempersiapkan organisasi sebelum migrasi ke cloud
6 Perspective AWS CAF
Perspective
Business
People
Governance
Platform
Security
Operations

18.37 Strategi Migrasi (7 R's)#

Catatan
  • 7 pendekatan umum yang bisa dipilih saat memigrasikan 1 aplikasi/workload ke AWS, tergantung tingkat perubahan yang diinginkan
Strategi Migrasi
StrategiKeterangan
Rehost'Lift and shift' — memindahkan aplikasi apa adanya tanpa perubahan
RelocateMemindahkan infrastruktur (mis. VMware) ke AWS tanpa perubahan arsitektur
ReplatformSedikit perubahan/optimasi saat migrasi (mis. ganti database ke RDS)
RefactorBanyak perubahan arsitektur/kode agar lebih sesuai dengan cloud (mis. jadi microservices)
RepurchaseBeli/ganti dengan produk baru (mis. pindah ke SaaS)
RetainTetap mempertahankan aplikasi di tempat asal (belum dimigrasi)
RetireMenghentikan/menghapus aplikasi yang sudah tidak dibutuhkan

18.4Migrasi Database#

Catatan
  • Tools khusus AWS untuk memigrasikan database ke AWS, termasuk saat berpindah jenis engine database
Tools Migrasi Database
ToolsFungsi
AWS Database Migration Service (DMS)Memigrasikan database ke AWS (mendukung migrasi homogen maupun heterogen)
AWS Schema Conversion Tool (SCT)Mengonversi schema/engine database saat migrasi antar jenis database berbeda

18.5Transfer Data (Online vs Offline)#

Deskripsi
Online
transfer data lewat jaringan/internet — cocok untuk data yang tidak terlalu besar atau koneksi sudah memadai
Offline
transfer data secara fisik lewat perangkat — cocok untuk data berskala sangat besar (petabyte) yang jika lewat jaringan akan makan waktu sangat lama
Metode Transfer Data
MetodeToolsKeterangan
OnlineAWS DataSyncMengotomasi & mempercepat migrasi data skala besar lewat jaringan
OnlineAWS Transfer FamilyUntuk berbagi (share) data secara sederhana
OnlineAWS Direct ConnectKoneksi khusus berkapasitas tinggi ke AWS
OfflineAWS Snow Family (mis. Snowball Edge)Memakai perangkat fisik yang dipesan dari AWS, data disalin secara lokal, lalu perangkat dikirim balik ke AWS

18.6AWS Elastic Disaster Recovery (DRS)#

Deskripsi
AWS DRS
untuk mereplikasi server secara real-time sebagai bagian dari disaster recovery
Catatan
  • Bisa mereplikasi server yang berjalan di AWS maupun dari on-premise
Topik 19 dari 19

19AWS Well-Architected Framework#

19.16 Pilar Well-Architected Framework#

Deskripsi
Well-Architected Framework
kumpulan best practice AWS untuk merancang & mengevaluasi arsitektur cloud yang baik
6 Pilar
PilarFokus
Operational ExcellenceMenjalankan & memonitor sistem untuk memberi nilai bisnis, serta terus meningkatkan proses
SecurityMelindungi data, sistem, dan aset
ReliabilityMemastikan sistem pulih dari gangguan & memenuhi kebutuhan kapasitas
Performance EfficiencyMemakai resource IT secara efisien untuk memenuhi kebutuhan sistem
Cost OptimizationMenjalankan sistem untuk memberi nilai bisnis dengan biaya seoptimal mungkin
SustainabilityMeminimalkan dampak lingkungan dari workload yang dijalankan
Penting
AWS Well-Architected Tool: tool gratis di AWS Console untuk mengevaluasi arsitektur yang sudah dibangun terhadap ke-6 pilar di atas, dan memberi rekomendasi perbaikan.