我想将经典负载均衡器迁移到应用程序负载均衡器或网络负载均衡器。我该如何操作? 迁移之前需要考虑哪些最佳实践? 迁移期间是否会发生停机?
解决方法
将经典负载均衡器迁移到应用程序负载均衡器或网络负载均衡器
使用迁移向导创建和配置应用程序负载均衡器或网络负载均衡器。如果经典负载均衡器具有 TCP 侦听器,则向导将创建网络负载均衡器。如果经典负载均衡器具有 HTTP(S) 侦听器,则向导将创建应用程序负载均衡器。创建负载均衡器后,测试新创建的负载均衡器。如果您新创建的负载均衡器运行没有任何问题,请将流量从经典负载均衡器重新导向到新创建的负载均衡器。
**注意:**向导将创建新的负载均衡器。向导不会将现有的经典负载均衡器转换为应用程序负载均衡器或网络负载均衡器。您必须手动将流量重新导向到新创建的负载均衡器。
然后,更新所有策略、脚本和代码。在将所有流量重新导向到新负载均衡器并且旧负载均衡器上的所有现有请求都已完成后,请删除旧负载均衡器。
迁移注意事项
- 如果您的负载均衡器只有一个子网,请确保在创建应用程序负载均衡器时指定第二个子网。应用程序负载均衡器至少需要两个子网。
- 如果您不确定要迁移到哪个负载均衡器,请考虑使用网络负载均衡器。如果经典负载均衡器使用 HTTP 或 HTTPS 侦听器,则迁移到应用程序负载均衡器。如果经典负载均衡器使用 TCP 侦听器,则迁移到网络负载均衡器。有关不同负载均衡器功能的更多信息,请参阅弹性负载均衡功能。
- 通过经典负载均衡器,您可以关闭跨区负载均衡。默认情况下,应用程序负载均衡器已启用跨区负载均衡,并且无法关闭该负载均衡。使用网络负载均衡器,您可以关闭跨区负载均衡。
- 应用程序负载均衡器可以在负载均衡器本身支持请求重新导向。如果将经典负载均衡器的后端连接配置为 HTTP 重新导向,则可以在迁移到新负载均衡器期间关闭或删除重新导向。
- 网络负载均衡器不支持负载均衡器级别的安全组。您可以使用与目标关联的安全组来限制流量。在网络负载均衡器级别,您可以使用子网的网络访问控制列表(ACL)来限制流量。
- 网络负载均衡器能够保留客户端 IP 地址。如果您使用安全组限制目标上的流量,请注意数据包的源 IP 包括客户端 IP 地址。
负载均衡器迁移期间的停机时间
如果新的负载均衡器设置有错误,则迁移期间可能会出现停机。要最小化或减少停机时间,请考虑以下方法:
- 在转移任何生产流量之前,请对新的负载均衡器运行测试。确保新的负载均衡器可以处理流量请求。
- 使用 Amazon Route 53 的加权路由策略将流量逐步路由到新的负载均衡器。如果您发现新负载均衡器存在问题,请为流量权重分配值“0”。
- 如果 Route 53 未用作 DNS 提供程序,请保持旧的负载均衡器运行。将现有记录的生存时间(TTL)值减小为“0”。然后,等待之前的 TTL 值重置并将记录更新为指向新的负载均衡器 DNS 名称。如果新负载均衡器出现任何问题,请更新 DNS 记录以指向经典负载均衡器的 DNS 名称。TTL 值“0”会阻止记录被缓存。问题解决后,将 TTL 值恢复为原始值。
- 如果新负载均衡器运行时没有任何问题,请删除旧的负载均衡器。
**注意:**新一代负载均衡器不同时支持 HTTP/HTTPS 和 TCP 侦听器。如果您同时将经典负载均衡器与 HTTP/HTTPS 和 TCP 侦听器一起使用,则最佳做法是将网络负载均衡器与所有 TCP/TLS 侦听器一起使用。进行此更改后,您将失去 HTTP/HTTPS 级别的日志记录,因为 NLB 中没有应用程序级路由来提供此功能。另一种选择是继续使用经典负载均衡器。