针对本机备份和还原进行设置
要设置本机备份和还原,您需要三个组件:
-
用于存储备份文件的 Amazon S3 存储桶。
您必须将 S3 存储桶用于备份文件,然后上传您要迁移到 RDS 的备份。如果您已有一个 Amazon S3 存储桶,则可以使用它。如果没有,则可以创建存储桶。或者,您可以选择在使用
SQLSERVER_BACKUP_RESTORE
添加 Amazon Web Services Management Console 选项时为自己创建新的存储桶。有关使用 S3 的信息,请参阅 Amazon Simple Storage Service 用户指南
-
用于访问存储桶的 Amazon Identity and Access Management (IAM) 角色。
如果您已有一个 IAM 角色,则可以使用它。您可以选择在使用Amazon Web Services Management Console添加
SQLSERVER_BACKUP_RESTORE
选项时为自己创建新的 IAM 角色。或者,您可以手动创建一个新的角色。如果您想要手动创建新的 IAM 角色,请使用下一部分中介绍的方法。如果要将信任关系和权限策略附加到现有 IAM 角色,请执行相同操作。
-
已添加到数据库实例上选项组的
SQLSERVER_BACKUP_RESTORE
选项。要在数据库实例上启用本机备份和还原,请将
SQLSERVER_BACKUP_RESTORE
选项添加到数据库实例上的选项组。有关更多信息和说明,请参阅 SQL Server 中对本机备份和还原的支持。
为本机备份和还原手动创建 IAM 角色
如果要手动创建新的 IAM 角色以用于本机备份和还原,可以这样做。在这种情况下,您将创建一个角色,以将权限从 Amazon RDS 服务委派给 Amazon S3 存储桶。创建 IAM 角色时,您将附加信任关系和权限策略。信任关系允许 RDS 代入此角色。这些权限策略定义此角色可以执行的操作。有关创建角色的更多信息,请参阅创建将权限委派给 Amazon 服务的角色。
对于本机备份和还原功能,可使用类似于本节中以下示例的信任关系和权限策略。在下面的示例中,我们使用服务委托人名称 rds.amazonaws.com
作为所有服务账户的别名。在其他示例中,我们指定 Amazon Resource Name (ARN) 以标识我们在信任策略中授予访问权限的其他账户、用户或角色。
我们建议在基于资源的信任关系中使用 aws:SourceArn
和 aws:SourceAccount
全局条件上下文键,以此限制服务对特定资源的权限。这是防范混淆代理问题最有效的方法。
您可以使用这两个全局条件上下文键并让 aws:SourceArn
值包含账户 ID。在这种情况下,当 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 指定资源。有关使用 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
/*" } ] }