迁移您的经典负载均衡器 - 弹性负载均衡

迁移您的经典负载均衡器

我们即将停用 EC2-Classic 网络。我们建议您将经典负载均衡器从 EC2-Classic 网络迁移到 VPC。有关更多信息,请参阅 Amazon EC2 用户指南中的从 EC2-Classic 迁移到 VPC 和博客 EC2-Classic Networking 即将停用 – 以下是准备方法

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

如果您在 EC2-Classic 网络中有经典负载均衡器,则必须将其迁移到 VPC。AWS 将于 2022 年 8 月 15 日停用 EC2-Classic 网络。在此日期之后,经典负载均衡器将仅在 VPC 中提供。为避免中断,您必须在 2022 年 8 月 15 日之前将您在 EC2-Classic 中的任何经典负载均衡器迁移到 VPC。有关更多信息,请参阅 迁移到 VPC 中的经典负载均衡器

您也可以选择使用 Application Load Balancer 或 Network Load Balancer 替换 VPC 中的经典负载均衡器。有关更多信息,请参阅 迁移到 Application Load Balancer 或 Network Load Balancer

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

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

要创建 Application Load Balancer 或 Network Load Balancer 以替换 VPC 中的经典负载均衡器,请使用以下选项之一:

要在 VPC 中创建经典负载均衡器以替换 EC2-Classic 中的经典负载均衡器,请使用以下选项:

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

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

迁移向导发布说明

  • 经典负载均衡器必须位于 VPC 中。

  • 如果经典负载均衡器具有 HTTP 或 HTTPS 侦听器,则向导将创建 Application Load Balancer。如果经典负载均衡器具有 TCP 侦听器,则向导将创建 Network Load Balancer.。

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

  • 如果经典负载均衡器有一个子网,则向导将要求您在创建 Application Load Balancer 时指定第二个子网。

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

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

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

  • 如果将经典负载均衡器迁移到 Network Load Balancer,运行状况检查设置则将更改,以满足 Network Load Balancer 的要求。

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

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

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

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

使用迁移向导迁移经典负载均衡器

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

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

  3. 选择您的经典负载均衡器。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

选项 4:手动迁移到 VPC 中的经典负载均衡器

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

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

  2. 在 VPC 中创建新的经典负载均衡器。

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

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

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

步骤 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:更新策略、脚本和代码

如果要将经典负载均衡器迁移到 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 CloudFormation 资源的 AWS::ElasticLoadBalancing::LoadBalancer 模板更新为使用 AWS::ElasticLoadBalancingV2 资源。

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

资源

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

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

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

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