AWS Documentation · Tiếng Việt

Amazon RDS

Dịch vụ cơ sở dữ liệu quan hệ được quản lý (Managed Relational Database Service) — Tài liệu toàn diện từ kiến trúc đến vận hành

Cập nhật 04/2026
Database · Relational
AWS Core Service
01 · Tổng quan

RDS là gì?

Amazon Relational Database Service (RDS) là dịch vụ cơ sở dữ liệu quan hệ được quản lý hoàn toàn (fully managed) của AWS. RDS giúp bạn thiết lập, vận hành và mở rộng database trên cloud mà không cần lo về việc quản lý phần cứng, cài đặt phần mềm, patching hay backup.

🛠️
Fully Managed
AWS quản lý provisioning, patching, backup, recovery, failure detection và repair tự động.
⚙️
6 Database Engines
Hỗ trợ MySQL, PostgreSQL, MariaDB, Oracle, SQL Server và Amazon Aurora.
🔄
High Availability
Multi-AZ deployment với automatic failover. Read Replicas cho read scaling.
📈
Scalable
Scale vertically (instance class) và horizontally (Read Replicas). Storage auto-scaling.
🔒
Bảo mật đa lớp
Encryption at rest/in transit, VPC isolation, IAM authentication, Security Groups.
💰
Chi phí linh hoạt
On-Demand, Reserved Instances, hoặc Aurora Serverless — trả theo nhu cầu thực tế.

Use Cases phổ biến

  • Web & Mobile Applications: Backend database cho ứng dụng web, mobile với MySQL/PostgreSQL
  • E-commerce: Quản lý sản phẩm, đơn hàng, khách hàng với transaction support
  • SaaS Applications: Multi-tenant database cho các ứng dụng SaaS
  • ERP & CRM: Chạy Oracle hoặc SQL Server cho enterprise applications
  • Analytics: PostgreSQL với extensions cho data warehousing nhỏ
  • Content Management: WordPress, Drupal, Joomla với MySQL/MariaDB backend
  • Gaming: Lưu trữ game state, leaderboards, player profiles
  • Financial Services: Transaction processing với ACID compliance

So sánh RDS vs Self-Managed DB trên EC2

✅ Amazon RDS (Managed)
  • AWS quản lý OS, patching, backup tự động
  • Multi-AZ failover tự động trong ~60 giây
  • Monitoring tích hợp (CloudWatch, Performance Insights)
  • Encryption at rest chỉ cần 1 click
  • Point-in-Time Recovery (PITR) tự động
  • Storage auto-scaling không downtime
  • Read Replicas tạo trong vài phút
  • Automated minor version upgrades
⚠️ Self-Managed trên EC2
  • Bạn phải tự quản lý OS, patching, security
  • Tự cấu hình replication, failover phức tạp
  • Tự thiết lập monitoring, alerting
  • Tự quản lý encryption keys và certificates
  • Tự viết script backup, test restore
  • Tự resize EBS volume, có thể cần downtime
  • Toàn quyền kiểm soát OS và DB config
  • Có thể cài extensions/plugins tùy ý
Tiêu chí Amazon RDS DB trên EC2
Quản lý OS AWS quản lý Bạn quản lý
Patching DB Tự động / Scheduled Thủ công
Backup Automated + PITR Tự thiết lập
High Availability Multi-AZ 1 click Tự cấu hình
Scaling Vài click / API Phức tạp hơn
SSH Access Không có Toàn quyền
Custom Extensions Hạn chế Không giới hạn
Chi phí vận hành Thấp (ít nhân sự) Cao (cần DBA)
💡 Khi nào chọn RDS?
Chọn RDS khi bạn muốn tập trung vào phát triển ứng dụng thay vì quản lý database. RDS phù hợp cho 90% use cases. Chỉ chọn self-managed trên EC2 khi bạn cần toàn quyền kiểm soát OS (ví dụ: cài custom extensions không được RDS hỗ trợ, hoặc dùng database engine mà RDS không support).
02 · Kiến trúc

Kiến trúc RDS

