Mengelola database di cloud: memahami peran DBA bergeser dari operator mesin menjadi konfigurator layanan — provisioning RDS/Aurora, Cloud SQL, dan Azure SQL, mengatur networking VPC dan security group, memanfaatkan backup otomatis dan read replicas, sampai memigrasikan database on-prem ke managed service dengan downtime minimal

Sejauh ini kita mengoperasikan database di mesin sendiri — instalasi, konfigurasi file, patching, backup manual. Di cloud-managed, pekerjaan itu diserap platform. Ini bukan berarti DBA kehilangan pekerjaan; perannya bergeser ke lapisan yang lebih tinggi: memilih layanan, mengkonfigurasi dengan benar, mengelola networking & IAM, dan memastikan semua tetap aman & hemat biaya. Episode ini memetakan peran baru itu.
Filosofi yang harus kalian pegang: managed database = kalian bertanggung jawab atas konfigurasi, bukan atas mesin. Provider memelihara patching dan replikasi; kalian yang menentukan apakah database itu aman, tersedia, dan murah.
| AWS RDS/Aurora | GCP Cloud SQL | Azure SQL | |
|---|---|---|---|
| PostgreSQL/MySQL | RDS + Aurora (Postgres-compatible) | Cloud SQL | Azure Database for PostgreSQL/MySQL |
| Managed apa? | Patching, backup, replikasi, failover | Patching, backup, replikasi, failover | Patching, backup, HA built-in |
| Highlight | Aurora: storage terdistribusi, read scaling | High availability regional | SQL Server native |
| Serverless | Aurora Serverless v2 | (tidak; pakai Cloud SQL) | Serverless tiers |
Aurora menarik karena mesin-nya Postgres-compatible tetapi storage didistribusikan: data di-copy ke 6 replika di 3 AZ secara otomatis, dan read replicas bisa di-scale terpisah. Ini contoh nyata arsitektur yang kita bahas abstrak di episode 8-10.
Provision RDS PostgreSQL via AWS CLI (setara terraform di episode 14):
aws rds create-db-instance \
--db-instance-identifier appdb \
--db-instance-class db.t4g.micro \
--engine postgres \
--engine-version 16.3 \
--allocated-storage 50 \
--storage-type gp3 \
--master-username admin \
--master-user-password 'SangatRahasia!2026' \
--multi-az \
--backup-retention-period 14 \
--storage-encryptedParameter yang wajib dipahami tiap DBA cloud:
--multi-az: failover otomatis ke AZ lain tanpa intervensi — ini HA yang di episode 8 kita bangun manual.--backup-retention-period 14: backup otomatis + PITR dalam jendela 14 hari — episode 5 tanpa kerja manual.--storage-encrypted: enkripsi at rest di level EBS — episode 9 & 19 tanpa konfigurasi manual.--db-instance-class: ini right-sizing yang kita optimalkan biayanya di episode 23.Di GCP setara gcloud sql instances create appdb --database-version=POSTGRES_16 --tier=db-f1-micro --region=asia-southeast1 --enable-bin-log; di Azure az postgres flexible-server create.
Di cloud, "firewall" diimplementasikan sebagai security group / firewall rule — dan ini jaring pengaman terpenting. Aturan yang hampir selalu benar:
1. Database di subnet PRIVATE — tidak ada public IP.
2. Hanya aplikasi di VPC/subnet tertentu yang boleh akses port 5432.
3. Tidak ada 0.0.0.0/0 yang membuka database ke internet.
4. DBA masuk lewat bastion/jump host, bukan langsung dari internet.Contoh security group RDS (di-inject lewat --vpc-security-group-ids):
{
"IpPermissions": [
{ "IpProtocol": "tcp", "FromPort": 5432, "ToPort": 5432,
"UserIdGroupPairs": [{ "GroupId": "sg-app-tier" }] }
]
}Perhatikan: rule merujuk security group aplikasi (bukan IP publik) — trafik hanya dari mesin yang punya SG itu. Ini pola security-group-to-security-group yang standar di produksi.
Managed service mengotomatiskan apa yang kita bangun manual:
--backup-retention-period. Cloud SQL: enable_point_in_time_recovery. Azure: retained backups.aws rds create-db-instance-read-replica \
--db-instance-identifier appdb-replica \
--source-db-instance-identifier appdb \
--db-instance-class db.t4g.microaws rds promote-read-replica atau --replication-source-identifier untuk alihkan; Aurora punya failover otomatis ke replica dalam ~30 detik.Kabar buruk yang tidak banyak ditulis: managed ≠ benar. Default RDS mengizinkan akses publik (publicly-accessible=true), backup bisa dimatikan, dan encryption bisa dilupakan. DBA cloud masih bertanggung jawab membuat konfigurasi itu aman.
Important
Jebakan terbesar di cloud: privilege yang dianggap "default aman". Faktanya RDS/Cloud SQL sering dibuat dengan public endpoint, versi lama, dan master password lemah. Jangan mengandalkan kata "managed" — perlakukan provisioning sebagai audit, bukan checklist yang tinggal centang.
Migrasi on-prem ke cloud memakai pola episode 11 (zero-downtime), ditambah alat khusus cloud. Alur ringkas:
pg_dump/pg_restore untuk sekali jalan, atau AWS DMS / GCP Database Migration Service untuk CDC tanpa henti.psql "host=appdb.xxxx.rds.amazonaws.com user=admin dbname=appdb" \
-f appdb.dumpPraktik terbaik: lakukan test restore penuh di cloud dulu (dry-run) sebelum window migrasi sebenarnya — ini bagian dari drill yang kita tanamkan sejak episode 5.
Inti yang harus dibawa pulang:
Di episode 13 selanjutnya kita merambah di luar relasional: NoSQL & specialized DB ops — mengoperasikan MongoDB (replica set, sharding), Redis (persistence, eviction policy), dan Elasticsearch, dengan sudut pandang DBA yang sudah terbiasa berpikir dalam metrik. Sampai jumpa di episode 13!