【问题标题】:Route only api traffic to other AWS EC2 instance仅将 api 流量路由到其他 AWS EC2 实例
【发布时间】:2019-10-03 10:27:37
【问题描述】:

我是网络新手。我正在尝试仅将来自一个 VM 流量的流量路由到另一台 VM。因此,我做到了。

我有两个 AWS EC2 实例:

  • 应用服务器
  • 数据库服务器

他们有自己的安全组,我已经允许所有流量都是允许的。现在我想 Database_server 只接受 Application_server 流量而不是所有公共流量。 Database_server 是运行在 3306 端口上的 MySQL。

假设:

  • Application_server 公网 IP:14.233.245.51
  • Database_server 公网 IP:15.233.245.51

所以我只允许在端口 3306 上使用 14.233.245.51/32,但它不起作用。在此之前是0.0.0.0/0 和::/0。

我该如何解决这个问题?

【问题讨论】:

  • 他们在同一个 VPC 中吗?
  • @deosha 是的,它们在同一个 VPC 中。

标签: amazon-web-services amazon-ec2 aws-security-group network-security-groups


【解决方案1】:

首先,应用服务器应该通过私有IP地址与数据库服务器通信。这将使所有流量保持在 VPC 内,并使安全组能够正常工作。

其次,配置安全组:

  • App-SG 应该与应用程序服务器相关联,并允许在应用程序的适当端口(例如 80、443)上传入流量
  • DB-SG 应该与数据库服务器相关联,并允许来自 App-SG 的端口 3306 上的传入流量

即DG-SG通过引用App-SG的ID,允许来自App-SG的入站流量。 无需指定 IP 地址。安全组将自动识别流量并允许应用服务器向数据库服务器发送流量。由于安全组是有状态的,因此也将允许返回流量。

您必须通过私有 IP 地址与数据库服务器通信才能使其正常工作。

【讨论】:

  • 感谢您提供详细信息。但我只是希望 DB-server 不会被任何其他 IP 地址访问。假设,只有我想在 3306 端口访问数据库服务器,所以我找到了我的笔记本电脑公共 IP 并放入 MYSQL。因此,我需要这样的方式。你的回答也不错。但我也想拒绝所有其他公共访问。
  • 安全组默认拒绝所有入站流量。您必须向安全组添加规​​则以定义允许的流量。
猜你喜欢
  • 2018-05-24
  • 2015-08-01
  • 2017-08-09
  • 2017-02-15
  • 2019-07-18
  • 2015-09-01
  • 1970-01-01
  • 2018-10-08
  • 2016-03-09
相关资源
最近更新 更多