Amazon RDS được xây dựng trên kiến trúc nhiều lớp, bao gồm DB Instance, DB Subnet Group, Parameter GroupOption Group. Hiểu rõ các thành phần này giúp bạn thiết kế và vận hành database hiệu quả.

Các thành phần cốt lõi

DB Instance

  • Đơn vị cơ bản của RDS — một môi trường database cô lập chạy trên cloud
  • Mỗi DB instance chạy một database engine duy nhất (MySQL, PostgreSQL, v.v.)
  • Instance class xác định CPU, RAM, network — ví dụ: db.r6g.2xlarge (8 vCPU, 64 GB RAM)
  • Có thể chứa nhiều databases do user tạo (trừ Oracle Single-Tenant và SQL Server)
  • Mỗi instance có một endpoint (DNS name) duy nhất để kết nối
  • Tối đa 40 DB instances mỗi account mỗi region (có thể request tăng)

DB Instance Classes

Loại Prefix Đặc điểm Use Case
Standard db.m6g, db.m7g Cân bằng CPU/RAM/Network Workload đa dụng, web apps
Memory Optimized db.r6g, db.r7g, db.x2g RAM cao, phù hợp query nặng Database lớn, analytics, caching
Burstable db.t3, db.t4g Baseline CPU + burst credits Dev/test, workload nhỏ, không đều

DB Subnet Group

  • Tập hợp các subnets (thường là private subnets) trong VPC mà RDS có thể sử dụng
  • Phải chứa subnets ở ít nhất 2 Availability Zones khác nhau
  • RDS sẽ chọn subnet trong AZ phù hợp khi tạo instance hoặc failover
  • Khuyến nghị: tạo subnet group với subnets ở tất cả AZs trong region

Parameter Group

  • Container chứa các cấu hình engine (tương đương file my.cnf cho MySQL hoặc postgresql.conf)
  • default parameter group (không thể sửa) và custom parameter group (có thể sửa)
  • Chia thành 2 loại: DB Parameter Group (cấu hình instance) và DB Cluster Parameter Group (cấu hình cluster — Aurora)
  • Một số parameter thay đổi cần reboot instance (static), một số áp dụng ngay (dynamic)
  • Ví dụ parameters: max_connections, innodb_buffer_pool_size, shared_buffers

Option Group

  • Chứa các tính năng bổ sung (optional features) cho database engine
  • Chủ yếu dùng cho Oracle (Oracle Enterprise Manager, TDE, APEX) và SQL Server (TDE, Audit)
  • MySQL/PostgreSQL/MariaDB có ít options hơn
  • Mỗi DB instance được gán một option group
Kiến trúc Amazon RDS ☁️ VPC (Virtual Private Cloud) 🖥️ App (EC2/Lambda) AZ-a (Primary) Private Subnet (10.0.1.0/24) 🗄️ Primary DB Instance 📋 Parameter Group max_connections=500 innodb_buffer_pool 🔧 Option Group TDE, Audit APEX (Oracle) AZ-b (Standby) Private Subnet (10.0.2.0/24) 🗄️ Standby DB Instance Sync 🌐 DB Subnet Group Subnet AZ-a (10.0.1.0/24) + Subnet AZ-b (10.0.2.0/24) + Subnet AZ-c (10.0.3.0/24) 🛡️ Security Group Inbound: TCP 3306 from App SG 💾 EBS Storage (gp3/io1) Data volume + Transaction logs Auto-scaling: 20 GB → 64 TB Encrypted with KMS (AES-256) Automated Backups → S3

Endpoint & Kết nối

RDS Endpoint Format
# Endpoint format
db-instance-identifier.random-string.region.rds.amazonaws.com:port

# Ví dụ MySQL endpoint
mydb-prod.c9abcdef12gh.ap-southeast-1.rds.amazonaws.com:3306

# Ví dụ PostgreSQL endpoint
mydb-analytics.c9abcdef12gh.us-east-1.rds.amazonaws.com:5432

# Kết nối bằng mysql client
mysql -h mydb-prod.c9abcdef12gh.ap-southeast-1.rds.amazonaws.com \
      -P 3306 -u admin -p

