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

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

配置经典负载均衡器的跨区域负载均衡

借助跨区域负载均衡,经典负载均衡器的每个负载均衡器节点会跨所有启用的可用区中的已注册实例平均分配请求。如果禁用了跨区域负载均衡,则每个负载均衡器节点会仅在其可用区中的已注册实例之间平均分配请求。有关更多信息,请参阅 Elastic Load Balancing 用户指南中的跨区域负载均衡

跨区域负载均衡可降低在每个启用的可用区中保持相同数量实例的需求,并提高应用程序处理一个或多个实例丢失情况的能力。但我们仍然建议您在每个已启用的可用区中保持大致相等的实例数,以实现更高的容错能力。

对于客户端缓存DNS查找的环境,传入的请求可能偏向于其中一个可用区。通过使用跨区域负载均衡,请求负载中的这种不平衡将分散在此区域中的所有可用实例中,从而减小操作不良的客户端产生的影响。

在创建经典负载均衡器时,跨区域负载均衡的默认值取决于创建负载均衡器的方式。使用API或CLI,默认情况下跨区域负载平衡处于禁用状态。使用时 Amazon Web Services Management Console,默认情况下会选择启用跨区域负载平衡的选项。创建经典负载均衡器后,您随时可以启用或禁用跨区域负载均衡。

启用跨区域负载均衡

您随时可以对经典负载均衡器启用跨区域负载均衡。

使用控制台启用跨区域负载均衡
  1. 打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/

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

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

  4. 属性选项卡上,选择编辑

  5. 编辑负载均衡器属性页面的可用区路由配置部分中,启用跨可用区负载均衡

  6. 选择 Save changes(保存更改)

要启用跨区域负载均衡,请使用 Amazon CLI
  1. 使用以下modify-load-balancer-attributes命令将您的负载均衡器的CrossZoneLoadBalancing属性设置为true

    aws elb modify-load-balancer-attributes --load-balancer-name my-loadbalancer --load-balancer-attributes "{\"CrossZoneLoadBalancing\":{\"Enabled\":true}}"

    以下为响应示例:

    { "LoadBalancerAttributes": { "CrossZoneLoadBalancing": { "Enabled": true } }, "LoadBalancerName": "my-loadbalancer" }
  2. (可选)使用以下describe-load-balancer-attributes命令验证您的负载均衡器是否已启用跨区域负载均衡:

    aws elb describe-load-balancer-attributes --load-balancer-name my-loadbalancer

    以下为响应示例:

    { "LoadBalancerAttributes": { "ConnectionDraining": { "Enabled": false, "Timeout": 300 }, "CrossZoneLoadBalancing": { "Enabled": true }, "ConnectionSettings": { "IdleTimeout": 60 }, "AccessLog": { "Enabled": false } } }

禁用跨区域负载均衡

您随时可以对负载均衡器禁用跨区域负载均衡选项。

使用控制台禁用跨区域负载均衡
  1. 打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/

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

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

  4. 属性选项卡上,选择编辑

  5. 编辑负载均衡器属性页面的可用区路由配置部分中,禁用跨可用区负载均衡

  6. 选择 Save changes(保存更改)

要禁用跨区域负载均衡,请将负载均衡器的 CrossZoneLoadBalancing 属性设置为 false

要禁用跨区域负载均衡,请使用 Amazon CLI
  1. 使用以下 modify-load-balancer-attributes 命令:

    aws elb modify-load-balancer-attributes --load-balancer-name my-loadbalancer --load-balancer-attributes "{\"CrossZoneLoadBalancing\":{\"Enabled\":false}}"

    以下为响应示例:

    { "LoadBalancerAttributes": { "CrossZoneLoadBalancing": { "Enabled": false } }, "LoadBalancerName": "my-loadbalancer" }
  2. (可选)使用以下describe-load-balancer-attributes命令验证您的负载均衡器是否已禁用跨区域负载均衡:

    aws elb describe-load-balancer-attributes --load-balancer-name my-loadbalancer

    以下为响应示例:

    { "LoadBalancerAttributes": { "ConnectionDraining": { "Enabled": false, "Timeout": 300 }, "CrossZoneLoadBalancing": { "Enabled": false }, "ConnectionSettings": { "IdleTimeout": 60 }, "AccessLog": { "Enabled": false } } }