仅将 api 流量路由到其他 AWS EC2 实例
Posted
技术标签:
【中文标题】仅将 api 流量路由到其他 AWS EC2 实例【英文标题】:Route only api traffic to other AWS EC2 instance 【发布时间】: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 中。 【参考方案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。因此,我需要这样的方式。你的回答也不错。但我也想拒绝所有其他公共访问。 安全组默认拒绝所有入站流量。您必须向安全组添加规则以定义允许的流量。以上是关于仅将 api 流量路由到其他 AWS EC2 实例的主要内容,如果未能解决你的问题,请参考以下文章
AWS Application Load Balancer HTTP到HTTPS与EC2实例
AWS VPC - 更改路由表后无法从 ec2 实例 ping
如何将 AWS Application Load Balancer 路由到托管在同一 EC2 实例上的适当网络服务器?