Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

สำรอง กู้คืน และตรวจสอบฐานข้อมูล SQL Native บน AWS อย่างปลอดภัย

บทนำ

การสำรองข้อมูลฐานข้อมูลเกิดขึ้นเมื่อคุณสำรองสถานะการทำงาน สถาปัตยกรรม และข้อมูลที่จัดเก็บของฐานข้อมูล มันช่วยให้คุณสร้างอินสแตนซ์ซ้ำหรือสำเนาของฐานข้อมูลของคุณในกรณีที่ฐานข้อมูลหลักล้มเหลว เสียหาย หรือสูญหาย

บทความนี้อภิปรายการสำรองข้อมูล กู้คืน และตรวจสอบฐานข้อมูล SQL Native ใน Amazon Web Services (AWS) Relational Database Service (RDS)

การสำรองข้อมูลเต็มรูปแบบ SQL Native บน AWS RDS

AWS อนุญาตให้คุณสำรองข้อมูลเต็มรูปแบบของฐานข้อมูล SQL Native ในอินสแตนซ์ AWS RDS SQL เท่านั้น คุณสามารถใช้ stored procedure rds_backup_database เพื่อสร้างการสำรองข้อมูลเต็มรูปแบบของฐานข้อมูล SQL ของคุณใน S3 bucket ตามตัวอย่างต่อไปนี้:

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;
สำรอง กู้คืน และตรวจสอบฐานข้อมูล SQL Native บน AWS อย่างปลอดภัย

แหล่งที่มาของภาพ: https://niftit.com/backup-with-aws-rds/

การกู้คืนการสำรองข้อมูลเต็มรูปแบบ SQL Native บน AWS RDS

Stored procedure rds_restore_database ช่วยให้คุณกู้คืนฐานข้อมูล SQL จาก S3 bucket บนอินสแตนซ์ AWS RDS ของคุณ ตามตัวอย่างต่อไปนี้:

หมายเหตุ: คุณอาจต้องเปลี่ยนพารามิเตอร์ต่อไปนี้ในตัวอย่างเหล่านี้:

  • 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';
สำรอง กู้คืน และตรวจสอบฐานข้อมูล SQL Native บน AWS อย่างปลอดภัย

แหล่งที่มาของภาพ: https://www.awslab.io/sqlserver/lab2/

ข้อจำกัดและข้อยกเว้นของการสำรองข้อมูลและกู้คืน AWS RDS

ส่วนนี้อธิบายข้อจำกัดและข้อยกเว้นของ AWS RDS สำหรับการสำรองข้อมูลหรือกู้คืนฐานข้อมูล

ข้อยกเว้นสำหรับการสำรองข้อมูล SQL Native ของ AWS RDS

องค์ประกอบ SQL Native ต่อไปนี้ไม่สามารถสำรองข้อมูลหรือกู้คืนในอินสแตนซ์ AWS RDS ได้:

  • Differential
  • Transaction log
  • Filegroup backup

ข้อจำกัดของการสำรองข้อมูล SQL Native ของ AWS RDS

รายการต่อไปนี้มีข้อจำกัดของการสำรองข้อมูลฐานข้อมูล SQL Native ของ AWS RDS ของคุณ:

  • ขนาดไฟล์สำรองข้อมูลสูงสุดที่รองรับคือ 1 TB ในอินสแตนซ์ AWS RDS

  • คุณสามารถสำรองข้อมูลฐานข้อมูลในภูมิภาคเดียวกับอินสแตนซ์ RDS ที่มันเป็นของ เมื่อผู้ใช้ที่มีการเข้าถึง S3 bucket ในภูมิภาค A ซึ่งอินสแตนซ์ RDS อยู่ พยายามสำรองข้อมูลฐานข้อมูลไปยัง S3 bucket ในภูมิภาค B ข้อผิดพลาดต่อไปนี้จะเกิดขึ้น:

    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.

สถานการณ์ข้อจำกัดการสำรองข้อมูลและกู้คืนฐานข้อมูล

การสำรองข้อมูลที่เข้ารหัส KMS

AWS ไม่รองรับการกู้คืนการสำรองข้อมูลที่เข้ารหัส Key Management Service (KMS) ไปยัง SQL server ในพื้นที่หรืออินสแตนซ์ EC2 อื่นๆ อย่างไรก็ตาม หากคุณต้องการกู้คืนไฟล์สำรองข้อมูล คุณควรสร้างอินสแตนซ์ RDS ใหม่ในภูมิภาคเดียวกันด้วย KMS key เดียวกัน หลังจากคุณกู้คืนการสำรองข้อมูลที่เข้ารหัส KMS ให้สำรองข้อมูลโดยไม่มีการเข้ารหัสเพื่อกู้คืนไปยังพื้นที่หรืออินสแตนซ์ EC2 อื่นๆ

