具有生产和故障转移功能的 AWS ELB 应用程序负载均衡器

Posted

技术标签:

【中文标题】具有生产和故障转移功能的 AWS ELB 应用程序负载均衡器【英文标题】:AWS ELB Application Load Balancer with production and failover 【发布时间】:2021-12-19 08:27:17 【问题描述】:

我正在努力让我的 AWS ELB 应用程序负载均衡器正常工作。

我正在尝试为 2 个不同的目标组、生产和故障转移设置 100/0 权重。只有当生产中断时,流量必须路由到故障转移,在所有其他情况下,所有流量都必须转到生产。

我已经设置好了,但是当生产下降时,它不会切换,它只会给出 502。

是否有可能在 100% 的时间内将流量发送到生产环境,并且仅在出现故障时进行故障转移,然后在再次恢复时返回生产环境?侦听器是 100 到 prod 和 0 到故障转移,但它永远不会切换到故障转移。

或者这对于 ELB 是不可能的?

【问题讨论】:

你是怎么设置的? @Marcin 1) 2 个不同目标组中的 2 个 ec2 实例 2) ELB 侦听端口 80 (http) 并将流量重定向到端口 443 (https) 3) 第二个侦听器指向 2 个目标组,第一个权重为 100,第二个权重为 0 4)但是如果我在第一个 ec2 上关闭 apache,它不会重定向到第二个目标组并显示网关错误 【参考方案1】:

存在目标组权重以支持 A/B 测试,支持故障转移。

通常,您会为您的 ALB 配置多个目标在同一个目标组中,然后使用 health check。但是,这假设所有服务器都可以一直接受流量。请注意,如果目标组中的所有服务器都不可用,目标组仍会收到流量(在该链接中搜索“失败打开”)。

如果您确实需要仅在第一个服务器出现故障时才切换到一组单独的服务器,那么您需要使用 DNS 故障转移 use Route53 health checks。这意味着创建两个 ELB。

意见:DNS 故障转移仅适用于处理整个区域出现故障的情况。这意味着您需要复制所有内容,并有办法处理任何数据库的跨区域更新。

【讨论】:

以上是关于具有生产和故障转移功能的 AWS ELB 应用程序负载均衡器的主要内容,如果未能解决你的问题,请参考以下文章

使用AWS ELB将域名添加到ECS应用程序

AWS CodeDeploy蓝色/绿色部署ELB体系结构

当您的实例位于 ELB 之后时,您如何为 AWS 建立维护页面?

AWS - Elastic Load Balancing 是不是真的阻止了 LOAD BALANCER 故障转移?

在 AWS ELB 上运行 Docker 容器,连接到主机节点应用程序

在 ELB 后面可访问的 AWS EB url