RDS & Aurora - Backup, Restore , Security

2 phút đọcSeries: NoteBook: AWS Certified Solutions Architect Associate SAA-C031 lượt xem

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í

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?