创建 aws emr 默认角色时出错
Error when creating aws emr default-roles
我正在尝试使用 aws cli emr 命令创建集群。但是,我似乎无法在调用 aws emr create-cluster
之前创建所需的默认角色
$ aws emr create-default-roles
A client error (NoSuchEntity) occurred when calling the GetRole operation: Unknown
我已确保我的用户具有以下权限:
IAMFullAccess - AWS Managed policy
AmazonElasticMapReduceforEC2Role - AWS Managed policy
AmazonElasticMapReduceFullAccess - AWS Managed policy
有什么建议吗?有没有我可以复制角色 json 并手动创建它们的地方?
我开始这样做的原因是因为当我运行aws emr create-cluster
它returns一个cluster-id
。但是当 cluster-id
被查询时,它的状态被设置为终止并出现错误:EMR service role arn:aws:iam::141703095098:role/EMR_DefaultRole is invalid
我确实设法使用控制台添加了这些角色,方法是:
我的安全凭证 > 角色 > 创建新角色
具有以下属性的第一个角色:
name: EMR_DefaultRole
policy: AmazonElasticMapReduceRole
具有以下属性的第二个角色:
name: EMR_EC2_DefaultRole
policy: AmazonElasticMapReduceforEC2Role
不幸的是我没有让命令行工作,但我怀疑我的本地设置可能与此有关。
我在使用控制台时遇到问题。与客户一起工作:
# upgrade aws cli (can't hurt)
pip install --upgrade --user awscli
# aws configure process if you haven't (look it up)
# delete all the defunct shizzles
aws iam remove-role-from-instance-profile --instance-profile-name EMR_EC2_DefaultRole \
--role-name EMR_EC2_DefaultRole
aws iam delete-instance-profile \
--instance-profile-name EMR_EC2_DefaultRole
aws iam detach-role-policy \
--role-name EMR_EC2_DefaultRole \
--policy-arn arn:aws:iam::aws:policy/service-role/AmazonElasticMapReduceforEC2Role
aws iam delete-role --role-name EMR_EC2_DefaultRole
aws iam detach-role-policy --role-name EMR_DefaultRole \
--policy-arn arn:aws:iam::aws:policy/service-role/AmazonElasticMapReduceRole
aws iam delete-role --role-name EMR_DefaultRole
# now re-create them
aws emr create-default-roles
请注意,如果您有附加策略,您可能必须进入控制台并删除它们或找到合适的 aws cli 命令。
来源(我们的产品有问题,我们的角色系统很麻烦,但如果您购买高级支持,我们会告诉您解决方法):
https://aws.amazon.com/premiumsupport/knowledge-center/emr-default-role-invalid/
我正在尝试使用 aws cli emr 命令创建集群。但是,我似乎无法在调用 aws emr create-cluster
$ aws emr create-default-roles
A client error (NoSuchEntity) occurred when calling the GetRole operation: Unknown
我已确保我的用户具有以下权限:
IAMFullAccess - AWS Managed policy
AmazonElasticMapReduceforEC2Role - AWS Managed policy
AmazonElasticMapReduceFullAccess - AWS Managed policy
有什么建议吗?有没有我可以复制角色 json 并手动创建它们的地方?
我开始这样做的原因是因为当我运行aws emr create-cluster
它returns一个cluster-id
。但是当 cluster-id
被查询时,它的状态被设置为终止并出现错误:EMR service role arn:aws:iam::141703095098:role/EMR_DefaultRole is invalid
我确实设法使用控制台添加了这些角色,方法是:
我的安全凭证 > 角色 > 创建新角色
具有以下属性的第一个角色:
name: EMR_DefaultRole
policy: AmazonElasticMapReduceRole
具有以下属性的第二个角色:
name: EMR_EC2_DefaultRole
policy: AmazonElasticMapReduceforEC2Role
不幸的是我没有让命令行工作,但我怀疑我的本地设置可能与此有关。
我在使用控制台时遇到问题。与客户一起工作:
# upgrade aws cli (can't hurt)
pip install --upgrade --user awscli
# aws configure process if you haven't (look it up)
# delete all the defunct shizzles
aws iam remove-role-from-instance-profile --instance-profile-name EMR_EC2_DefaultRole \
--role-name EMR_EC2_DefaultRole
aws iam delete-instance-profile \
--instance-profile-name EMR_EC2_DefaultRole
aws iam detach-role-policy \
--role-name EMR_EC2_DefaultRole \
--policy-arn arn:aws:iam::aws:policy/service-role/AmazonElasticMapReduceforEC2Role
aws iam delete-role --role-name EMR_EC2_DefaultRole
aws iam detach-role-policy --role-name EMR_DefaultRole \
--policy-arn arn:aws:iam::aws:policy/service-role/AmazonElasticMapReduceRole
aws iam delete-role --role-name EMR_DefaultRole
# now re-create them
aws emr create-default-roles
请注意,如果您有附加策略,您可能必须进入控制台并删除它们或找到合适的 aws cli 命令。
来源(我们的产品有问题,我们的角色系统很麻烦,但如果您购买高级支持,我们会告诉您解决方法): https://aws.amazon.com/premiumsupport/knowledge-center/emr-default-role-invalid/