0

我正在尝试为 DynamoDB 自动部署 DAX,但不断从 python 和 CLI 收到以下错误:

调用 CreateCluster 操作时发生错误(InvalidParameterValueException):没有担任角色的权限:arn:aws:iam::xxxxxxxxxxxx:role/service-role/230e772f-DAXServiceRole

我使用的 CLI 命令是:

aws dax create-cluster --region some.region --cluster-name some.dax_name --node-type some.node_type --replication-factor 1 --subnet-group-name some.subnet_group_name --security-group-ids some.security_group_id --iam-role-arn some.iam_role_arn

直接从 cli 运行它,工作正常,通过控制台手动运行它也工作正常。其他人有这个问题吗?

4

2 回答 2

0

好的,看起来我的脚本在创建角色后过早地尝试创建 DAX 集群。这导致它无法找到它。我添加了时间,它能够找到角色。

于 2018-06-20T00:05:30.270 回答
0

需要使用服务创建 IAM 角色,否则您将面临同样的错误,例如,我使用以下策略创建了角色,并且遇到了同样的问题。

{
    "Version": "2012-10-17",
    "Statement": [
       {
            "Effect": "Allow",
            "Principal": {
                "AWS": "some role arn"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

基本上,上述策略将在 Principal 下添加信任实体。

Dax IAM 角色需要使用以下策略方法创建以避免上述错误。

{
    "Version": "2012-10-17",
    "Statement": [
       {
            "Effect": "Allow",
            "Principal": {
                "Service": "dax.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

有关更多详细信息,请查看 aws 文档https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.create-cluster.cli.create-service-role.html

于 2020-08-26T20:20:08.267 回答