迁移您的经典负载均衡器 - Elastic Load Balancing

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

迁移您的经典负载均衡器

Elastic Load Balancing 支持以下类型的负载均衡器:应用程序负载均衡器、网络负载均衡器、网关负载均衡器和经典负载均衡器。有关每种负载均衡器类型的不同功能的信息,请参阅 Elastic Load Balancing 产品对比

您也可以选择将 VPC 中的现有 Classic 负载均衡器迁移到应用程序负载均衡器或网络负载均衡器。

从经典负载均衡器迁移的好处

每种类型的负载均衡器都有自己独特的特性、功能和配置。查看每种负载均衡器的优点,以帮助确定哪一种最适合您。

Application Load Balancer

使用应用程序负载均衡器代替 Classic 负载均衡器具有以下好处:

Support for:

  • 路径条件主机条件HTTP 标头条件

  • 将请求从一个 URL 重定向到另一个 URL,并将请求路由到单个 EC2 实例上的多个应用程序。

  • 返回自定义 HTTP 响应。

  • 通过 IP 地址注册目标,并将 Lambda 函数注册为目标。包括负载均衡器的 VPC 之外的目标。

  • 通过企业或社交身份对用户进行身份验证。

  • 亚马逊弹性容器服务 (Amazon ECS) Service 容器化应用程序。

  • 独立监控每项服务的运行状况。

访问日志包含其他信息,并以压缩格式存储。

提高了负载均衡器的整体性能。

Network Load Balancer

使用网络负载均衡器代替 Classic 负载均衡器具有以下好处:

Support for:

  • 静态 IP 地址,允许为负载均衡器启用的每个子网分配一个弹性 IP 地址。

  • 按 IP 地址注册目标,包括负载均衡器的 VPC 之外的目标。

  • 将请求路由到单个 EC2 实例上的多个应用程序。

  • 亚马逊弹性容器服务 (Amazon ECS) Service 容器化应用程序。

  • 独立监控每项服务的运行状况。

可以处理急剧波动的工作负载,并可以扩展到每秒处理数百万个请求。

使用迁移向导进行迁移

迁移向导使用 Classic Load Balancer 的配置来创建等效的应用程序负载均衡器或网络负载均衡器。与其他方法相比,它减少了迁移 Classic Load Balancer 所需的时间和精力。

注意

向导将创建一个新的负载均衡器。该向导不会将现有的 Classic Load Balancer 转换为应用程序负载均衡器或网络负载均衡器。您必须手动将流量重定向到新创建的负载均衡器。

限制
  • 新负载均衡器的名称不能与同一区域中相同类型的现有负载均衡器的名称相同。

  • 如果 Classic Load Balancer 有任何标签的密钥中包含aws:前缀,则不会迁移这些标签。

迁移到 Application Load Balancer 时
  • 如果 Classic Load Balancer 只有一个子网,则必须指定第二个子网。

  • 如果 Classic Load Balancer 有使用 TCP 运行状况检查的 HTTP/HTTPS 侦听器,则运行状况检查协议将更新为 HTTP,路径设置为 “/”。

  • 如果 Classic Load Balancer 的 HTTPS 侦听器使用自定义或不支持的安全策略,则迁移向导将使用新的负载均衡器类型的默认安全策略。

迁移到 Network Load Balancer 时
  • 以下实例类型不会在新目标组中注册:C1、CC1、CC2、CG1、CG2、CR1、CS1、G1、G2、HI1、HS1、M1、M2、M3、T1、M2、M3、T1

  • Classic Load Balancer 中的某些运行状况检查设置可能无法转移到新的目标组。这些案例将在迁移向导的摘要部分中显示为更改。

  • 如果 Classic Load Balancer 有 SSL 侦听器,则迁移向导会使用 SSL 侦听器中的证书和安全策略创建 TLS 侦听器。

使用迁移向导迁移 Classic Load Balancer
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的负载均衡下,选择负载均衡器

  3. 选择要迁移的 Classic Load Balancer。

  4. 在负载均衡器详细信息部分,选择启动迁移向导

  5. 选择 “迁移到 Application Load Balancer” 或 “迁移到 Network Load Balancer”,打开迁移向导。

  6. 名称新负载均衡器下,在负载均衡器名称中输入您的新负载均衡器的名称。

  7. 在 “命名新目标组并查看目标” 下,在目标组名称中输入新目标组的名称。

  8. (可选)在 “目标” 下,您可以查看将在新目标组中注册的目标实例。

  9. (可选)在 Review 标签下,您可以查看将应用于新负载均衡器的标签

  10. 在 App lication Load Balancer 的摘要或 Network Load Balancer 的摘要下,查看并验证迁移向导分配的配置选项。

  11. 对配置摘要感到满意后,选择创建应用程序负载均衡器创建网络负载均衡器以开始迁移。

