Masdika Loading..
Masdika.ID

DevOps Engineer

Cloud Engineer

System Administrator

  • Home
  • Portfolio
  • Services
  • Resume
  • Skills
  • Blog
  • Contact
Masdika.ID

DevOps Engineer

Cloud Engineer

System Administrator

Download CV

Recent Posts

  • Dari Laptop Bekas Jadi Server Pribadi: Cara Membangun Home Server Murah Menggunakan ISP MyRepublic dengan Public IP
  • Pembuatan Subnet dan Alokasi IP Address pada Amazon Web Service VPC
  • Instalasi dan Konfigurasi AWS CLI pada EC2 (Lab Guide)
  • Membangun Arsitektur Web + Database Highly Available di AWS (RDS Multi-AZ)
  • Cara Reset Password OpenBSD di Proxmox via VNC

Recent Comments

  1. Alif on Jangan Gunakan latest Tag pada Docker Images! Ini Alasannya
  2. Sahrull on Panduan Lengkap Anti-DDoS: Installasi Iptables, Hardening, dan Cloudflare Proxy
  3. VSTRA on Cara Cerdas Menguasai Kubernetes (K8s): Panduan Lengkap Orkestrasi Kontainer untuk Developer Modern
  4. Rikiy on Cara Mudah Deploy Website Node.js Menggunakan Docker
  5. Masdika.BIZ.ID on Disaster Recovery Cluster (DRC) WordPress dengan MariaDB Galera dan Load Balancer Caddy

Categories

  • Tutorial

Masdika.ID

  • About
  • Terms & Conditions
  • Privacy Policy
BLOG POST

Membangun Arsitektur Web + Database Highly Available di AWS (RDS Multi-AZ)

April 5, 2026 Tutorial by Masdika.ID
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:

  1. Masuk ke menu VPC โ†’ Security Groups
  2. Klik Create security group
  3. Isi konfigurasi:
    • Name: DB Security Group
    • Description: Permit access from Web
    • VPC: Lab VPC
  4. 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:

  1. Masuk ke RDS โ†’ Subnet groups
  2. Klik Create DB Subnet Group
  3. Isi:
    • Name: DB Subnet Group
    • VPC: Lab VPC
  4. 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:

  1. Masuk ke RDS โ†’ Databases โ†’ Create database โ†’ Full Configuration
  2. Pilih:
    • Engine: MySQL
    • Template: Dev/Test
    • Availability: Multi-AZ
  1. Konfigurasi:
    • DB identifier: lab-db
    • Username: main
    • Password: lab-password
  1. Instance:
    • db.m5.large
  1. Connectivity:
    • VPC: Lab VPC
    • Security group: DB Security Group
  1. Additional:
    • Initial DB name: lab
    • Disable backup (opsional untuk lab)
  1. 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

  1. Buka browser:
    http://44.249.181.179
  2. Masuk ke menu RDS
  3. Isi konfigurasi:
    • Endpoint: (dari RDS)
    • Database: lab
    • Username: main
    • Password: lab-password
  4. 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! ๐Ÿš€

Share:
Tags: awsmariadbmysqlrds
Related Posts
Pembuatan Subnet dan Alokasi IP Address pada Amazon Web Service VPC

๐Ÿ“Œ Pendahuluan Infrastruktur jaringan merupakan komponen penting dalam sistem teknologi informasi, terutama dalam lingkungan cloud computing. Salah satu layanan jaringan…

Deploy Website High-Availability di AWS dengan Terraform, Docker (Nginx) & Load Balancer (ALB + HTTPS/ACM)

Lab ini disusun dengan pendekatan praktis step-by-step, sehingga bahkan pemula bisa langsung mengikuti tanpa bingung. Kita mulai dari menyiapkan akun AWS…

Post navigation

Prev
Next
ยฉ 2025 www.masdika.id โ€” Semua hak cipta dilindungi