添加或移除经典负载均衡器的子网 - Elastic Load Balancing
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

添加或移除经典负载均衡器的子网

如果将一个子网添加到您的负载均衡器,Elastic Load Balancing 会在该可用区中创建一个负载均衡器节点。负载均衡器节点接受来自客户端的流量并将请求转发到一个或多个可用区中的正常注册实例。对于 VPC 中的负载均衡器,建议您至少为两个可用区分别添加一个子网。这可以提高您的负载均衡器的可用性。请注意,您可随时修改负载均衡器的子网。

从实例所在的可用区选择子网。如果您的负载均衡器是面向 Internet 的负载均衡器,您必须选择公有子网,以便您的后端实例从负载均衡器接收流量(即使后端实例位于私有子网)。如果您的负载均衡器是内部负载均衡器,我们建议您选择私有子网。有关负载均衡器子网的更多信息,请参阅准备 VPC 和 EC2 实例

添加子网后,负载均衡器开始将请求路由至对应可用区中的注册实例。默认情况下,负载均衡器在其子网的可用区间均衡地路由请求。要在其子网的可用区中的注册实例间均衡地路由请求,请启用跨区域负载均衡。有关更多信息,请参阅 配置经典负载均衡器的跨区域负载均衡

如果子网的可用区中没有运行状况良好的注册实例,或者您希望对注册实例进行故障排除或更新,那么可能需要暂时从负载均衡器删除子网。删除子网后,负载均衡器停止将请求路由至其可用区中的注册实例,但继续将请求路由至剩余子网的可用区中的注册实例。

要求

更新负载均衡器的子网时,必须满足以下要求:

  • 负载均衡器必须始终至少有一个子网。

  • 每个可用区最多可以添加一个子网。

  • 您无法添加本地区域子网。

因为有单独的 API 可从负载均衡器添加和删除子网,所以在将当前子网切换为新子网时,您必须慎重考虑操作顺序,从而满足这些要求。如果需要为负载均衡器切换所有子网,您还必须临时从另一个可用区添加子网。例如,如果负载均衡器有单个可用区,并且您需要将其子网切换为另一个子网,则必须首先从第二个可用区添加子网。随后可以从原可用区删除子网 (子网不少于一个),从原可用区添加新子网 (每个可用区不超过一个子网),然后从第二个可用区删除子网 (如果只需要执行切换)。

添加子网

您可将负载均衡器的可用性扩展到其他子网。将此子网中的实例注册到负载均衡器,然后从实例所在的相同可用区中的子网连接到负载均衡器。有关更多信息,请参阅 在经典负载均衡器中注册或注销 EC2 实例

New EC2 experience
使用控制台将子网添加到负载均衡器
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 Load Balancing(负载均衡)下,选择 Load Balancers(负载均衡器)。

  3. 选择负载均衡器的名称以打开其详细信息页面。

  4. Network mapping(网络映射)选项卡上,选择 Edit subnets(编辑子网)。

  5. 编辑子网页面的网络映射部分中,选择要启用的可用区,然后选择要在该可用区内添加的子网。

  6. 在完成后,选择保存更改

Old EC2 experience
使用控制台将子网添加到负载均衡器
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 Load Balancing(负载均衡)下,选择 Load Balancers(负载均衡器)。

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

  4. 在底部窗格中,选择 Instances 选项卡。

  5. 选择 Edit Availability Zones

  6. 对于 Available Subnets,使用其添加 (+) 图标来选择子网。该子网将移到 Selected subnets 下。

    请注意,您最多可为每个可用区选择一个子网。如果从选定子网的可用区选择一个子网,则此子网将替换可用区当前选定的子网。

  7. 选择 Save

使用 CLI 将子网添加到负载均衡器

使用以下 attach-load-balancer-to-subnets 命令将两个子网添加到负载均衡器:

aws elb attach-load-balancer-to-subnets --load-balancer-name my-load-balancer --subnets subnet-dea770a9 subnet-fb14f6a2

响应将列出负载均衡器的所有子网。例如:

{ "Subnets": [ "subnet-5c11033e", "subnet-dea770a9", "subnet-fb14f6a2" ] }

删除子网

您可以从负载均衡器删除子网。请注意,在删除一个子网后,该子网中的实例将保持已注册到负载均衡器的状态。有关更多信息,请参阅在经典负载均衡器中注册或注销 EC2 实例

New EC2 experience
使用控制台从负载均衡器移除子网
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 Load Balancing(负载均衡)下,选择 Load Balancers(负载均衡器)。

  3. 选择负载均衡器的名称以打开其详细信息页面。

  4. Network mapping(网络映射)选项卡上,选择 Edit subnets(编辑子网)。

  5. 编辑子网页面的网络映射部分中,为某个已启用的可用区选择不同的子网,或者取消选择某个可用区以移除该可用区以及关联的子网。

  6. 在完成后,选择保存更改

Old EC2 experience
使用控制台删除子网
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 Load Balancing(负载均衡)下,选择 Load Balancers(负载均衡器)。

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

  4. 在底部窗格中,选择 Instances 选项卡。

  5. 选择 Edit Availability Zones

  6. 对于 Selected subnets,使用其删除 (-) 图标来删除子网。子网将移至 Available Subnets 下。

  7. 选择 Save

使用 Amazon CLI 删除子网

使用以下 detach-load-balancer-from-subnets 命令可将指定子网从指定负载均衡器中删除:

aws elb detach-load-balancer-from-subnets --load-balancer-name my-loadbalancer --subnets subnet-450f5127

响应将列出负载均衡器的剩余子网。例如:

{ "Subnets": [ "subnet-15aaab61" ] }