【问题标题】:How to load balance AWS private subnet EC2 instances如何负载平衡 AWS 私有子网 EC2 实例
【发布时间】:2019-01-08 04:56:34
【问题描述】:

如果我创建 ELB 并尝试附加私有子网实例,我的运行状况检查将失败:OutOfService。

问题 1:我能否为负载平衡获取内部/私有 IP(不是 IP,而是 dns 名称)。即无法访问互联网?

问题 2:如果我的 Application Load Balancer 有一个公共 dnsname。如何在没有弹性 IP 的情况下附加位于我的私有子网中的 EC2 实例(无法访问 Internet)。 我正在寻找最好的方法。我们应该-

ELB --> 公有子网 EC2 实例(代理配置- */* [private_ip]:[port]/* ) ---> 来自私有子网/EC2 实例的服务,在此处进行健康检查。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 reverse-proxy amazon-elb


    【解决方案1】:

    传统的架构是:

    • 公共子网中的弹性负载均衡器
    • 私有子网中的 Amazon EC2 实例
    • 负载均衡器上的安全组允许来自 0.0.0.0/0 的端口 80 和 443
    • 实例上的安全组允许来自 负载均衡器安全组的端口 80
    • 一个 Amazon Route 53 托管区域,其中有一个 CNAME 记录集指向负载均衡器的 DNS 名称

    如果您的实例未通过负载均衡器运行状况检查,请检查以下内容:

    • 实例应具有允许来自负载均衡器的入站访问的安全组
    • 负载均衡器运行状况检查应配置有用于运行状况检查的网页路径
    • 实例应该有一个正常运行的 Web 服务器来响应运行状况检查

    【讨论】:

      【解决方案2】:

      如果您使用的是 ELB,我建议您使用 Auto Scaling Group 将实例放置在各种 AZ/子网中。 看看这个tutorial。拥有 ASG 的好处是您可以选择性地扩大/我们的政策。

      您描述的 ELB 架构(假设这是公共的)-> 公共 EC2 实例(作为代理)-> 私有 EC2 实例。

      相反,您可以让您的私有 EC2 实例以 ELB 为前端。不确定您是否真的需要公共 EC2 实例。

      如果您的健康检查未通过,您需要确保:

      一个。您正在正确的 VPC 中创建 ELB。

      b.通过确保您在 EC2 实例上设置正确的Security Groups,正确设置了 ELB -> EC2 通信。 强烈推荐的方法是设置 EC2 实例 SG 规则,使其仅接受来自 ELB 的 SG 的流量。

      【讨论】:

        猜你喜欢
        • 2018-09-05
        • 1970-01-01
        • 2019-01-18
        • 1970-01-01
        • 1970-01-01
        • 2014-07-28
        • 2013-10-25
        • 2017-01-15
        • 1970-01-01
        相关资源
        最近更新 更多