Các mô hình triển khai Amazon RDS
Amazon RDS cung cấp nhiều mô hình triển khai khác nhau để phù hợp với nhu cầu và yêu cầu của ứng dụng. Các mô hình này bao gồm Single-AZ, Multi-AZ, Read Replica, và kết hợp giữa Multi-AZ với Read Replica. Mỗi mô hình có những tính năng, lợi ích và trường hợp sử dụng riêng.
Single-AZ Deployment
Trong mô hình này, Amazon RDS triển khai cơ sở dữ liệu trên 1 Instance nằm trong một Availability Zone (AZ) duy nhất. Đây là mô hình đơn giản và tiết kiệm chi phí, phù hợp với các ứng dụng không yêu cầu tính sẵn sàng cao hoặc có thể chấp nhận downtime trong trường hợp xảy ra sự cố.
Có thể chuyển đổi từ Single-AZ sang Multi-AZ với Zero downtime bằng cách sử dụng tính năng DB Instance Modify.
Multi-AZ Deployment (Disaster Recovery)
Amazon RDS tạo một bản sao đồng bộ (Standby) trong một AZ khác. Khi xảy ra lỗi (như mất kết nối, hỏng phần cứng), hệ thống tự động chuyển sang Standby.
- Tính năng: Dùng để tự động sao lưu đồng bộ dữ liệu từ Master DB
- Trường hợp sử dụng: Ứng dụng yêu cầu tính sẵn sàng cao, như ứng dụng tài chính, thương mại điện tử, và các hệ thống quan trọng khác.
- Với mô hình này dữ liệu chỉ có thể ghi vào Instance chính (Master DB)
- Standby DB không dùng để đọc dữ liệu - chỉ phục vụ HA.
- Khi có sự cố Standby DB tự động được promote lên thành Master DB mà Endpoint URL không bị thay đổi
- Cost lúc này sẽ x2 so với Single Instance
Multi-AZ Cluster Deployment
Multi-AZ DB Cluster là một kiến trúc triển khai mới của Amazon RDS (áp dụng cho các engine như RDS for MySQL, PostgreSQL và đặc biệt gần với kiến trúc Aurora), cho phép triển khai nhiều instance RDS ở nhiều Availability Zones (AZ) trong một cluster duy nhất, nhằm nâng cao tính sẵn sàng (High Availability), hiệu suất đọc, và khả năng failover nhanh.
1 Cluster DB Multi-AZ có 1 writer DB instance và 2 reader DB instances trên 3 AZ riêng biệt trong cùng một Region.
Read Replica Deployment (Horizontal Scaling)
Mô hình Read Replica cho phép bạn tạo các bản sao chỉ đọc của cơ sở dữ liệu chính để phân phối tải và cải thiện hiệu suất đọc. Các Read Replica có thể được triển khai trong cùng một AZ hoặc các AZ khác nhau. Đặc điểm:
- Dùng để phân tải đọc (read-heavy workloads)
- Có thể Cross-AZ hoặc Cross-Region
- Có thể tạo tối đa 15 Read Replica cho mỗi DB Instance
- Với mỗi Read Replica, Endpoint sẽ khác nhau -> bạn cần quản lý các endpoint này trong ứng dụng.
- Không tự động failover như Multi-AZ
- Replicas có thể promote thành DB độc lập
Multi-AZ kết hợp Read Replica
Kết hợp mô hình Multi-AZ với Read Replica cho phép bạn có được cả tính sẵn sàng cao và hiệu suất đọc tốt. Trong mô hình này, bạn có thể có một phiên bản chính trong một AZ và các Read Replica trong các AZ khác.
Với cách kết hợp này sẽ tăng tính sẵn sàng, khả năng chịu lỗi và hiệu suất đọc của ứng dụng. Tuy nhiên chi phí sẽ cao hơn do phải duy trì nhiều bản sao và các instance trong các AZ khác nhau.