【问题标题】:Adding a public static ipv4 address to an AWS load balancer将公共静态 ipv4 地址添加到 AWS 负载均衡器
【发布时间】:2017-12-22 00:44:09
【问题描述】:

我有一个负载平衡器配置为具有 IPV4 IP 地址。但是,提供的 IP 是到负载均衡器的 DNS 映射 IP 地址,格式为 *.ap-south-1.elb.amazonaws.com。

我需要配置 IOT 设备以将数据发送到负载均衡器,但它们不支持 DNS。如何将像 ... 这样的静态 IP 地址分配给我的负载均衡器,以便我可以配置我的 IOT 设备以向其发送数据。

弹性 IP 部分不提供将其分配给负载均衡器的工具,仅支持 ec2 实例。

结论:

我找到了一种在我的 IOT 设备上使用 DNS 的方法,并且对此进行处理至关重要。我现在知道在 EC2 实例上手动托管负载均衡器的选项。一个更简单的替代方案是将弹性 IP 寻址 EC2 实例上的所有请求转发到负载均衡器。但是,这将导致透明代理出现瓶颈。因此,我认为在 IOT 设备上使用 DNS 功能是最好的选择。

【问题讨论】:

  • ELB 是一项依赖 DNS 的托管服务,您无法配置静态 IP。考虑使用在 EC2 上运行的 HAProxy 之类的东西,带有弹性 IP。
  • 这是一个合适的解决方案,手动管理吗?

标签: amazon-web-services dns ipv4


【解决方案1】:

弹性负载均衡器不支持静态 IP 地址。它们仅支持 DNS CNAME(或别名,如果您使用的是 Route 53)。这是因为 ELB DNS 条目将解析为不同的 IP 地址,具体取决于它在可用区之间的扩展方式。此外,随着时间的推移,IP 地址会/可能会发生变化。

AWS 文档还特别指出,仅在将自定义 DNS 条目映射到您的 ELB 时才创建 CNAME 记录。如果您使用的是 Route 53,则可以创建别名记录,在外界看来,它就像是 A 记录。

如果您需要静态 IP 地址,则不能使用 ELB。

相反,您需要使用弹性 IP 地址在 EC2 实例上管理自己的负载均衡器(HAProxy、nginx 等)。

【讨论】:

  • 如果我创建一个 EC2 实例将请求转发到我的负载均衡器会怎样?
  • 你可以这样做。但就像使用 HAProxy 或 nginx 一样,您需要管理代理上的负载,因为所有请求都将通过单个实例。与 ELB 的可用容量相比,您的单个 EC2 实例可能会成为瓶颈。
  • 我明白了,你能想出更好的选择吗?
  • 如果您需要单个静态 IP 地址,那么我认为没有其他选择。单个静态 IP 地址只能解析到单个服务器。您可以尝试类似 AWS Kinesis 之类的东西,它旨在注入 IoT 流量。
  • 您的 IoT 设备不支持 DNS 的事实有点可怕:如果您的 IP 地址因某种原因必须更改,会发生什么情况?您的物联网设备现在是简单的纸张重量吗?
【解决方案2】:

无法使用弹性负载平衡器分配静态 IP。您只需要使用 DNS 名称。

我知道这样做的唯一方法是在 VPC 中设置您的实例并使用专用的 NAT 实例来路由所有出站流量。

这里是关于如何设置 NAT 实例的 AWS 文档的链接:

http://docs.amazonwebservices.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html

【讨论】:

  • NAT 实例(和 NAT 网关)用于出站流量,而不是入站流量。
【解决方案3】:

由于多种原因,AWS Elastic Load Balancer 不支持分配静态 IP 地址。

看看您的问题,您面临的问题是有大量数据源将数据泵送到 AWS。我建议您使用 AWS Kinesis Firehose 服务而不是当前的方法,因为 Firehose 专门专注于将数据流式传输到 AWS。

【讨论】:

    猜你喜欢
    • 2018-04-22
    • 2012-11-25
    • 1970-01-01
    • 2018-12-18
    • 2020-09-23
    • 2016-04-05
    • 1970-01-01
    • 2015-11-22
    • 2020-02-20
    相关资源
    最近更新 更多