RDS & Aurora - Backup, Restore , Security
Backups
RDS Backups
- Backup tự động (Automated Backups)
- Backup toàn bộ CSDL hàng ngày (diễn ra trong khoảng thời gian backup window)
- Transaction logs được backup mỗi 5 phút
👉 Điều này cho phép khả năng phục hồi dữ liệu tại bất kỳ thời điểm nào (point-in-time recovery), từ thời điểm backup lâu nhất cho đến 5 phút trước hiện tại - Thời gian lưu trữ backup (retention) có thể cấu hình từ 1 đến 35 ngày, set 0 để vô hiệu hoá backup tự động
- Có thể vô hiệu hoá tính năng này
- Snapshot thủ công (Manual DB Snapshots)
- Do người dùng chủ động tạo (manually triggered)
- Backup giữ lại vĩnh viễn hoặc tùy ý, không bị giới hạn retention như automated backup
- Mẹo (Trick)
- Nếu bạn stop một RDS instance, bạn vẫn bị tính phí lưu trữ (storage).
👉 Nếu bạn có ý định dừng nó trong thời gian dài, nên:- Tạo snapshot trước
- Xoá DB instance
- Sau này restore lại từ snapshot để tiết kiệm chi phí
- Nếu bạn stop một RDS instance, bạn vẫn bị tính phí lưu trữ (storage).
Aurora Backups
- Backup tự động (Automated Backups)
- Giữ bản backup trong khoảng 1 đến 35 ngày (bắt buộc, không thể tắt)
- Hỗ trợ phục hồi dữ liệu tại một thời điểm bất kỳ (Point-in-Time Recovery - PITR) trong khoảng thời gian retention đó
- Không thể vô hiệu hoá tính năng này
- Snapshot thủ công (Manual DB Snapshots)
- Do người dùng chủ động tạo (manually triggered)
- Backup này có thể giữ lại vô thời hạn, không bị giới hạn thời gian retention như backup tự động
Restore
- Việc restore một backup hoặc snapshot của RDS/Aurora sẽ tạo ra một CSDL mới.
- Restore MySQL RDS từ S3
- Tạo một bản backup từ CSDL on-premises của bạn
- Lưu nó vào Amazon S3 (dịch vụ lưu trữ đối tượng)
- Khôi phục file backup đó lên một instance RDS mới chạy MySQL
- Restore MySQL Aurora cluster từ S3
- Tạo bản backup từ CSDL on-premises bằng công cụ Percona XtraBackup
- Lưu file backup vào Amazon S3
- Khôi phục file backup đó lên một cụm Aurora mới chạy MySQL
Security
- Mã hóa khi lưu trữ (At-rest encryption):
- Encrypt cho master DB và các bản sao read replicas sử dụng AWS KMS – phải được khai báo ngay tại thời điểm khởi tạo instance
- Nếu master DB không được encrypt, các read replica cũng không thể được encrypt
- Để encrypt một database hiện chưa encrypt, cần thực hiện snapshot và restore lại dưới dạng đã encrypt
- Encrypt khi truyền tải (In-flight encryption):
- TLS được kích hoạt mặc định, cần sử dụng AWS TLS Root Certificate ở phía client
- Xác thực bằng IAM (IAM Authentication):
- Sử dụng IAM roles để kết nối với CSDL, thay vì username/password truyền thống
- Security Groups:
- Dùng để kiểm soát truy cập mạng đến RDS / Aurora DB
- Không hỗ trợ SSH, trừ khi dùng RDS Custom
- Audit Logs:
- Có thể bật tính năng ghi log kiểm tra và gửi về CloudWatch Logs để lưu trữ lâu dài
Bạn thấy bài này thế nào?