【问题标题】:AWS - Global Accelerator not working with Network Load BalancerAWS - 全球加速器不与网络负载均衡器一起使用
【发布时间】:2020-04-21 12:03:02
【问题描述】:

我有一个网络负载均衡器和一个应用程序负载均衡器,它们工作得很好,但由于我需要固定的 IP/主机名,我决定为每一个创建一个全局加速器。

全局加速器与应用程序负载均衡器一起工作,但与网络负载均衡器没有响应...
示例:

ALB:

$ nc -zv <application-load-balancer>.awsglobalaccelerator.com 80
Connection to <application-load-balancer>.awsglobalaccelerator.com 80 port [tcp/*] succeeded!

NLB:

$ nc -zv <network-load-balancer>.awsglobalaccelerator.com 1883
nc: connect to <network-load-balancer>.awsglobalaccelerator.com port 1883 (tcp) failed: Connection timed out

我已将 NLB 的健康检查端口配置更改为 1883,并且全局加速器显示为“所有健康”。 正如我所说,网络负载均衡器本身可以工作:

$ nc -zv <network-load-balancer>.elb.sa-east-1.amazonaws.com 1883
Connection to <network-load-balancer>.elb.sa-east-1.amazonaws.com 1883 port [tcp/*] succeeded!

两个负载均衡器非常相似(相似的实例、相同的 VPC、子网等)。
AWS 文档说我可以将 Global Accelerator 与两种类型的负载均衡器一起使用。

我不知道为什么 NLB 全球加速器没有响应。
我错过了什么?

更多信息:
- 我正在 sa-east-1 地区(南美)进行测试
- 我需要全局加速器,因为 LB 是用于部署的 terraform 的一部分,因此对于每次构建,LB 主机名都会更改
- 我可以将弹性 IP 用于 NLB,但要做到这一点,我需要更改我现有的子网(据我所知,我不能将弹性 IP 用于 ALB)...

【问题讨论】:

标签: amazon-web-services terraform-provider-aws


【解决方案1】:

如果静态 ip 是您唯一需要实现的目标,那么我不会同时使用 Global Accelerator 和 NLB。因为两者都提供了静态ip的特性。

对于静态 IP 设施,有 2 个选项

  1. 在ALB之上使用全局加速器(配置简单,成本高)

  2. 使用 NLB 并将您的请求转发给 ALB(复杂的配置和成本效益)

对于第二个选项,您可以从以下链接获得参考。 https://www.bluematador.com/blog/static-ips-for-aws-application-load-balancer

【讨论】:

  • 很晚的回复:最后我设法使用 terraform 将弹性 IP 分配给我的 NLB 没有问题,看起来使用 AWS 控制台和 AWS CLI/terraform 有不同的行为,因为我无法分配弹性 IP 而不会失去使用控制台自动公共 IP 的能力。此外,我必须为每个可用区分配一个弹性 IP,这对我来说远非理想,但这是在 NLB 上实现静态 IP 的唯一方法。这就是我在 NLB 之上考虑 Global Accelerator 的原因。我不能使用 ALB,因为我的服务使用了很多端口,ALB 仅适用于 80/443
猜你喜欢
  • 2021-12-04
  • 2021-01-10
  • 1970-01-01
  • 2018-04-02
  • 2019-12-30
  • 2019-10-13
  • 2022-01-26
  • 2017-08-09
  • 2021-07-16
相关资源
最近更新 更多