【问题标题】:AWS EMR Cluster fails to launchAWS EMR 集群无法启动
【发布时间】:2016-12-31 06:03:17
【问题描述】:

我正在尝试从 AWS 控制台启动 AWS EMR 集群,并收到以下错误:

Failed to provision ec2 instances because 'IAM Instance Profile "arn:aws:iam::553706642095:instance-profile/EMR_EC2_DefaultRole" has no associated IAM Roles

任何人都知道这是什么意思以及如何解决它?

以下是角色政策:

{
  "Statement": [
    {
      "Action": [
        "cloudwatch:*",
        "dynamodb:*",
        "ec2:Describe*",
        "elasticmapreduce:Describe*",
        "rds:Describe*",
        "s3:*",
        "sdb:*",
        "sns:*",
        "sqs:*"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}

它的信任政策文件是:

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

【问题讨论】:

    标签: amazon-web-services emr amazon-iam


    【解决方案1】:

    我终于解决了这个问题。这很令人困惑,因为默认情况下实例配置文件和角色使用相同的名称。下面列出了完整的步骤,但您可以跳过各个步骤。

    1. 创建默认角色(如果出错,降级到 awscli 版本 1.10.30)

      aws emr create-default-roles

    2. 如果实例配置文件不存在,则创建它:

      aws iam create-instance-profile --instance-profile-name EMR_EC2_DefaultRole

    3. 验证实例配置文件存在但没有任何角色:

      aws iam get-instance-profile --instance-profile-name EMR_EC2_DefaultRole

    4. 使用以下方式添加角色:

      aws iam add-role-to-instance-profile --instance-profile-name EMR_EC2_DefaultRole --role-name EMR_EC2_DefaultRole

    【讨论】:

      【解决方案2】:

      您只有 EMR 的只读权限

      "elasticmapreduce:Describe*",

      您需要授予对 elastic map reduce 的完全访问权限,以便您可以启动集群/终止

      一旦您授予此访问角色,政策将如下所示

      "elasticmapreduce:*",

      【讨论】:

        【解决方案3】:

        我尝试了一下,可以使用我自己的 Cloudformation 堆栈在不使用该工具的情况下使其工作。

        您必须拥有流角色的 InstanceProfile 的密钥,并且流和服务角色都必须作为 ARN 提供。

        这就是我让它为我工作的方式!

        希望对其他人也有帮助。

        【讨论】:

          【解决方案4】:

          我遇到了同样的问题。我没有给出新的集群名称,而是保留了相同的默认集群名称“我的集群”并再次单击“创建集群”。它创建时没有此错误。

          【讨论】:

            猜你喜欢
            • 2016-02-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-06-30
            • 1970-01-01
            • 2019-01-31
            • 1970-01-01
            相关资源
            最近更新 更多