本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定原生備份與還原
若要設定原生備份與還原,您需要設定三個元件:
-
用來儲存備份檔案的 Amazon S3 儲存貯體。
您須有 S3 儲存貯體用於備份檔案,然後上傳您要遷移到 RDS 的備份。如果您已經有 Amazon S3 儲存貯體,則可直接使用。如果沒有,您可以建立儲存貯體。或者,當您使用
SQLSERVER_BACKUP_RESTORE
新增 AWS Management Console選項時,可以選擇替您建立新的儲存貯體。如需有關使用 S3 的詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南。
-
存取儲存貯體的 AWS Identity and Access Management (IAM) 角色。
如果您已經有 IAM 角色,則可直接使用。當您使用 AWS Management Console新增
SQLSERVER_BACKUP_RESTORE
選項時,可以選擇替您建立新的 IAM 角色。或者,您也可以手動建立新的。如果您想要手動建立新的 IAM 角色,請採取下一節所討論的方法。如果您想要將信任關係和許可政策連接到現有 IAM 角色,請執行相同的動作。
-
在資料庫執行個體的選項群組中新增的
SQLSERVER_BACKUP_RESTORE
選項。若要在資料庫執行個體上啟用原生備份與還原,請將
SQLSERVER_BACKUP_RESTORE
選項新增至資料庫執行個體上的選項群組。如需詳細資訊和指示,請參閱SQL Server 對原生備份與還原的支援。
手動建立原生備份與還原的 IAM 角色
如果您要手動建立新的 IAM 角色,以用於原生備份和還原,您可以這麼做。在此情況下,您建立角色將 Amazon RDS 服務的許可委派給 Amazon S3 儲存貯體。當您建立 IAM 角色時,您會連接信任關係和許可政策。信任關係可讓 RDS 承擔此角色。許可政策定義此角色可執行的動作。如需有關建立角色的詳細資訊,請參閱建立角色以委派許可給 AWS 服務。
對於原生備份與還原功能,請使用類似本節範例的信任關係和許可政策。在下列範例中,我們使用服務原則名稱 rds.amazonaws.com
做為所有服務帳戶的別名。在其他範例中,我們指定 Amazon Resource Name (ARN),以識別我們在信任政策中授予存取的另一個帳戶、使用者或角色。
建議您在資源型信任關係中使用 aws:SourceArn
和 aws:SourceAccount
全域條件內容金鑰,將服務的許可限定於特定資來源。這是防止混淆代理人問題最有效的方式。
您可以同時使用全域條件內容索引鍵和包含帳號 ID 的 aws:SourceArn
值。在此情況下,當在相同陳述式中使用 aws:SourceAccount
值和 aws:SourceArn
裡的帳户時,兩者必須使用同樣的帳户 ID。
-
如果您想要跨服務存取單一資源,請使用
aws:SourceArn
。 -
如果您想要允許該帳戶中的任何資源與跨服務使用相關聯,請使用
aws:SourceAccount
。
在信任關係中,請務必使用 aws:SourceArn
全域條件內容索引鍵,其中包含存取角色的資源之完整 ARN。針對原生備份與還原,請確認同時包括資料庫選項群組和資料庫執行個體,如以下範例所示。
範例 與全域條件內容索引鍵的信任關係,用於原生備份和還原
{ "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
" } } } ] }
下列範例使用 ARN 來指定資源。如需有關使用 ARN 的詳細資訊,請參閱 Amazon Resource Name (ARN)。
範例 在沒有加密支援的情況下進行原生備份和還原的許可政策
{ "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
/*" } ] }
範例 原生備份與還原的許可政策 (有加密支援)
如果您要將備份檔案加密,請在許可政策中包含加密金鑰。如需加密金鑰的詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的入門。
注意
您必須使用對稱加密 KMS 金鑰,為您的備份加密。Amazon RDS 不支援非對稱 KMS 金鑰。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的建立對稱加密 KMS 金鑰。
IAM 角色也必須是 KMS 金鑰的金鑰使用者和金鑰管理員,也就是說,這必須在金鑰政策中指定。如需詳細資訊,請參閱《AWS Key Management Service 開發人員指南》中的建立對稱加密 KMS 金鑰。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Encrypt", "kms:Decrypt" ], "Resource": "arn:aws:kms:
region
:account-id
:key/key-id
" }, { "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
/*" } ] }