หากคุณพยายามกู้คืนการสำรองข้อมูลที่เข้ารหัส KMS คุณอาจได้รับข้อผิดพลาดต่อไปนี้:

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.

การสำรองข้อมูลที่เปิดใช้งาน TDE

AWS รองรับการสำรองข้อมูลที่เปิดใช้งาน Transparent Data Encryption (TDE) ในรุ่น Enterprise เท่านั้น และต้องการทั้ง certificate และ master key เนื่องจากการสำรองข้อมูลฐานข้อมูลไม่รวม key คุณจะได้รับข้อผิดพลาดต่อไปนี้เมื่อคุณพยายามกู้คืนบนอินสแตนซ์ AWS RDS:

Cannot find server certificate. RESTORE FILELIST is terminating abnormally.

กู้คืนการสำรองข้อมูลในอินสแตนซ์ AWS เดียวกัน

AWS ไม่อนุญาตให้คุณเขียนทับฐานข้อมูลที่มีอยู่หรือกู้คืนอินสแตนซ์ AWS RDS ไปยังฐานข้อมูลที่มีอยู่ คุณต้องกู้คืนไปยังฐานข้อมูลที่มีชื่ออื่น หากคุณพยายามกู้คืนไปยังฐานข้อมูลที่มีอยู่ คุณจะได้รับข้อผิดพลาดต่อไปนี้:

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.

การตรวจสอบงานสำรองข้อมูลและกู้คืน

AWS ใช้ stored procedure rds_task_status เพื่อติดตามงานสำรองข้อมูลและกู้คืน ตามตัวอย่างต่อไปนี้:

exec msdb.dbo.rds_task_status @db_name='database_name'
สำรอง กู้คืน และตรวจสอบฐานข้อมูล SQL Native บน AWS อย่างปลอดภัย

แหล่งที่มาของภาพ: https://www.awslab.io/sqlserver/lab2/

หลังจากได้ tracking id แล้ว คุณสามารถติดตามกระบวนการสำรองข้อมูลหรือกู้คืนได้โดยใช้โค้ดต่อไปนี้:

exec msdb..rds_task_status @task_id=4

สรุป

AWS RDS ช่วยให้คุณดำเนินการสำรองข้อมูลเต็มรูปแบบและกู้คืนฐานข้อมูล SQL Native ได้ อย่างไรก็ตาม มีข้อจำกัดบางประการเมื่อคุณสำรองข้อมูลใน S3 bucket ของภูมิภาค AWS ที่ต่างกัน และเมื่อคุณกู้คืนการสำรองข้อมูลที่เข้ารหัสและเปิดใช้งาน TDE คุณควรทดสอบกระบวนการสำรองข้อมูลและกู้คืนในสภาพแวดล้อมทดสอบก่อนย้ายหรือกู้คืนฐานข้อมูลของคุณไปยัง production

ใช้แท็บ Feedback เพื่อแสดงความคิดเห็นหรือถามคำถาม

เพิ่มประสิทธิภาพสภาพแวดล้อมของคุณด้วยการจัดการ การกำหนดค่า และการบริหารจัดการโดยผู้เชี่ยวชาญ

ผู้เชี่ยวชาญด้านบริการแอปพลิเคชันของ Rackspace (RAS) ให้บริการมืออาชีพและบริการที่จัดการทั่วพอร์ตโฟลิโอแอปพลิเคชันที่กว้างขวาง:

  • แพลตฟอร์มอีคอมเมิร์ซและประสบการณ์ดิจิทัล
  • การวางแผนทรัพยากรองค์กร (ERP)
  • Business Intelligence
  • Salesforce Customer Relationship Management (CRM)
  • ฐานข้อมูล
  • โฮสติ้งอีเมลและประสิทธิภาพการทำงาน

เราให้บริการ:

  • ความเชี่ยวชาญที่ไร้ความลำเอียง: เราลดความซับซ้อนและนำทางการเดินทางการทำให้ทันสมัยของคุณ โดยเน้นความสามารถที่ส่งมอบคุณค่าทันที
  • Fanatical Experience™: เรารวมแนวทาง Process first. Technology second.® กับการสนับสนุนทางเทคนิคที่专心เพื่อให้โซลูชันที่ครอบคลุม
  • พอร์ตโฟลิโอที่ไม่มี對手: เราใช้ประสบการณ์คลาวด์ที่กว้างขวางเพื่อช่วยคุณเลือกและปรับใช้เทคโนโลยีที่เหมาะสมบนคลาวด์ที่เหมาะสม
  • การส่งมอบที่คล่องตัว: เราพบคุณที่จุดที่คุณอยู่ในการเดินทางของคุณและปรับความสำเร็จของเราให้สอดคล้องกับของคุณ

แชทตอนนี้เพื่อเริ่มต้น