# Kết nối bằng psql
psql -h mydb-analytics.c9abcdef12gh.us-east-1.rds.amazonaws.com \
     -p 5432 -U admin -d mydb
⚠️ Không dùng IP, luôn dùng Endpoint DNS
IP của RDS instance có thể thay đổi khi failover hoặc maintenance. Luôn sử dụng endpoint DNS được cung cấp bởi RDS. DNS sẽ tự động trỏ đến instance đúng sau failover.
03 · Database Engines

Supported Engines

Amazon RDS hỗ trợ 6 database engines phổ biến nhất. Mỗi engine có đặc điểm riêng, phù hợp với từng use case khác nhau. Việc chọn đúng engine là quyết định quan trọng nhất khi thiết kế hệ thống.

🐬
MySQL
Engine phổ biến nhất thế giới. Open-source, cộng đồng lớn. Phiên bản 5.7, 8.0, 8.4.
🐘
PostgreSQL
Database open-source mạnh nhất. Hỗ trợ JSON, GIS, full-text search. Phiên bản 13–17.
🦭
MariaDB
Fork từ MySQL, tương thích cao. Thêm nhiều tính năng: Aria, ColumnStore. Phiên bản 10.5–10.11.
🔴
Oracle
Enterprise database hàng đầu. License Included hoặc BYOL. Standard/Enterprise Edition.
🟦
SQL Server
Microsoft database. Express, Web, Standard, Enterprise editions. Windows & Linux.
🌟
Amazon Aurora
AWS-built, tương thích MySQL/PostgreSQL. Hiệu năng gấp 5x MySQL, 3x PostgreSQL.

Bảng so sánh chi tiết các Engine

Tiêu chí MySQL PostgreSQL MariaDB Oracle SQL Server Aurora
License GPL (Free) PostgreSQL (Free) GPL (Free) LI / BYOL LI AWS Proprietary
Max Storage 64 TB 64 TB 64 TB 64 TB 16 TB 128 TB (auto)
Read Replicas Tối đa 15 Tối đa 15 Tối đa 15 Tối đa 5 (Oracle EE) Tối đa 5 Tối đa 15
Multi-AZ Có (mirroring) Mặc định
IAM Auth Không Không
Serverless Không Không Không Không Không Serverless v2
Global Database Không Không Không Không Không
Default Port 3306 5432 3306 1521 1433 3306 / 5432
Use Case chính Web apps, CMS Analytics, GIS, complex queries Thay thế MySQL Enterprise, ERP .NET apps, BI High-perf, scale

Chọn Engine nào?

✅ Hướng dẫn chọn Engine
  • Mới bắt đầu / Web app: MySQL hoặc PostgreSQL — miễn phí license, cộng đồng lớn
  • Cần hiệu năng cao + auto-scaling: Aurora (MySQL hoặc PostgreSQL compatible)
  • Ứng dụng .NET / Microsoft stack: SQL Server
  • Enterprise legacy / ERP (SAP, PeopleSoft): Oracle
  • Cần JSON, GIS, full-text search nâng cao: PostgreSQL
  • Workload không đều, muốn tiết kiệm: Aurora Serverless v2
  • Migrate từ MySQL, muốn thêm tính năng: MariaDB

Version Policy

AWS quản lý vòng đời phiên bản database engine theo chính sách rõ ràng:

  • Major version: Upgrade thủ công (ví dụ: MySQL 5.7 → 8.0). Cần test kỹ trước khi upgrade.
  • Minor version: Có thể bật auto_minor_version_upgrade để AWS tự động upgrade trong maintenance window.
  • End of Life: AWS thông báo trước 12 tháng khi một major version sắp hết hỗ trợ. Sau deadline, AWS sẽ tự động upgrade.
  • Extended Support: Từ 2024, RDS cung cấp Extended Support cho các phiên bản cũ với phí bổ sung.
⚠️ Extended Support có phí
Khi database engine version hết standard support, RDS sẽ tự động chuyển sang Extended Support với phí bổ sung (bắt đầu từ $0.10/vCPU/giờ, tăng dần theo thời gian). Hãy lên kế hoạch upgrade trước deadline để tránh chi phí phát sinh.