AWS Elastic Beanstalk 环境请求关联"instance profile"



当使用web UI进行AWS Elastic Beanstalk环境管理时,我看到:

如果将实例配置文件。

(也可以看到这个论坛帖子提到了同样的事情:http://www.infosys.tuwien.ac.at/staff/leitner/cs_study/forum/viewtopic.php?pid=186#p186)

什么是实例配置文件?为什么这很重要?它是如何工作的/在做什么?

我发现了这些文章:

  • http://docs.aws.amazon.com/IAM/latest/UserGuide/instance-profiles.html
  • http://docs.aws.amazon.com/cli/latest/reference/iam/create-instance-profile.html

但我仍然不了解实例配置文件。

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

如果您有一个与您的环境相关联的实例概要文件,那么您还可以做其他有趣的事情,比如将日志自动发布到S3存储桶中。有了实例配置文件,您可以控制要授予实例的权限,还可以将长期凭据存储在所有EC2实例上。

来自文件:

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

您在控制台上看到的关于控制台的消息建议您使用实例配置文件,因为这允许您的EC2实例在每次使用源代码的新副本更新环境时更快地部署应用程序版本。最终结果是一样的,但拥有实例概要文件可以优化部署速度,这在没有实例概要文件的情况下是不可能的。

您可以在这里阅读更多关于使用Elastic Beanstalk的实例配置文件。尽管您可以创建一个自定义角色,并通过授予其适当的权限将其与豆茎环境相关联,但为了方便起见,您可以在使用AWS控制台启动环境时获得一个默认角色。您可以在创建环境向导中选择要与环境关联的角色。

最新更新