从 VPC 中的 Elastic Beanstalk 实例访问 RDS

use*_*825 4 amazon-web-services amazon-rds amazon-elastic-beanstalk

我正在尝试配置从 Elastic Beanstalk 环境中的实例对 RDS 的访问。

RDS和EB环境位于同一个VPC中。

复杂的是,EB 实例的安全组是在环境创建时动态生成的。我不确定如何配置 RDS 安全组以允许动态安全组。

我尝试过使用 VPC 的 CIDR,但这似乎不起作用。

有推荐的方法吗?

Mat*_*ser 5

EC2 安全组的用途不仅仅是允许传入和传出流量。它们还可以用于 EC2 实例的纯粹识别。

创建 Elastic Beanstalk 应用程序时,EB 将始终为 EC2 实例创建一个安全组,但您也可以向 EC2 实例添加另一个安全组。

使用这两条信息,您可以执行以下操作:

  1. 为您的 EC2 实例创建安全组。不要为安全组提供任何传入或传出规则。
  2. 通过向您的 RDS 安全组添加一条规则,允许安全组在端口 3306 上进行传入连接,从而允许此安全组访问您的 RDS 实例。
  3. 创建 EB 应用程序时,当系统要求您为 EC2 实例提供安全组时,请选择您的安全组。或者,您可以编辑现有 EB 应用程序的配置并将安全组添加到安全组列表中。这是一个以逗号分隔的列表。

完成此操作后,您的 EC2 实例应该可以访问您的 RDS 实例。


顺便说一句,在 RDS 安全组的传入规则中为 VPC 使用 CIDR 也应该有效。