本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要設定原生備份與還原,您需要設定三個元件:
-
用來儲存備份檔案的 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": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:s3:::
amzn-s3-demo-bucket
", "aws:SourceAccount": "0123456789
" } } } ] }
下列範例使用 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
/*"
}
]
}