使用负载平衡器复制实用程序进行迁移

该 AWS GitHub 页面上的 Elastic Load Balancing Tools 存储库中提供了负载均衡器复制工具。

手动迁移您的负载均衡器

以下信息提供了基于 VPC 中的现有经典负载均衡器手动创建新的 Application Load Balancer 或 Network Load Balancer 的常规说明。您可以使用 AWS Management Console AWS CLI、或 AWS SDK 进行迁移。有关更多信息,请参阅 Elastic Load Balancing 入门

在迁移过程完成后,您就可以利用新负载均衡器的功能了。

步骤 1:创建新负载均衡器

创建配置等效于经典负载均衡器的负载均衡器以进行迁移。

  1. 创建具有与经典负载均衡器相同的模式(面向 Internet 或内部)、子网和安全组的新负载均衡器。

  2. 使用与经典负载均衡器相同的运行状况检查设置为负载均衡器创建一个目标组。

  3. 请执行下列操作之一:

    • 如果您的经典负载均衡器已附加到 Auto Scaling 组,请将目标组附加到 Auto Scaling 组。这样还可以向目标组注册 Auto Scaling 实例。

    • 向目标组注册您的 EC2 实例。

  4. 创建一个或多个侦听器,每个都具有将请求转发到目标组的默认规则。如果创建 HTTPS 侦听器,则可指定您为经典负载均衡器所指定的同一证书。建议您使用默认安全策略。

  5. 如果您的经典负载均衡器具有标签,请进行检查并将相关标签添加到新负载均衡器。

步骤 2:逐步将流量重定向到您的新负载均衡器

在向新负载均衡器注册您的实例后,您可以开始将流量从旧负载均衡器重定向到新负载均衡器的过程。这使您能够测试新的负载均衡器,同时将应用程序可用性风险降至最低。

逐步将流量重定向到您的新负载均衡器
  1. 将新负载均衡器的 DNS 名称粘贴到已连接 Internet 的 Web 浏览器的地址栏中。如果一切正常,浏览器会显示您应用程序的默认页面。

  2. 创建一个用于将域名与您的新负载均衡器关联的新 DNS 记录。如果您的 DNS 服务支持权重,则在新 DNS 记录中指定权重为 1;对于您的旧负载均衡器的现有 DNS 记录,指定权重为 9。这样可以将 10% 的流量定向到新负载均衡器,而将 90% 的流量定向到旧负载均衡器。

  3. 监控您的新负载均衡器,验证它能否接收流量并将请求路由到您的实例。

    重要

    DNS 记录中的 time-to-live (TTL) 为 60 秒。这意味着,解析域名的任何 DNS 服务器在其缓存中保留记录信息的时间为 60 秒,同时更改会传播。因此,在您完成上一步后,这些 DNS 服务器仍然可以在 60 秒内将流量路由到旧负载均衡器。在传输过程中,流量可以定向到任一负载均衡器。

  4. 继续更新您的 DNS 记录的权重,直到所有流量都定向到您的新负载均衡器。完成后,您可以删除旧负载均衡器的 DNS 记录。

步骤 3:更新策略、脚本和代码

如果要将经典负载均衡器迁移到 Application Load Balancer 或 Network Load Balancer,请务必执行以下操作:

  • 将使用 API 版本 2012-06-01 的 IAM 策略更新为使用版本 2015-12-01。

  • 更新使用AWS/ELB命名空间中 CloudWatch 指标的进程,以使用AWS/ApplicationELBAWS/NetworkELB命名空间中的指标。

  • 更新使用命令来使用aws elb AWS CLI 命令的脚本。aws elbv2 AWS CLI

  • 更新使用AWS::ElasticLoadBalancing::LoadBalancer资源来使用AWS::ElasticLoadBalancingV2资源的 AWS CloudFormation 模板。

  • 将使用 Elastic Load Balancing API 版本 2012-06-01 的代码更新为使用版本 2015-12-01。

资源
步骤 4:删除旧负载均衡器

您可以在完成以下步骤后删除旧经典负载均衡器:

  • 您已将旧负载均衡器的所有流量重定向到新负载均衡器。

  • 已完成路由到旧负载均衡器的所有现有请求。