

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

# 更新网络负载均衡器的可用区
<a name="availability-zones"></a>

您可随时启用或禁用网络负载均衡器的可用区。当启用某个可用区时，您必须指定该可用区中的一个子网。在启用一个可用区后，负载均衡器会开始将请求路由到该可用区中的已注册目标。如果您确保每个启用的可用区均具有至少一个注册目标，则负载均衡器将具有最高效率。启用多个可用区有助于提高应用程序的容错能力。

Elastic Load Balancing 会在您选择的可用区中创建一个网络负载均衡器节点，并在该可用区中为选定子网创建一个网络接口。可用区中的每个 Network Load Balancer 节点都使用网络接口获取 IPv4 地址。您可以查看这些网络接口，但无法对其进行修改。

**注意事项**
+ 对于面向互联网的网络负载均衡器，您指定的子网必须至少具有 8 个可用 IP 地址。对于内部网络负载均衡器，只有当您允许从子网 AWS 中选择私有 IPv4 地址时，才需要这样做。
+ 无法指定受约束可用区中的子网。但是，您可以在不受约束的其他可用区中指定子网，并使用跨可用区负载均衡将流量分发至受约束可用区中的目标。
+ 您无法在本地区域中指定子网。
+ 如果网络负载均衡器具有活跃的 Amazon VPC 端点关联，则无法删除子网。
+ 在添加回之前删除的子网时，将创建一个具有不同 ID 的新网络接口。
+ 同一可用区内的子网变更必须作为独立操作执行。您需先完成现有子网的删除，随后方可添加新的子网。
+ 删除子网可能最多需要 3 分钟。

创建面向互联网的网络负载均衡器时，您可以选择为每个可用区指定弹性 IP 地址。弹性 IP 地址将为您的网络负载均衡器提供静态 IP 地址。如果您选择不指定弹性 IP 地址，则 AWS 将为每个可用区分配一个弹性 IP 地址。

创建内部网络负载均衡器时，您可以选择从每个子网指定一个私有 IP 地址。私有 IP 地址将为您的网络负载均衡器提供静态 IP 地址。如果您选择不指定私有 IP 地址，则会为您 AWS 分配一个。

在更新网络负载均衡器的可用区域之前，我们建议您评估对现有连接、流量或生产工作负载的任何潜在影响。

**更新可用区可能会造成中断**  
删除子网后，其关联的弹性网络接口（ENI）也会被删除。这会导致可用区中的所有活跃连接终止。
删除子网后，与其关联的可用区内的所有目标都将被标记为 `unused`。这会导致这些目标从可用目标池中删除，并且与这些目标的所有连接都将终止。这包括在使用跨可用区负载均衡时，源自其他可用区的任何连接。
网络负载均衡器的完全限定域名（FQDN）有 60 秒的生存时间（TTL）。删除包含活跃目标的可用区后，任何现有的客户端连接都可能出现超时，直到 DNS 再次解析，并且流量会转移到任何剩余的可用区中。

------
#### [ Console ]

**要修改可用区**

1. 打开 Amazon EC2 控制台，网址为[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中，选择**负载均衡器**。

1. 选择负载均衡器。

1. 在**网络映射**选项卡上，选择**编辑子网**。

1. 要启用可用区，请选中其复选框并选择一个子网。如果只有一个可用区，则会选择此子网。

1. 要更改已启用的可用区的子网，请从列表中选择其他子网之一。

1. 要禁用可用区，请清除其复选框。

1. 选择**保存更改**。

------
#### [ AWS CLI ]

**要修改可用区**  
使用 [set-subnets](https://docs.aws.amazon.com/cli/latest/reference/elbv2/set-subnets.html) 命令。

```
aws elbv2 set-subnets \
    --load-balancer-arn {{load-balancer-arn}} \
    --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890
```

------
#### [ CloudFormation ]

**要修改可用区**  
更新[AWS::ElasticLoadBalancingV2::LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html)资源。

```
Resources:
  myLoadBalancer:
    Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
    Properties:
      Name: my-nlb
      Type: network
      Scheme: internal
      Subnets: 
        - !Ref subnet-AZ1
        - !Ref {{new-subnet-AZ2}}
      SecurityGroups: 
        - !Ref mySecurityGroup
```

------