我在 AWS 论坛上问过这个问题,但没有得到太多回复。我的根本问题是,我试图恢复 MS SQL Server RDS 数据库,并收到错误消息“数据库备份/恢复选项尚未启用或正在启用。请稍后再试。”我找到了关于此问题的这个帖子:
https://forums.aws.amazon.com/message.jspa?messageID=736361
这建议向数据库的选项组添加一个选项。但是,选项组上的“添加选项”按钮被禁用,并且用于选择数据库选项组的下拉菜单也被禁用。所以我无法向选项组添加选项,也无法创建新的选项组并选择它。我了解到您无法向默认选项组添加选项,因此我肯定需要创建一个选项组。我仍然不知道为什么我无法更改现有 RDS 实例的选项组。
所以我创建了一个新的选项组,没有问题。我创建了一个全新的 RDS 实例,这样我就可以选择不同的选项组。在我创建的新选项组中,我可以单击“添加选项”,但无法成功完成该过程。我创建了一个具有 RDS 完全访问权限的 IAM 角色,当尝试使用该角色将备份/恢复选项添加到选项组时,我得到了以下信息:
“IAM 角色 ARN 值无效或不包含以下所需权限:SQLSERVER_BACKUP_RESTORE(服务:AmazonRDS;状态代码:400;错误代码:InvalidParameterValue;请求 ID:3824d081-648a-11e6-9c94-87e171d2e1f8)”
我不太了解 IAM,所以不知道该如何处理。有什么想法吗?
更新
我在 AWS 论坛上得到了另一个回复。以下是建议和我的结果。
请尝试以下步骤 -
- 从 RDS 控制台左侧面板中选择选项组
- 选择您创建的选项组并点击添加选项按钮
- 在选项下拉菜单中选择 SQL_SERVER_BACKUP_RESTORE。
- 单击 IAM 角色下拉菜单下的文本“创建新角色”。这将向您显示 IAM 角色创建的选项。
- 为 IAM 角色添加一个名称,选择要使用的 S3 存储桶,然后选中“立即应用”单选按钮中的“是”。
- 单击添加选项按钮。
回复
听起来不错!但是在我点击表单底部的添加选项后,按钮禁用了几秒钟,然后 IAM 角色名称字段被红色包围。我附上了一张截图。点击感叹号或红色的任何位置都不会显示任何其他信息。我尝试了几个不同的名称,结果都一样。页面没有指定有关名称的规则吗?再次感谢您的帮助。
答案1
我注册了付费支持,以下是答案,希望它能帮助到其他人。我必须像这样编辑 IAM 角色上的信任策略:
{
"Version": "2012-10-17",
"Statement":
[{
"Effect": "Allow",
"Principal": {"Service": "rds.amazonaws.com"},
"Action": "sts:AssumeRole"
}]
}
然后我能够将选项添加到选项组,并且恢复成功。请注意,信任策略在 Web 控制台上称为“信任关系”。
答案2
以下是具有应起作用的权限的角色的策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1472672338000",
"Effect": "Allow",
"Action": [
"rds:*"
],
"Resource": [
"arn:aws:rds:us-west-2:123456789012:snapshot:ms-sql-rds-final-snapshot"
]
}
]
}