AWS - 配置从 Beanstalk 应用程序对 EC2 实例的访问
Posted
技术标签:
【中文标题】AWS - 配置从 Beanstalk 应用程序对 EC2 实例的访问【英文标题】:AWS - Configuring access to EC2 instance from Beanstalk App 【发布时间】:2012-02-06 04:00:13 【问题描述】:因此,出于我不愿深入探讨的原因,我的数据库位于 eu-west-1 的 EC2 实例上,并且我在 us-east-1 上创建了一个 beanstalk 应用程序。我希望我的应用程序在 mysql 端口 (3306) 上与该 EC2 实例通信。
任何人都可以帮助我如何设置它,我需要在 EC2 安全组上设置哪些入口规则?鉴于我将在 beanstalk 中拥有多个版本的应用程序,IP 地址可能会定期更改(在环境重建等之后)。
【问题讨论】:
【参考方案1】:关于Security Group Rules,您可能遗漏的重要概念是,您不必将 IP 地址单独指定为流量来源,而是经常引用其他安全组:
来源可以是单个 IP 地址 (203.0.113.1),范围为 地址(例如 203.0.113.0/24),或 EC2 安全组。这 安全组可以是您 AWS 账户中的另一个组, 另一个 AWS 账户或安全组本身。
通过将安全组指定为源,您允许传入 来自属于源安全组的所有实例的流量。 [...] 如果您正在创建一个 三层 Web 服务(请参阅创建三层 Web 服务)。
[强调我的]
因此,您只需将 Beanstalk 应用程序实例安全组添加为 MySQL 实例安全组中 TCP 端口 3306 的流量源。
更进一步
另一个让自己熟悉的概念是,您可以将多个安全组分配给一个实例,从而启用(可能是动态的)生成的防火墙组合。
例如,针对大型架构的推荐做法建议为您的实例所具有的每个“角色”指定一个专用安全组(而不是像往常一样在一个安全组中累积多个规则),例如我们有像“role-ssh”(TCP 端口 22)和“role-mysql”(TCP 端口 3306)这样的安全组,它们会根据需要依次分配给 EC2 实例。您可以在例如阅读有关此概念的更多信息。 Security Groups - Most Underappreciated Feature of Amazon EC2.
【讨论】:
谢谢!这帮助很大。以上是关于AWS - 配置从 Beanstalk 应用程序对 EC2 实例的访问的主要内容,如果未能解决你的问题,请参考以下文章
AWS Elastic Beanstalk - .ebextensions
AWS Elastic BeanStalk php.ini 文件更新
JPA 无法从 Beanstalk 连接到 AWS RDS,但它可以在本地工作