Menyiapkan pencadangan dan pemulihan native - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyiapkan pencadangan dan pemulihan native

Untuk mengatur pencadangan dan pemulihan native, Anda memerlukan tiga komponen:

  1. Bucket Amazon S3 untuk menyimpan file cadangan Anda.

    Anda harus memiliki bucket S3 yang akan digunakan untuk file backup kemudian mengunggah backup yang ingin Anda migrasikan ke RDS. Jika sudah memiliki bucket Amazon S3, Anda dapat menggunakannya. Jika tidak, Anda dapat membuat bucket. Atau, Anda dapat memilih untuk dibuatkan bucket baru untuk Anda saat menambahkan opsi SQLSERVER_BACKUP_RESTORE dengan menggunakan AWS Management Console.

    Untuk informasi tentang penggunaan S3, lihat Panduan Pengguna Amazon Simple Storage Service

  2. Peran AWS Identity and Access Management (IAM) untuk mengakses bucket.

    Jika sudah memiliki peran IAM, Anda dapat menggunakannya. Anda dapat memilih untuk dibuatkan peran IAM baru ketika menambahkan opsi SQLSERVER_BACKUP_RESTORE dengan menggunakan AWS Management Console. Atau, Anda dapat membuatnya secara manual.

    Jika Anda ingin membuat peran IAM baru secara manual, gunakan pendekatan yang dibahas di bagian berikutnya. Lakukan hal yang sama jika Anda ingin melampirkan hubungan kepercayaan dan kebijakan perizinan pada peran IAM yang sudah ada.

  3. Opsi SQLSERVER_BACKUP_RESTORE ditambahkan ke grup opsi di instans DB Anda.

    Untuk mengaktifkan pencadangan dan pemulihan native pada instans DB Anda, tambahkan opsi SQLSERVER_BACKUP_RESTORE untuk kelompok opsi pada instans DB Anda. Untuk informasi dan petunjuk selengkapnya, silakan lihat Dukungan untuk pencadangan dan pemulihan native di SQL Server.

Membuat peran IAM secara manual untuk pencadangan dan pemulihan native

Jika Anda ingin membuat peran IAM baru secara manual untuk digunakan dengan pencadangan dan pemulihan native, Anda dapat melakukannya. Dalam hal ini, Anda membuat peran untuk mendelegasikan izin dari layanan Amazon RDS ke bucket Amazon S3. Saat Anda membuat peran IAM, Anda melampirkan hubungan kepercayaan dan kebijakan perizinan. Hubungan kepercayaan memungkinkan RDS mengambil peran ini. Kebijakan izin menentukan tindakan yang dapat dilakukan peran ini. Untuk informasi selengkapnya tentang pembuatan peran, lihat Membuat peran untuk mendelegasikan izin ke layanan AWS.

Untuk fitur pencadangan dan pemulihan native, gunakan hubungan kepercayaan dan kebijakan perizinan yang serupa dengan contoh dalam bagian ini. Dalam contoh berikut, kami menggunakan nama pengguna utama layanan rds.amazonaws.com sebagai alias untuk semua akun layanan. Dalam contoh lain, kami menentukan Amazon Resource Name (ARN) untuk mengidentifikasi akun, pengguna, atau peran lain yang kami berikan akses ke dalam kebijakan kepercayaan.

Sebaiknya gunakan kunci konteks kondisi global aws:SourceArn dan aws:SourceAccount dalam hubungan kepercayaan berbasis sumber daya untuk membatasi izin layanan ke sumber daya tertentu. Ini adalah cara yang paling efektif untuk melindungi dari masalah confused deputy.

Anda dapat menggunakan kedua kunci konteks kondisi global tersebut dan nilai aws:SourceArn berisi ID akun. Dalam hal ini, nilai aws:SourceAccount dan akun dalam nilai aws:SourceArn harus menggunakan ID akun yang sama saat digunakan dalam pernyataan yang sama.

  • Gunakan aws:SourceArn jika Anda menginginkan akses lintas layanan untuk satu sumber daya.

  • Gunakan aws:SourceAccount jika Anda ingin mengizinkan pengaitan sumber daya apa pun di akun tersebut dengan penggunaan lintas layanan.

Dalam hubungan kepercayaan, pastikan untuk menggunakan kunci konteks kondisi global aws:SourceArn dengan ARN penuh dari sumber daya yang mengakses peran. Untuk pencadangan dan pemulihan native, pastikan untuk menyertakan grup opsi DB dan instans DB, seperti yang ditunjukkan dalam contoh berikut.

contoh hubungan kepercayaan dengan kunci konteks kondisi global untuk pencadangan dan pemulihan asli
JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceArn": [ "arn:aws:rds:Region:0123456789:db:db_instance_identifier", "arn:aws:rds:Region:0123456789:og:option_group_name", "arn:aws:s3:::amzn-s3-demo-bucket" ], "aws:SourceAccount": "0123456789" } } } ] }

Contoh berikut menggunakan ARN untuk menentukan sumber daya. Untuk informasi selengkapnya tentang penggunaanARNs, lihat nama sumber daya Amazon (ARNs).

contoh kebijakan izin untuk pencadangan dan pemulihan asli tanpa dukungan enkripsi
JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Effect": "Allow", "Action": [ "s3:GetObjectAttributes", "s3:GetObject", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }
contoh kebijakan perizinan untuk pencadangan dan pemulihan native dengan didukung enkripsi

Jika Anda ingin mengenkripsi file backup, sertakan kunci enkripsi dalam kebijakan perizinan Anda. Untuk informasi kunci enkripsi selengkapnya, lihat Memulai di Panduan Developer AWS Key Management Service .

catatan

Anda harus menggunakan kunci KMS enkripsi simetris untuk mengenkripsi cadangan Anda. Amazon RDS tidak mendukung kunci KMS asimetris. Untuk informasi selengkapnya, lihat Membuat kunci enkripsi simetris KMS di Panduan Developer AWS Key Management Service .

Peran IAM juga harus menjadi pengguna kunci dan administrator kunci untuk kunci KMS, yaitu, harus disebutkan dalam kebijakan kunci. Untuk informasi selengkapnya, lihat Membuat kunci enkripsi simetris KMS di Panduan Developer AWS Key Management Service .

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToKey", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Encrypt", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id" }, { "Sid": "AllowAccessToS3", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Sid": "GetS3Info", "Effect": "Allow", "Action": [ "s3:GetObjectAttributes", "s3:GetObject", "s3:PutObject", "s3:ListMultipartUploadParts", "s3:AbortMultipartUpload" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }