Membangun Arsitektur Web + Database Highly Available di AWS (RDS Multi-AZ)
๐ Pendahuluan
Dalam arsitektur cloud modern, keamanan dan ketersediaan (availability) adalah dua hal yang wajib diperhatikan. Pada artikel ini, kita akan membangun arsitektur aplikasi web yang terhubung dengan database menggunakan Amazon RDS dengan konfigurasi Multi-AZ.
Arsitektur ini mengikuti best practice AWS:
- Web server berada di public subnet
- Database berada di private subnet
- Menggunakan Multi-AZ untuk high availability
- Menggunakan Security Group untuk kontrol akses
๐ง Gambaran Arsitektur
๐ Lampiran Gambar Arsitektur
๐น Arsitektur Awal

Penjelasan:
- Web server berada di public subnet
- Private subnet belum digunakan untuk database
- NAT Gateway digunakan untuk akses internet dari private subnet
๐น Arsitektur Akhir

Penjelasan:
- RDS ditempatkan di private subnet
- Multi-AZ (Primary & Secondary)
- Web server hanya bisa akses database melalui security group
๐ง Gambaran Arsitektur
๐น Arsitektur Awal
Pada tahap awal, kita hanya memiliki:
- VPC (10.0.0.0/16)
- Public subnet (untuk web server)
- Private subnet (belum digunakan)
- Internet Gateway dan NAT Gateway
๐น Arsitektur Akhir
Setelah implementasi:
- RDS berada di private subnet
- Terdapat 2 Availability Zone
- Database berjalan dalam mode Multi-AZ (Primary + Standby)
- Web server terhubung ke database secara aman
๐ ๏ธ Langkah-langkah Implementasi
๐ข 1. Membuat Security Group untuk Database
Security Group ini digunakan untuk mengontrol siapa saja yang bisa mengakses database.
Langkah-langkah:
- Masuk ke menu VPC โ Security Groups
- Klik Create security group
- Isi konfigurasi:
- Name: DB Security Group
- Description: Permit access from Web
- VPC: Lab VPC
- Tambahkan rule inbound:
- Type: MySQL/Aurora (3306)
- Source: Web Security Group

Penjelasan:
Hanya instance yang berada di Web Security Group yang bisa mengakses database.
๐ข 2. Membuat DB Subnet Group
DB Subnet Group menentukan di subnet mana database akan berjalan.
Langkah-langkah:
- Masuk ke RDS โ Subnet groups
- Klik Create DB Subnet Group
- Isi:
- Name: DB Subnet Group
- VPC: Lab VPC
- Pilih subnet:
- AZ A โ 10.0.1.0/24 (Private Subnet 1)
- AZ B โ 10.0.3.0/24 (Private Subnet 2)

Penjelasan:
Minimal harus 2 subnet di AZ berbeda untuk mendukung Multi-AZ.
๐ข 3. Membuat Database RDS (MySQL Multi-AZ)
Langkah-langkah:
- Masuk ke RDS โ Databases โ Create database โ Full Configuration
- Pilih:
- Engine: MySQL
- Template: Dev/Test
- Availability: Multi-AZ

- Konfigurasi:
- DB identifier: lab-db
- Username: main
- Password: lab-password

- Instance:
- db.m5.large

- Connectivity:
- VPC: Lab VPC
- Security group: DB Security Group

- Additional:
- Initial DB name: lab
- Disable backup (opsional untuk lab)

- Klik Create database
Tunggu hingga status menjadi “Available”.

๐ข 4. Mengambil Endpoint Database
Setelah database siap:
- Masuk ke detail RDS
- Copy Endpoint
Contoh:
lab-db.xxxxxx.rds.amazonaws.com
Endpoint ini akan digunakan oleh aplikasi web.
๐ข 5. Menghubungkan Web App ke Database
Note: Kalian bisa buat web app tes endpoint secara mandiri
- Buka browser:
http://44.249.181.179 - Masuk ke menu RDS
- Isi konfigurasi:
- Endpoint: (dari RDS)
- Database: lab
- Username: main
- Password: lab-password
- Klik Submit
๐ข 6. Testing Aplikasi
Jika berhasil:
- Akan muncul Address Book
- Bisa melakukan:
- Tambah data
- Edit data
- Hapus data


Data akan tersimpan di RDS dan direplikasi ke Availability Zone lain.
๐ Penjelasan Konsep Penting
๐ Kenapa Database di Private Subnet?
- Tidak bisa diakses langsung dari internet
- Lebih aman
- Hanya bisa diakses oleh aplikasi internal
๐ก๏ธ Kenapa Pakai Security Group?
- Sebagai firewall antar resource
- Mengontrol akses antar service
โ๏ธ Kenapa Multi-AZ?
- High availability
- Failover otomatis jika terjadi gangguan
๐ Fungsi NAT Gateway
- Memberikan akses internet ke private subnet
- Digunakan untuk update dan patch
๐งพ Kesimpulan
Dengan arsitektur ini, kita berhasil membangun sistem yang:
- Aman (database tidak expose ke internet)
- Stabil (menggunakan Multi-AZ)
- Terstruktur (public vs private subnet)
Arsitektur ini merupakan pondasi yang sangat baik untuk aplikasi production di AWS.
๐ฏ Penutup
Lab ini menunjukkan bagaimana menghubungkan aplikasi web dengan database managed service secara aman dan scalable.
Kamu bisa mengembangkan arsitektur ini dengan:
- Menambahkan Load Balancer
- Menggunakan Auto Scaling
- Mengaktifkan backup dan monitoring
Happy learning and building! ๐
๐ Pendahuluan Infrastruktur jaringan merupakan komponen penting dalam sistem teknologi informasi, terutama dalam lingkungan cloud computing. Salah satu layanan jaringan…
Lab ini disusun dengan pendekatan praktis step-by-step, sehingga bahkan pemula bisa langsung mengikuti tanpa bingung. Kita mulai dari menyiapkan akun AWS…