amazon-web-services - 为什么在 AWS 实例配置文件中使用路径时收到 'No roles attached to instance profile'

标签 amazon-web-services amazon-ec2 aws-cloudformation aws-roles

我通过 CloudFormation 堆栈创建了一个 EC2 实例配置文件。堆栈模板包含实例配置文件、实例配置文件的角色、角色的策略以及使用实例配置文件的权限。该角色具有允许 EC2 实例代入该角色的信任策略。实例配置文件和角色都使用路径。

启动使用实例配置文件的 EC2 实例时,控制台显示 IAM 角色的没有附加到实例配置文件的角色。但是,在控制台中查看角色时会显示正确的 ARN。使用 PowerShell 获取实例配置文件时也存在该角色。

我尝试仅从实例配置文件中删除路径,而不是角色。我通过从 CloudFormation 模板中删除实例配置文件并更新堆栈来完成此操作。然后,我将实例配置文件放回到模板中,不带路径,并再次更新堆栈。控制台显示具有实例配置文件的新 ARN 的角色。现在我可以使用实例配置文件启动 EC2 实例,控制台会显示 EC2 实例的正确角色。取消所有这些操作以再次返回实例配置文件的路径会导致 EC2 实例没有角色。

启动 EC2 实例所需的所有权限都在堆栈中,这有效。仅当实例配置文件具有路径时,我才无法启动正确的 EC2 实例。我在这里缺少什么?我还可以尝试什么来让实例配置文件与该路径配合使用?

最佳答案

我也遇到过类似的问题,并向 AWS 报告了该问题。对我来说,这只是控制台 View 的问题,角色和权限将按预期工作。

您提到您无法启动实例,这可能与控制台问题无关,但首先请确认角色已使用 CLI 正确附加:aws ec2 describe-instances。查找 IamInstanceProfile 属性并确认它列出了预期的 Arn

如果这是正确的,那么可以忽略控制台 View ,并且您的问题是权限/其他。我建议检查 CloudTrail 的 RunInstances 事件,它应该有一个有用的错误。

如果您没有看到针对 IamInstanceProfile 列出的 Arn,您的问题与我的问题不同,但我建议确认实例配置文件已附加到正确的角色。您可以通过控制台检查这一点,方法是转到 IAM 中的角色并检查它列出了正确的实例配置文件 Arn。或者更好地使用 CLI:aws iam get-instance-profile --instance-profile-name [EnterInstanceProfileName]

EnterInstanceProfileName 替换为实例配置文件 Arn 的最后一部分(最后一个斜线之后)。

确保 Roles 部分仅列出一个角色,并且 Arn 是预期的角色。

希望这对您有所帮助。

关于amazon-web-services - 为什么在 AWS 实例配置文件中使用路径时收到 'No roles attached to instance profile',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76471602/

相关文章:

amazon-web-services - 由于角色,CodePipeline StackSet 集成失败 wtth ValidationException

amazon-web-services - 所需实例 VS。缩放策略

docker - 在使用docker环境的MLflow项目中,如何设置AWS凭证

android - 多个dex文件定义Lcom/amazonaws/AmazonWebServiceClient;

ruby-on-rails - 您可以在elastic beanstalk环境中运行rails控制台或rake命令吗?

amazon-ec2 - WSO2 Enterprise Mobility Manager 无法启动无法绑定(bind)到端口 10500 处的地址

amazon-web-services - 如何设置云编码模板的访问权限?

aws-cloudformation - 更新 AWS Glue 表时是否可以自动更新分区元数据

amazon-web-services - 使用 AWS CLI 将 AWS LoadBalancer 添加到服务

postgresql - 重启aws ec2实例后如何重启postgres数据库?