AWS DMS - 数据库迁移服务系统错误消息:IAM 角色 arn:aws:iam::<account_id>:role/dms-vpc-role 未正确配置

Era*_*oni 7 amazon-web-services amazon-iam aws-dms

我正在尝试创建 DMS(数据库迁移服务)实例,但出现以下错误:

SYSTEM ERROR MESSAGE:The IAM Role arn:aws:iam::<account_id>:role/dms-vpc-role is not configured properly
Run Code Online (Sandbox Code Playgroud)

我应该创建什么角色以及我应该将它分配给什么角色?

Era*_*oni 10

您需要允许 DMS 承担一个角色:

  1. 创建文件 dmsAssumeRolePolicyDocument.json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "dms.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)
  1. 创建角色:

aws iam create-role --role-name dms-vpc-role --assume-role-policy-document file:///tmp/dmsAssumeRolePolicyDocument.json

  1. 附上角色:

aws iam attach-role-policy --role-name dms-vpc-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole

现在您可以继续在控制台中或使用 awscli 创建 DMS 实例


And*_*fré 6

似乎他们更改了 IAM 角色,如果现在有人尝试这样做,最简单的解决方案是在 AWS 控制台中创建一个复制实例,然后将自动创建 dms-vpc-role。

然后您可以删除该“临时”实例并运行 cloudformation/aws cli 来创建您想要的实例。

如果要手动创建角色,附加的策略必须是 AmazonDMSVPCManagementRole

并包含以下权限:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "ec2:CreateNetworkInterface",
            "ec2:DescribeAvailabilityZones",
            "ec2:DescribeInternetGateways",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeSubnets",
            "ec2:DescribeVpcs",
            "ec2:DeleteNetworkInterface",
            "ec2:ModifyNetworkInterfaceAttribute"
        ],
        "Resource": "*"
    }
]
}
Run Code Online (Sandbox Code Playgroud)

  • 截至 2023 年 11 月,尽管在首次尝试创建 DMS 实例后,AWS 控制台中仍然出现“dms-vpc-role is notconfiguredously”错误,但角色和策略确实存在,并且重试 DMS创造就会成功。 (3认同)
  • 我可以确认,截至今天,“dms-vpc-role”不是从控制台自动创建的。如上所述,需要手动创建角色并附加“AmazonDMSVPCManagementRole”策略。 (2认同)