AWS - 从Beanstalk App配置对EC2实例的访问

时间:2012-01-09 16:10:40

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

因为出于Id而不是进入的原因,我的数据库位于eu-west-1的EC2实例上,我在us-east-1上创建了一个beanstalk应用程序。我喜欢我的应用程序与MySQL端口上的EC2实例进行通信(3306)。

任何人都可以协助我如何设置这个,我需要在EC2安全组上设置哪些入口规则?鉴于我将在beanstalk中有多个版本的应用程序,IP地址可能会定期更改(在环境重建之后等)。

1 个答案:

答案 0 :(得分:13)

您可能遗漏的关于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