Point in Time Restore

Khôi phục cơ sở dữ liệu của bạn tại một thời điểm

Đôi khi, bạn sẽ muốn khôi phục cơ sở dữ liệu về một điểm cụ thể trong quá khứ, ngay trước khi chạy tập lệnh chuyển đổi dữ liệu gặp lỗi hoặc làm mới môi trường của bạn về trạng thái trước khi chạy tập lệnh nâng cấp. Đây được gọi là một Point In Time Recovery hay PITR.

Amazon RDS for PostgreSQL cho phép khôi phục về bất kỳ thời điểm nào trong thời gian lưu giữ bản sao lưu của bạn. Điều này có thể thực hiện được thông qua việc sử dụng các bản sao lưu tự động kết hợp với nhật ký giao dịch, được tải lên S3 cứ sau 5 phút.

Ở phần thực hành, chúng ta sẽ sử AWS CLI để thực hiện các thử nghiệm

Amazon RDS theo dõi thời gian khôi phục mới nhất cho cơ sở dữ liệu của bạn. Chúng ta sẽ kiểm tra thông tin này bằng AWS-CLI. Để chạy các lệnh này, chúng tôi sẽ sử dụng môi trường Cloud9 mà bạn thiết lập trong phần điều kiện tiên quyết. Nếu bạn chưa làm điều này, hãy quay lại đây và hoàn thành bước này.

  1. Sử dụng EC2 instance, kiểm tra thời gian khôi phục mới nhất cho cơ sở dữ liệu của bạn.

    aws rds describe-db-instances \
    --db-instance-identifier rdspg-fcj-labs \
    --region $AWSREGION \
    --query 'DBInstances[0].LatestRestorableTime' \
    --output text
    
  2. Output mẫu bên dưới hiển thị thời gian khôi phục mới nhất là ngày 6 tháng 10 năm 2023 lúc 14:04 UTC

    2023-10-6T12:04:19Z
    

    pitr

  3. Bằng cách sử dụng AWS-CLI, chúng ta có thể sử dụng lệnh sau để khôi phục cơ sở dữ liệu về thời điểm có thể khôi phục mới nhất mà chúng ta đã tra cứu ở bước trước. Hãy chắc chắn để cập nhật thời gian.

    aws rds restore-db-instance-to-point-in-time \
    --source-db-instance-identifier rdspg-fcj-labs \
    --target-db-instance-identifier rdspg-fcj-labs-restore-latest \
    --restore-time 2023-10-6T12:04:19Z
    
  4. Bạn sẽ thấy output tương tự như:

    Output

  5. Bây giờ, hãy quay lại RDS Console để kiểm tra cơ sở dữ liệu đang khôi phục. Nếu bạn xem chi tiết, hãy lưu ý rằng tất cả các thông số cơ sở dữ liệu (ví dụ: DB Instance Class, Security Group) đều khớp với cơ sở dữ liệu gốc. pitr

  6. Bây giờ, chúng ta sẽ sử dụng RDS Console để khôi phục cơ sở dữ liệu của chúng ta về 30 phút trước đó. Chọn cơ sở dữ liệu rdspg-fcj-labs, chọn Actions và chọn Restore to point in time. pitr

  7. Trên trang Launch DB Instance, chọn một tùy chỉnh và chọn thời gian trước 30 phút. Nhập một DB instance identifier mới (ví dụ: rdspg-fcj-labs-earlier-restore), để thông tin còn lại ở giá trị mặc định và nhấp vào Restore to point in time. pitr pitr

  8. Khi quá trình khôi phục bắt đầu, bạn sẽ được đưa trở lại danh sách cơ sở dữ liệu và sẽ thấy phiên bản mới của mình được tạo. pitr