我正在尝试从Elastic Beanstalk环境中的实例配置对RDS的访问。
RDS和EB环境属于同一个VPC。
复杂性是EB实例的安全组是在环境创建时动态生成的。我不确定如何配置RDS安全组以允许动态安全组。
我尝试使用CIDR代替VPC,但这似乎不起作用。
有推荐的方法吗?
答案 0 :(得分:2)
默认情况下,ElasticBeanstalk将在“出站”选项卡的所有端口上创建与实例关联的安全组,其中包含0.0.0.0/0。如果您还没有改变,那么您需要做的就是将EC2实例所在的子网添加到RDS安全组(即3306上的10.10.10.0/24)。从实例尝试一个telnet,你应该很好。
或者,您可以使用EB - http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-beanstalk-environment.html
通过CloudFormation执行此操作最后,有可能使用ebextensions来做到这一点,但这是我的最后手段,因为我已经在ebextensions上取得了成功,特别是在自动缩放的实例周围。
答案 1 :(得分:2)
EC2安全组不仅可用于允许传入和传出流量。它们还可用于纯粹识别EC2实例。
创建Elastic Beanstalk应用程序时,EB将始终为EC2实例创建安全组,但您也可以将另一个安全组添加到EC2实例。
使用这两条信息,您可以执行以下操作:
完成此操作后,您的EC2实例应该可以访问您的RDS实例。
另外,在RDS安全组的传入规则中为您的VPC使用CIDR也应该可以正常工作。