我正在尝试使用 ELB 部署一些 nodejs 站点,并且 ELB 和 EC2 实例的安全组都存在一些问题。
我想做的是允许 ELB 接受端口 80 请求并将这些请求转发到 EC2 实例上的端口 3000,我不希望 EC2 实例可以直接从 Internet 访问,它们应该只能访问(在端口 3000)通过负载均衡器。
因此,在我的公共子网中的 VPC 中,我有:
- 设置一个将 80 (HTTP) 转发到 3000 (HTTP) 的 ELB
- 接受来自 0.0.0.0/0 的端口 80 上的入站流量的安全组
- 在端口 3000 上运行节点的 EC2 实例
- 接受来自ELB 实例的安全组的3000 端口入站流量的安全组
这是行不通的。如果在 EC2 实例上我允许来自 0.0.0.0/0 的端口 3000,它可以工作。
但随后我可以使用实例的公共 IP 访问实例,而无需通过负载均衡器。
据我了解,这应该是可能的,还是我错过了什么?
谢谢,乔