【问题标题】:AWS Load Balancer Security GroupsAWS 负载均衡器安全组
【发布时间】:2014-03-09 22:44:08
【问题描述】:

我正在尝试使用 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 访问实例而无需通过负载均衡器。

据我了解,这应该是可能的,还是我遗漏了什么?

谢谢, 乔

【问题讨论】:

    标签: node.js amazon-web-services amazon-ec2 amazon-elb amazon-vpc


    【解决方案1】:

    听起来要么LB不在VPC中,要么你的服务器所在的安全组不在VPC中。

    在下面附上一些图片:

    【讨论】:

      【解决方案2】:

      除了你已经拥有的,你还需要这些:

      设置一个将 80 (HTTP) 转发到 3000 (HTTP) 的 ELB 接受来自 0.0.0.0/0 的端口 80 上的入站流量的安全组

      您还需要在端口 3000 上从 ELB 到运行 EC2 实例的私有子网进行出站访问。

      这不起作用。如果在 EC2 实例上我允许来自 0.0.0.0/0 的端口 3000,它可以工作。

      这让我相信您的 EC2 实例正在您的 VPC 的公共子网中运行。它应该在 VPC 的私有子网中运行。

      此外,请确保您的 ELB 正在您的 VPC 的公共子网中运行。

      【讨论】:

      猜你喜欢
      • 2017-08-09
      • 1970-01-01
      • 2022-01-26
      • 2019-09-03
      • 2014-12-18
      • 2020-07-24
      • 2014-01-04
      • 1970-01-01
      • 2018-01-24
      相关资源
      最近更新 更多