迁移您的 Classic Load Balancer - Elastic Load Balancing
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

迁移您的 Classic Load Balancer

Elastic Load Balancing 提供三种类型的负载均衡器:Classic Load Balancer、Application Load Balancer 和 Network Load Balancer。有关每种负载均衡器类型的不同功能的信息,请参阅 Elastic Load Balancing 产品对比

迁移方案

  1. 如果 VPC 中已有 Classic Load Balancer,请验证 Application Load Balancer 或 Network Load Balancer 能否满足您的需求,然后将 Classic Load Balancer 迁移到这些负载均衡器类型之一。

  2. 如果 EC2-Classic 中已有 Classic Load Balancer,请验 Application Load Balancer 或 Network Load Balancer 能否满足您的需求,然后将 Classic Load Balancer 迁移到这些负载均衡器类型之一。否则,请迁移到 VPC 中的 Classic Load Balancer。您可以将实例保留在 EC2-Classic 中,并启用 ClassicLink 以将实例链接到负载均衡器 VPC,也可以将实例从 EC2-Classic 迁移到 VPC。

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

创建配置等效于 Classic Load Balancer 的负载均衡器以进行迁移。在迁移过程完成后,您就可以利用新负载均衡器的功能了。

要创建 Application Load Balancer 或 Network Load Balancer 以替换 VPC 中的 Classic Load Balancer,请使用以下选项之一:

要在 VPC 中创建 Classic Load Balancer 以替换 EC2-Classic 中的 Classic Load Balancer,请使用以下选项:

选项 1:在控制台中使用迁移向导

迁移向导会根据 VPC 中 Classic Load Balancer 的配置创建 Application Load Balancer 或 Network Load Balancer。所创建的负载均衡器的类型取决于 Classic Load Balancer 的配置。

迁移向导发布说明

  • Classic Load Balancer 必须位于 VPC 中。

  • 如果 Classic Load Balancer 具有 HTTP 或 HTTPS 侦听器,则向导将创建 Application Load Balancer。如果 Classic Load Balancer 具有 TCP 侦听器,则向导将创建 Network Load Balancer.。

  • 如果 Classic Load Balancer 的名称与现有 Application Load Balancer 或 Network Load Balancer 的名称匹配,则向导将要求您在迁移过程中指定其他名称。

  • 如果 Classic Load Balancer 有一个子网,则向导将要求您在创建 Application Load Balancer 时指定第二个子网。

  • 如果 Classic Load Balancer 已在 EC2-Classic 中注册实例,则这些实例不会注册到新负载均衡器的目标组。

  • 如果 Classic Load Balancer 具有以下类型的已注册实例,则它们不会注册到 Network Load Balancer 的目标组:C1、CC1、CC2、CG1、CG2、CR1、CS1、G1、G2、HI1、HS1、M1、M2、M3 和 T1。

  • 如果 Classic Load Balancer 具有 HTTP/HTTPS 侦听器,但使用 TCP 运行状况检查,则向导将更改为 HTTP 运行状况检查。然后向导在创建 Application Load Balancer 时会将路径默认设置为“/”。

  • 如果将 Classic Load Balancer 迁移到 Network Load Balancer,运行状况检查设置则将更改,以满足 Network Load Balancer 的要求。

  • 如果 Classic Load Balancer 具有多个 HTTPS 侦听器,则向导将选择一个侦听器并使用其证书和策略。如果端口 443 上有一个 HTTPS 侦听器,向导将选择此侦听器。如果所选侦听器使用自定义策略或 Application Load Balancer 不支持的策略,则向导将更改为默认安全策略。

  • 如果 Classic Load Balancer 具有安全的 TCP 侦听器,则 Network Load Balancer 将使用 TCP 侦听器。但它不使用证书或安全策略。

  • 如果 Classic Load Balancer 具有多个侦听器,则向导将使用端口值最低的侦听器端口作为目标组端口。注册到这些侦听器的每个实例都会在所有侦听器的侦听器端口上注册到目标组。

  • 如果 Classic Load Balancer 的一些标签在标签名称中具有 aws 前缀,则这些标签不会添加到新的负载均衡器。

使用迁移向导迁移 Classic Load Balancer

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 LOAD BALANCING 下,选择 Load Balancers

  3. 选择您的 Classic Load Balancer。

  4. Migration 选项卡上,选择 Launch ALB Migration WizardLaunch NLB Migration Wizard。显示的按钮取决于在检查 Classic Load Balancer 后由向导选择的负载均衡器类型。

  5. Review 页面上,验证向导选择的配置选项。要更改某个选项,请选择 Edit

  6. 当您完成配置新的负载均衡器时,选择 Create

选项 2:使用 github 中的负载均衡器复制实用程序

此负载均衡器复制实用程序在 GitHub 上可用。有关更多信息,请参阅 Elastic Load Balancing 工具

选项 3:手动迁移到 Application Load Balancer 或 Network Load Balancer

以下信息提供了基于 VPC 中的现有 Classic Load Balancer 手动创建新的 Application Load Balancer 或 Network Load Balancer 的常规说明。您可以使用 Amazon Web Services Management Console、Amazon CLI 或 Amazon 开发工具包进行迁移。有关更多信息,请参阅 Elastic Load Balancing 入门

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

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

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

    • 如果您的 Classic Load Balancer 已附加到 Auto Scaling 组,请将目标组附加到 Auto Scaling 组。这样还可以向目标组注册 Auto Scaling 实例。

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

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

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

以下信息提供了基于 EC2-Classic 中的 Classic Load Balancer 在 VPC 中手动创建新 Classic Load Balancer 的常规说明。您可以使用 Amazon Web Services Management Console、Amazon CLI 或 Amazon 开发工具包进行迁移。有关更多信息,请参阅 Classic Load Balancer 用户指南中的教程:创建 Classic Load Balancer

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

    • 在您的 VPC 上启用 ClassicLink,并将您的 EC2-Classic 实例链接到 VPC。有关更多信息,请参阅 Amazon EC2 用户指南中的使用 ClassicLink 进行增量迁移

    • 将 EC2 资源(例如实例和安全组)从 EC2-Classic 迁移到 VPC。有关更多信息,请参阅 Amazon EC2 用户指南中的将资源迁移到 VPC

  2. 在 VPC 中创建新的 Classic Load Balancer。

  3. 创建负载均衡器时,请选择您准备好的 VPC(启用 ClassicLink 的 VPC,或从 EC2-Classic 迁移实例时使用的 VPC)。从您计划向新负载均衡器注册的实例所在的每个可用区中选择一个子网。

  4. 当系统提示您分配安全组时,如果为 VPC 启用了 ClassicLink,请选择您在启用 ClassicLink 时指定的同一安全组。

  5. 出现提示时,选择要向负载均衡器注册的实例。

  6. 如果旧的 Classic Load Balancer 具有标签,请进行检查并将相关标签添加到新的 Classic Load Balancer。

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

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

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

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

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

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

    重要

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

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

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

如果要将 Classic Load Balancer 迁移到 Application Load Balancer 或 Network Load Balancer,请务必执行以下操作:

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

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

  • 将使用 aws elb Amazon CLI 命令的脚本更新为使用 aws elbv2 Amazon CLI 命令。

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

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

Resources

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

您可以在完成以下步骤后删除旧 Classic Load Balancer:

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

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