【问题标题】:ssh to private ec2 instance behind internet-facing NLBSSH 到面向 Internet 的 NLB 后面的私有 ec2 实例
【发布时间】:2020-04-26 14:54:29
【问题描述】:

这是我的设置:

  1. 我在 us-east-1a 中有 3 个实例
    • instanceA 位于具有公共 IP 的公共子网中
    • instanceB 位于没有公共 IP 的私有子网中
    • instanceC 位于具有公共 IP 的公共子网中
  2. 我将 instanceC 放在 NLB 后面。 NLB 位于公共子网 us-east-1a 和 us-east-1b
  3. instanceC 的安全组是:
    • 允许来自 instanceA 的公共 IP 的 SSH
    • 允许来自 instanceB 的私有 IP 的 SSH

我可以直接从 instanceA 和 B SSH 到 instanceC,没有任何问题。 但是每当我 ssh 到 NLB 的 DNS 时,我只能从 instanceA 连接。 每当我从 instanceB SSH 到 NLB 时,就会出现连接超时。

我检查了 NLB 的网络接口,发现每个 NLB 的可用区都有一对公共和私有 IP。

从 instanceA,我可以 ssh 到 NLB 的公共 IP 地址,但我不能 ssh 到 NLB 的 privateIP。 从 instanceB,我可以 ssh 到 NLB 的私有 IP 地址,但我不能 ssh 到 NLB 的公共 IP

现在,我尝试 ssh -vvv NLB,我可以看到我正在尝试连接到 NLB 的公共 IP。这可能是我无法从 instanceB 连接到 NLB 的原因,因为正如我上面所说,instanceB 只能连接到 NLB 的私有 IP。

我尝试修改 InstanceC 的 sg 并允许 ssh 从 0.0.0.0/0 并且我可以成功地从 instanceB 访问 NLB。但这不是我想要的。我不想让每个人都通过 NLB 访问 instanceC。

我希望instanceB 也能够像instanceA 一样通过NLB ssh 到instanceC。我怎样才能做到这一点? sg、nlb、az等需要修改什么?

谢谢!

【问题讨论】:

  • “ssh 到 NLB 的 DNS”是什么意思?您不应该通过负载均衡器使用 SSH,因为流量可以在多个实例之间拆分。

标签: amazon-web-services amazon-ec2 ssh nlb


【解决方案1】:

仅解决您问题的一个方面...

您应避免将 Amazon EC2 实例的 IP 地址放入安全组。如果您希望允许两个实例通信(例如实例 A 与实例 C 通信),您应该配置:

  • 实例 A (SG-A) 上的安全组,允许来自 Internet 的传入流量(可能)
  • 实例 C (SG-C) 上的安全组,允许来自 SG-A 的入站流量

也就是说,SG-C 应该专门引用SG-A。此引用将自动转换为安全组 ID(例如 sg-xxx)。这意味着SG-A 关联的任何实例都将被允许在给定端口上与SG-C 关联的任何实例进行入站连接

这种方法的好处是可以替换实例或更改 IP 地址,而不会影响安全组。您还可以将其他实例添加到这些安全组中,它们将被自动授予相同的权限。

底线:避免引用安全组内的特定私有 IP 地址。

【讨论】:

    【解决方案2】:

    我认为通过将实例 B 的安全组添加到实例 C 的安全组中,您可以通过 NLB 与实例 B 连接到实例 C:

    所以向实例 C 的 sg 添加一个入站规则,如图所示,并指定实例 B 的 sg

    【讨论】:

      【解决方案3】:

      感谢奈尔和约翰!

      我忘了提到每个实例属于不同的 VPC。 InstanceA 和 NLB 属于同一个 VPC。

      我能够通过授予对 instanceB 的 VPC 的 natgateway publicIP 的 ssh 访问权限来解决我的问题。 这样做可以让我从 instanceB SSH NLB 的公共 IP。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-04
        • 1970-01-01
        • 2016-02-23
        • 2021-03-30
        • 2020-07-03
        • 1970-01-01
        • 2018-08-10
        • 1970-01-01
        相关资源
        最近更新 更多