【问题标题】:How to limit the access to EC2 from NLB only如何限制仅从 NLB 访问 EC2
【发布时间】:2020-02-27 10:35:11
【问题描述】:

问题

有没有办法确保访问仅来自特定的 NLB?在当前的 NLB 限制下,我不确定是否有办法。

限制

  • AWS 网络负载均衡器 (NLB) 没有安全组 (SG),因此无法使用 SG 来验证源是 NLB。

  • NLB(instance ID target)保留外部客户端的源IP地址,因此无法使用源IP验证源是NLB。

参考文献

【问题讨论】:

    标签: amazon-web-services aws-load-balancer nlb


    【解决方案1】:

    您可以做到这一点的一种方法是,将 NLB 及其 EC2 配置在仅为它们保留的单独私有子网中,并确保您的路由规则不允许 VPC 中的其他子网路由到隔离的私有子网。

    【讨论】:

    • 或者...子网可以有一个 NACL 来阻止来自 VPC CIDR 范围的流量,因此只允许外部访问子网。 (我还没有测试过。)
    【解决方案2】:

    你可以把EC2放在NAT子网上,然后通过NLB指向这个EC2。这样,虽然您的 EC2 安全组设置为 0.0.0.0/0,但只有 NLB 可以访问它。

    【讨论】:

    • 请详细说明如何阻止 NLB 以外的流量。
    【解决方案3】:

    AWS NLB Document - Target Security Groups 一样,如果目标类型是实例,则无法识别 NLB 并确保仅来自 NLB 的访问。需要使用访问NLB的客户端IP地址。

    限制
    网络负载均衡器没有关联的安全组。因此,目标的安全组必须使用 IP 地址以允许来自负载平衡器的流量。

    您不能使用目标的安全组中的客户端的安全组,通过负载均衡器允许从客户端到目标的流量。 使用目标安全组中的客户端 CIDR 块

    【讨论】:

      【解决方案4】:

      将 EC2 机器放在私有子网中,如果它们需要访问互联网,请将目标 0.0.0.0/0 的路由表设置为 nat gateway id。所以 EC2 机器可以通过 nat 访问互联网,但没有人可以从 vpc 外部访问您的 ec2 实例。

      然后您可以为您的 EC2 实例设置入站规则,即使是 0.0.0.0/0。同样,没有人(在 vpc 之外)可以直接访问您的 EC2 实例,因为它们是私有子网。如果您设置 NLB 并在其上附加 EC2 实例,则仅允许连接(根据您的 NLB 侦听器规则)到实例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-04
        • 2023-03-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多