2

我有一个 Elastic Beanstalk 实例,它充当管理仪表板,呈现 HTML 模板和从数据库提供的数据。这和数据库都在一个特定的 VPC 中。

同样在 VPC 中,我还有另一个单实例 Elastic Beanstalk 应用程序,它充当 Web 套接字客户端,将来自外部服务的数据保存到数据库中。这些是下图中的摄取提要。

摄取提要具有 HTTP Rest 端点,我可以从管理仪表板中点击它来启动/停止摄取提要。

我遇到的问题是如何从 VPC 外部关闭摄取提要。我希望它仅从 Admin Dashboard Elastic Beanstalk 应用程序连接。

但我也希望他们能够通过网络套接字连接到外部服务。

图表

4

1 回答 1

3

这应该满足您的要求:

管理仪表板服务器:安全组 A

  • 入站规则允许在您的仪表板提供服务的任何端口上进行流量,可能是端口 80 和/或 443。
  • 默认出站规则

摄取源服务器:安全组 B

  • 没有入站规则(见下面的注释)
  • 默认出站规则

数据库服务器:安全组 C

  • 允许属于安全组 A 的实例访问数据库端口的入站规则
  • 允许属于安全组 B 的实例访问数据库端口的入站规则
  • 默认出站规则

笔记:

文档中

安全组是有状态的——如果您从实例发送请求,则无论入站安全组规则如何,都允许该请求的响应流量流入。无论出站规则如何,都允许对允许的入站流量的响应流出。

这应该允许您的 Ingestion Feeds 服务创建与外部服务的连接并在该连接上接收响应,而无需为 Ingestion Feeds 实例分配任何入站规则。

于 2016-12-27T18:23:20.827 回答