将角色与正在运行的AWS实例相关联

时间:2014-05-01 20:59:01

标签: amazon-web-services amazon-ec2

为了在我的某个ec2现有实例上运行AWS监控脚本(http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts-perl.html),我需要一个与该实例关联的IAM角色。

我找到了很多文档来启动带有角色的实例......但是没有任何内容可以将角色链接到现有实例。

有可能吗?

如果没有,我该怎么办?使用角色启动一个新实例并将卷转移到它?

4 个答案:

答案 0 :(得分:6)

  

如果没有,我该怎么办?使用角色和transfert启动新实例   卷到它?

这是一个选项,但如果您有很多实例,可能需要很长时间。

另一种选择是通过创建新用户简单地使用IAM,然后向该用户添加Amazon CloudWatch PutMetricData operation权限。然后,为该用户创建AWS凭据,最后按照您指定的docs使用它们:

  

可选:如果您没有使用IAM角色,请更新   您之前下载的awscreds.template文件。的内容   此文件应使用以下格式:

     

AWSAccessKeyId = YourAccessKeyID

     

AWSSecretKey = YourSecretAccessKey

还要将环境变量AWS_CREDENTIAL_FILE设置为在运行mon-scripts-perl

的用户的环境中指向awscreds.template

答案 1 :(得分:5)

有一种新方法associate-iam-instance-profile可以将IAM实例配置文件与正在运行或已停止的实例相关联。

示例:

aws ec2 associate-iam-instance-profile --instance-id YourInstanceId --iam-instance-profile Name=YourNewRole-Instance-Profile

Doco

答案 2 :(得分:1)

AWS不允许您在启动实例后修改实例角色。

你可以:

1)通过获取已经运行的实例的AMI并重新分配EIP,启动具有所需角色的新实例。

2)创建一个无头用户,为具有特定permssion的用户生成访问密钥和密钥,并使用这些密钥。

答案 3 :(得分:0)

早些时候没有解决方案。您必须创建和AMI并使用适当的角色再次启动服务器。

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/

相关问题