Sao lưu đầy đủ SQL native trong AWS RDS
Bản sao lưu cơ sở dữ liệu kết quả khi bạn sao lưu trạng thái hoạt động, kiến trúc và dữ liệu được lưu trữ của một cơ sở dữ liệu. Nó cho phép bạn tạo một bản sao hoặc một bản sao chép của cơ sở dữ liệu của bạn trong trường hợp cơ sở dữ liệu chính gặp sự cố, bị hỏng hoặc bị mất.
Bài viết blog này thảo luận về việc sao lưu, khôi phục và giám sát cơ sở dữ liệu SQL native trong Amazon® Web Services (AWS) Relational Database Service (RDS).
Sao lưu đầy đủ SQL native trong AWS RDS
AWS cho phép bạn chỉ thực hiện sao lưu đầy đủ của cơ sở dữ liệu SQL native trong một instance AWS RDS SQL. Bạn có thể sử dụng stored procedure rds_backup_database để tạo bản sao lưu đầy đủ của cơ sở dữ liệu SQL của bạn trong S3 bucket, như ví dụ sau:
Command to Perform backup of database
exec msdb.dbo.rds_backup_database @source_db_name='database_name',
@s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension',
@overwrite_S3_backup_file=1;
Command to Perform KMS Encrypted Backups
exec msdb.dbo.rds_backup_database @source_db_name='database_name',
@s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension',
@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id',
@overwrite_S3_backup_file=1;
Nguồn hình ảnh: https://niftit.com/backup-with-aws-rds/
Khôi phục sao lưu đầy đủ SQL Native trong AWS RDS
Stored procedure rds_restore_database cho phép bạn khôi phục cơ sở dữ liệu SQL từ S3 bucket trên instance AWS RDS của bạn, như minh họa trong ví dụ sau:
Lưu ý: Bạn có thể cần thay đổi các tham số sau trong các ví dụ này:
database_name
bucket_name
file_name_and_extension
region
account-id
key-id
Command to Perform Restore DB from the backup file available in the S3 bucket. exec msdb.dbo.rds_restore_database @restore_db_name='database_name', @s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name_and_extension'; Command to Perform Restore DB from S3 bucket having KMS key exec msdb.dbo.rds_restore_database @restore_db_name='database_name', @s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name_and_extension', @kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id';
Nguồn hình ảnh: https://www.awslab.io/sqlserver/lab2/
Hạn chế và loại trừ của sao lưu và khôi phục AWS RDS
Phần này mô tả các hạn chế và loại trừ của AWS RDS cho việc sao lưu hoặc khôi phục cơ sở dữ liệu.
Loại trừ cho sao lưu SQL native AWS RDS
Các yếu tố SQL native sau không thể được sao lưu hoặc khôi phục trong các instance AWS RDS:
- Differential
- Transaction log
- Filegroup backup
Hạn chế của sao lưu SQL Native AWS RDS
Danh sách sau chứa các hạn chế khi sao lưu cơ sở dữ liệu AWS RDS SQL native của bạn:
Kích thước file sao lưu tối đa được hỗ trợ là 1 TB trong một instance AWS RDS.
Bạn có thể sao lưu cơ sở dữ liệu trong cùng khu vực với instance RDS mà nó thuộc về. Khi người dùng có quyền truy cập vào S3 bucket trong khu vực A, nơi instance RDS nằm, cố gắng sao lưu cơ sở dữ liệu vào S3 bucket trong khu vực B, lỗi sau xảy ra:
Aborted the task because of a task failure or an overlap with your preferred backup window for RDS automated backup. Access Denied. Please specify a bucket that is in the same region as RDS instance.
Các tình huống hạn chế sao lưu và khôi phục cơ sở dữ liệu
Sao lưu được mã hóa KMS
AWS không hỗ trợ khôi phục bản sao lưu được mã hóa Key Management Service (KMS) sang SQL server on-premise hoặc bất kỳ instance EC2 nào khác. Tuy nhiên, nếu bạn cần khôi phục file sao lưu, bạn nên tạo một instance RDS mới trong cùng khu vực với cùng khóa KMS. Sau khi khôi phục bản sao lưu được mã hóa KMS, hãy thực hiện sao lưu không mã hóa để khôi phục nó sang on-premises hoặc bất kỳ instance EC2 nào khác.
Nếu bạn cố gắng khôi phục bản sao lưu được mã hóa KMS, bạn có thể nhận được lỗi sau:
Msg 3241, Level 16, State 0, Line 1
The media family on device 'C:\TempDB_Encrypted.bak' is incorrectly formed. SQL Server cannot process this media family.
Sao lưu bật TDE
AWS hỗ trợ sao lưu bật Transparent Data Encryption (TDE) chỉ trong các phiên bản Enterprise và yêu cầu cả chứng chỉ và khóa chính. Vì bản sao lưu cơ sở dữ liệu không bao gồm khóa, bạn sẽ nhận được lỗi sau khi cố gắng khôi phục nó trên instance AWS RDS:
Cannot find server certificate. RESTORE FILELIST is terminating abnormally.
Khôi phục bản sao lưu trong cùng instance AWS
AWS không cho phép bạn ghi đè cơ sở dữ liệu hiện có hoặc khôi phục instance AWS RDS sang cơ sở dữ liệu hiện có. Bạn phải khôi phục nó sang cơ sở dữ liệu với tên khác. Nếu bạn cố gắng khôi phục sang cơ sở dữ liệu hiện có, bạn sẽ nhận được lỗi sau:
Aborted the task because of a task failure or a concurrent RESTORE_DB request. Task ID x (RESTORE_DB) exception: Database TestDB cannot be restored because there is already an existing database with the same file_guids on the instance.
Giám sát các tác vụ Sao lưu và Khôi phục
AWS sử dụng stored procedure rds_task_status để theo dõi các tác vụ sao lưu và khôi phục, như minh họa trong ví dụ sau:
exec msdb.dbo.rds_task_status @db_name='database_name'
Nguồn hình ảnh: https://www.awslab.io/sqlserver/lab2/
Sau khi bạn nhận được tracking id, bạn có thể giám sát quá trình sao lưu hoặc khôi phục bằng cách sử dụng mã sau:
exec msdb..rds_task_status @task_id=4
Kết luận
AWS RDS cho phép bạn thực hiện sao lưu đầy đủ và khôi phục cơ sở dữ liệu SQL native. Tuy nhiên, có một số hạn chế khi bạn sao lưu trong S3 bucket của khu vực AWS khác nhau và khi bạn khôi phục bản sao lưu được mã hóa và bật TDE. Bạn nên kiểm tra quy trình sao lưu và khôi phục trong môi trường test trước khi di chuyển hoặc khôi phục cơ sở dữ liệu của bạn sang production.
Sử dụng tab Feedback để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi.
Tối ưu hóa môi trường của bạn với quản trị, quản lý và cấu hình chuyên gia
Các chuyên gia Dịch vụ Ứng dụng của Rackspace (RAS) cung cấp các dịch vụ chuyên nghiệp và được quản lý sau đây trên danh mục ứng dụng rộng:
- Nền tảng Thương mại điện tử và Trải nghiệm Kỹ thuật số
- Lập kế hoạch Nguồn lực Doanh nghiệp (ERP)
- Business Intelligence
- Salesforce Quản trị Quan hệ Khách hàng (CRM)
- Cơ sở dữ liệu
- Lưu trữ Email và Năng suất
Chúng tôi mang lại:
- Chuyên môn kiến nghị: Chúng tôi đơn giản hóa và hướng dẫn hành trình hiện đại hóa của bạn, tập trung vào các khả năng mang lại giá trị tức thì.
- Fanatical Experience™: Chúng tôi kết hợp phương pháp Quy trình trước. Công nghệ sau.® với hỗ trợ kỹ thuật chuyên dụng để cung cấp giải pháp toàn diện.
- Danh mục không đối thủ: Chúng tôi áp dụng kinh nghiệm đám mây rộng lớn để giúp bạn chọn và triển khai công nghệ phù hợp trên đám mây phù hợp.
- Giao hàng nhanh chóng: Chúng tôi gặp bạn ở đâu bạn đang ở trong hành trình và điều chỉnh thành công của chúng tôi cho phù hợp với của bạn.
Trò chuyện ngay để bắt đầu.