AWS Elastic Beanstalk环境请求关联的"实例配置文件"

时间:2014-10-14 14:59:42

标签: amazon-web-services amazon-ec2 elastic-beanstalk amazon-iam

使用Web界面进行AWS Elastic Beanstalk环境管理时,我看到:

  

如果您关联,代码更改部署将更快完成   具有此环境的实例配置文件。

(另见本论坛帖子提到同样的事情:http://www.infosys.tuwien.ac.at/staff/leitner/cs_study/forum/viewtopic.php?pid=186#p186

什么是实例个人资料?为什么这有关系?它是如何工作的/它在做什么?

我找到了这些文章:

但我仍然不了解实例个人资料。

1 个答案:

答案 0 :(得分:4)

就像Celine在上面的评论中所说,实例配置文件允许您将IAM角色与您的实例相关联。必须为此IAM角色提供访问AWS资源的特定权限。您的EC2实例(由Elastic Beanstalk启动)可以执行某些额外任务。例如,如果使用Elastic Beanstalk启动工作层环境,则守护程序需要从SQS队列轮询,从EC2实例将指标发布到cloudwatch。这意味着EC2实例需要一些凭据才能从队列中轮询。如果您具有与EC2实例关联的适当策略的IAM角色,则基本上允许您的实例使用该角色的凭据调用SQS。

如果您有与您的环境关联的实例配置文件,您可以执行其他有趣的操作,例如自动日志发布到S3存储桶。 拥有实例配置文件允许您控制要为实例提供的权限,还可以使您无需在所有EC2实例上存储长期凭据。

来自documentation

  

实例配置文件提供对AWS的应用程序和服务访问   资源。例如,您的应用程序可能需要访问   DynamoDB。必须使用对AWS服务发出的每个API请求进行签名   AWS安全凭证。授予应用程序访问AWS的一种方法   资源是将您的凭据分发给每个实例;然而,   将长期凭证分发给每个实例是一项挑战   管理和潜在的安全风险。相反,您可以创建一个IAM   具有应用程序所需权限的角色   应用程序调用其他AWS资源。当AWS Elastic时   Beanstalk启动Amazon EC2实例,它使用该实例   与该角色关联的配置文件。运行在的所有应用程序   实例可以使用角色凭据来签署请求。因为角色   凭证是临时的并自动轮换,您不必   担心长期的安全风险。

您在控制台上看到的有关控制台的消息建议您使用实例配置文件,因为这样每次使用源的新副本更新环境时,EC2实例都可以采用更快的路径来部署应用程序版本码。最终结果是相同的,但是具有实例配置文件可以实现部署速度的优化,这是没有实例的。

您可以使用Elastic Beanstalk here详细了解实例配置文件。 虽然您可以通过为其提供适当的权限来创建自定义角色并将其与beanstalk环境相关联,但为方便起见,您可以在使用AWS控制台启动环境时获得默认角色。您可以选择在创建环境向导中选择要与环境关联的角色。