【问题标题】:AWS Elastic Beanstalk Environment Requesting associated "instance profile"AWS Elastic Beanstalk 环境请求关联的“实例配置文件”
【发布时间】:2014-12-09 10:29:16
【问题描述】:

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

如果您关联一个 此环境的实例配置文件。

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

什么是实例配置文件?为什么这有关系?它是如何工作的/它在做什么?

我找到了这些文章:

但我还是不明白实例配置文件。

【问题讨论】:

  • 实例配置文件允许您将 IAM 角色关联到您的实例。您的实例是否需要特定权限(访问某些 AWS 资源...)?您的部署失败了吗?
  • 没有失败; AWS 只是建议将实例配置文件与环境相关联,我希望更好地理解这意味着什么。

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


【解决方案1】:

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

如果您有与您的环境关联的实例配置文件,您可以执行其他有趣的事情,例如将日志自动发布到您的 S3 存储桶。 拥有实例配置文件可让您控制要授予实例的权限,还可以让您不必在所有 EC2 实例上存储长期凭证。

来自documentation

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

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

您可以通过 Elastic Beanstalk here 阅读有关实例配置文件的更多信息。 尽管您可以创建自定义角色并将其与 beanstalk 环境相关联,方法是为其提供适当的权限,但为方便起见,您可以在使用 AWS 控制台启动环境时获取默认角色。您可以在创建环境向导中选择要与环境关联的角色。

【讨论】:

  • 关于“更快地部署应用程序”,您还有什么要说的吗?有这方面的文件吗?
  • 我看不到任何允许我“将实例配置文件与此环境相关联”的说明(至少没有我可以遵循的)。 What are the steps to doing that?
猜你喜欢
  • 2019-01-08
  • 2017-12-15
  • 1970-01-01
  • 2013-04-11
  • 1970-01-01
  • 1970-01-01
  • 2019-10-05
  • 2020-12-08
  • 2021-09-29
相关资源
最近更新 更多