【发布时间】: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)...
【问题讨论】:
-
“我可以将弹性 IP 用于 NLB,但为此我需要更改现有子网。” 这表明您的 NLB 不在公共子网上,这似乎是一个要求。 "You can target an Application Load Balancer or an EC2 instance in a private subnet using AWS Global Accelerator..." 但未提及 NLB。 GA 连接到不同类型的平衡器的方式不一样,因此要求不同。这是一个可能的解释吗?
-
@Michael-sqlbot 我正在使用公共子网(我已将 Internet 网关设置为 0.0.0.0/0),所有实例都可以从 Internet 访问:/
标签: amazon-web-services terraform-provider-aws