Backup-Restore, Security và Monitoring trong RDS & Aurora
Amazon RDS và Aurora đều cung cấp các cơ chế backup dữ liệu tự động và giám sát hiệu năng mạnh mẽ. Đây là hai yếu tố quan trọng để đảm bảo độ tin cậy, an toàn và hiệu suất cao cho hệ thống cơ sở dữ liệu của bạn.
Backup trong RDS và Aurora
Backup tự động
- RDS và Aurora đều hỗ trợ backup tự động hàng ngày.
- Backup được lưu trữ trong Amazon S3.
- Giữ backup tối đa 35 ngày.
Backup thủ công
- Bạn có thể tạo manual snapshot bất cứ lúc nào.
- Snapshot này sẽ được lưu trữ vĩnh viễn cho đến khi bạn xóa nó.
- Snapshot có thể được sử dụng để khôi phục lại cơ sở dữ liệu tại thời điểm snapshot được tạo.
Point-in-time recovery
- RDS và Aurora hỗ trợ point-in-time recovery.
- Bạn có thể khôi phục cơ sở dữ liệu về một thời điểm cụ thể trong khoảng thời gian backup tự động.
- Điều này rất hữu ích trong trường hợp bạn cần khôi phục lại dữ liệu do lỗi người dùng hoặc sự cố hệ thống.
Tổng kết
| Tính năng | Amazon RDS | Amazon Aurora |
|---|---|---|
| Sao lưu tự động | ✅ Có | ✅ Có |
| Manual snapshot | ✅ Có | ✅ Có |
| Point-in-time recovery | ✅ Có | ✅ Có |
| Backtrack | ❌ Không hỗ trợ | ✅ Aurora MySQL |
| Retention | 1-35 ngày (Set = 0 để disable automated backups) | 1-35 ngày (không thể disable) |
| Restore snapshot | Tạo DB instance mới | Tạo Aurora cluster mới |
⚠️
Tips tiết kiệm chi phí khi bạn muốn Stop-Start DB:
- Khi stop DB, thì AWS vẫn charge storage cost.
- Nên nếu có plan stop trong khoảng thời gian dài, bạn có thể tạo snapshot và xóa DB instance.
- Khi cần, bạn có thể restore snapshot để tạo lại DB instance mới.
Monitoring trong RDS và Aurora
| Dịch vụ | Mô tả |
|---|---|
| Amazon CloudWatch | Thu thập và cảnh báo theo metric như CPU, memory, IOPS, connections… |
| Enhanced Monitoring | Thu thập metric cấp độ hệ điều hành (process, RAM, swap, v.v.) mỗi 1s |
| Performance Insights | Phân tích truy vấn SQL, tìm bottleneck về hiệu suất |
Clone Aurora Database
- Aurora Clone cho phép bạn tạo một bản sao của Aurora DB Cluster mà không cần tạo snapshot và restore.
- Tốc độ tạo clone rất nhanh, chỉ mất vài phút.
- Clone sử dụng chung storage với DB gốc, nên tiết kiệm chi phí. -> Phù hợp với bài toán như tạo DB Staging từ DB Production.
Bảo mật trong RDS và Aurora
Mã hóa dữ liệu
- RDS và Aurora hỗ trợ mã hóa dữ liệu khi lưu trữ (at-rest)
- Sử dụng AWS KMS để quản lý khóa mã hóa.
- Mã hóa có thể được bật khi tạo DB instance hoặc cluster, không thể thay đổi sau khi đã tạo.
Mã hóa kết nối
- Hỗ trợ mã hóa kết nối giữa ứng dụng và cơ sở dữ liệu thông qua SSL
- Bạn có thể tải xuống CA certificate từ AWS để cấu hình SSL trong ứng dụng
IAM Authentication
- RDS và Aurora hỗ trợ xác thực người dùng thông qua AWS IAM.
- Điều này cho phép bạn quản lý quyền truy cập cơ sở dữ liệu thông qua IAM policies
- Giúp tăng cường bảo mật và dễ dàng quản lý quyền truy cập.
Security Groups
- Sử dụng Security Groups để kiểm soát lưu lượng truy cập đến DB instance
- Bạn có thể cấu hình inbound và outbound rules để chỉ cho phép truy cập từ các IP hoặc VPC cụ thể
- Security Groups có thể được cập nhật mà không cần khởi động lại DB instance