設定原生備份與還原 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定原生備份與還原

若要設定原生備份與還原,您需要設定三個元件:

  1. 用來儲存備份檔案的 Amazon S3 儲存貯體。

    您必須擁有 S3 儲存貯體,才能用於備份檔案,然後將要遷移的備份上傳至 RDS。如果您已經有 Amazon S3 儲存貯體,則可直接使用。如果沒有,您可以建立儲存貯體。或者,當您使用 SQLSERVER_BACKUP_RESTORE 新增 AWS Management Console選項時,可以選擇替您建立新的儲存貯體。

    如需有關使用 S3 的詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南

  2. 存取儲存貯體的 AWS Identity and Access Management (IAM) 角色。

    如果您已有角色,您可以使用該IAM角色。您可以使用 新增SQLSERVER_BACKUP_RESTORE選項時,選擇為您建立新的IAM角色 AWS Management Console。或者,您也可以手動建立新的。

    如果您想要手動建立新IAM角色,請採取下一節討論的方法。如果您想要將信任關係和許可政策連接至現有IAM角色,請執行相同操作。

  3. 在資料庫執行個體的選項群組中新增的 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:SourceArnaws: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" } ] }

下列範例使用 ARN來指定資源。如需使用 的詳細資訊ARNs,請參閱 Amazon 資源名稱 (ARNs)

範例 原生備份與還原的許可政策 (無加密支援)
{ "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/*" } ] }