为了在我的某个ec2现有实例上运行AWS监控脚本(http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts-perl.html),我需要一个与该实例关联的IAM角色。
我找到了很多文档来启动带有角色的实例......但是没有任何内容可以将角色链接到现有实例。
有可能吗?
如果没有,我该怎么办?使用角色启动一个新实例并将卷转移到它?
答案 0 :(得分:6)
如果没有,我该怎么办?使用角色和transfert启动新实例 卷到它?
这是一个选项,但如果您有很多实例,可能需要很长时间。
另一种选择是通过创建新用户简单地使用IAM,然后向该用户添加Amazon CloudWatch PutMetricData operation
权限。然后,为该用户创建AWS凭据,最后按照您指定的docs使用它们:
可选:如果您没有使用IAM角色,请更新 您之前下载的awscreds.template文件。的内容 此文件应使用以下格式:
AWSAccessKeyId = YourAccessKeyID
AWSSecretKey = YourSecretAccessKey
还要将环境变量AWS_CREDENTIAL_FILE
设置为在运行mon-scripts-perl
答案 1 :(得分:5)
有一种新方法associate-iam-instance-profile
可以将IAM实例配置文件与正在运行或已停止的实例相关联。
示例:
aws ec2 associate-iam-instance-profile --instance-id YourInstanceId --iam-instance-profile Name=YourNewRole-Instance-Profile
答案 2 :(得分:1)
AWS不允许您在启动实例后修改实例角色。
你可以:
1)通过获取已经运行的实例的AMI并重新分配EIP,启动具有所需角色的新实例。
或
2)创建一个无头用户,为具有特定permssion的用户生成访问密钥和密钥,并使用这些密钥。
答案 3 :(得分:0)
2月9日,AWS推出了这些新的CLI选项,可以帮助您解决问题。 请看这个链接:https://aws.amazon.com/blogs/security/new-attach-an-aws-iam-role-to-an-existing-amazon-ec2-instance-by-using-the-aws-cli/