

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

# 创建网络负载均衡器
<a name="create-network-load-balancer"></a>

Network Load Balancer 接受来自客户端的请求，并将其分配到目标组中的目标（例如 EC2 实例）。有关更多信息，请参阅[网络负载均衡器概述](introduction.md#network-load-balancer-overview)。

**Topics**
+ [先决条件](#load-balancer-prereqs)
+ [创建负载均衡器](#create-load-balancer)
+ [测试负载均衡器](#test-load-balancer)
+ [后续步骤](#create-load-balancer-next-steps)

## 先决条件
<a name="load-balancer-prereqs"></a>
+ 确定您的应用程序将支持哪些可用区和 IP 地址类型。在每个可用区中配置包含子网的负载均衡器 VPC。如果应用程序同时支持 IPv4 和 IPv6 流量，请确保子网同时支持 IPv4 和。 IPv6 CIDRs在每个可用区中至少部署一个目标。
+ 确保目标实例的安全组允许侦听器端口上来自客户端 IP 地址 (如果目标通过实例 ID 指定) 或负载均衡器节点 (如果目标通过 IP 地址指定) 的流量。有关更多信息，请参阅 [目标安全组](target-group-register-targets.md#target-security-groups)。
+ 确保目标实例的安全组允许来自负载均衡器的流量使用运行状况检查协议通过运行状况检查端口。
+ 如果您计划为负载均衡器提供静态 IP 地址，请确保每个弹性 IP IPv4 地址都来自亚马逊的地址池，并且其网络边界组与负载均衡器相同。
+ 如果您计划使用 QUIC 或 TCP\$1QUIC 侦听器，请确保网络负载均衡器使用 `ipv4` 地址类型并且没有与之关联的安全组。

## 创建负载均衡器
<a name="create-load-balancer"></a>

在创建网络负载均衡器的过程中，您将创建负载均衡器、至少一个侦听器和至少一个目标组。当负载均衡器在每个已启用的可用区中至少有一个正常运行的注册目标时，它即可处理客户端请求。

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

**要创建网络负载均衡器**

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

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

1. 选择**创建负载均衡器**。

1. 在**网络负载均衡器**下，选择**创建**。

1. **基本配置**

   1. 对于**负载均衡器名称**，输入网络负载均衡器的名称。名称必须在区域的负载均衡器组中是唯一的。它最多可包含 32 个字符，并且只包含字母数字字字符和连字符。它不能以连字符或 `internal-` 开头或结尾。

   1. 对于 **Scheme** (方案)，选择 **Internet-facing** (面向 Internet) 或 **Internal** (内部)。面向互联网的网络负载均衡器将来自客户端的请求通过互联网路由到目标。内部网络负载均衡器使用私有 IP 地址将请求路由到目标。

   1. 对于**负载均衡器 IP 地址类型**，请选择**IPv4**您的客户端是使用 IPv4 地址与网络负载均衡器通信，如果您的客户端同时使用 IPv4 和 IPv6 地址与网络负载均衡器通信，则选择**双栈**通信。

1. **网络映射**

   1. 对于 **VPC**，请选择您为负载均衡器准备的 VPC。对于面向互联网的负载均衡器，只能选择 VPCs 带有互联网网关的负载均衡器。

   1. 使用双栈负载均衡器，除非源 NAT 的**启用前缀为 On**（**每个子网的 IPv6 源 NAT 前缀**），否则无法添加 UDP 侦听器。

   1. 对于**可用区和子网**，请至少选择一个可用区，然后为每个区域选择一个子网。请注意，共享给您的子网可供选择。

      如果您选择多个可用区，并确保在每个选定区域中都注册了目标，那么这将提高您应用程序的容错能力。

   1. 借助面向互联网的负载均衡器，您可以为每个可用区选择弹性 IP 地址。这将为您的负载均衡器提供静态 IP 地址。

      使用内部负载均衡器，您可以从每个子网 IPv4 的地址范围内输入私有地址，也可以让您 AWS 选择一个私有地址。

      使用双栈负载均衡器，您可以从每个子网的地址范围内输入一个 IPv6 地址，也可以让您 AWS 选择一个地址。

      对于启用了源 NAT 的负载均衡器，您可以输入自定义 IPv6 前缀或让我们为您 AWS 选择一个前缀。

1. **安全组**

   我们会为负载均衡器 VPC 预选默认安全组。您可以根据需要选择其他安全组。如果您没有可满足您需求的安全组，请选择**创建新的安全组**，以立即创建一个。有关更多信息，请参阅《Amazon VPC 用户指南》**中的[创建安全组](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html)。
**警告**  
如果您现在没有将任何安全组与网络负载均衡器关联，则无法以后再将其关联。
**警告**  
要使用 QUIC 或 TCP\$1QUIC 侦听器，您的网络负载均衡器必须没有安全组。

1. **侦听器和路由**

   1. 默认值是负责接收端口 80 上的 TCP 流量的侦听器。您可保留默认侦听器设置，或者根据需要修改**协议**和**端口**。

   1. 对于**默认操作**，选择一个要将流量转发到的目标组。

      要添加其他目标组，请选择**添加目标组**，并根据需要更新权重。

      如果您还没有能满足您需求的目标组，请选择**创建目标组**，以立即创建一个目标组。有关更多信息，请参阅 [创建目标组](create-target-group.md)。

   1. （可选）选择**添加侦听器标签**，然后输入标签键和标签值。

   1. （可选）选择**添加侦听器**，以添加其他侦听器（例如，TLS 侦听器）。

1. **安全侦听器设置**

   仅当您添加 TLS 侦听器时，才会显示此部分。

   1. 对于**安全策略**，请选择符合您要求的安全策略。有关更多信息，请参阅 [安全策略](describe-ssl-policies.md)。

   1. 对于**默认 SSL/TLS 服务器证书**，请选择**来自 ACM** 作为证书来源。选择您使用 AWS Certificate Manager预置或导入的证书。如果您在 ACM 中没有可用的证书，但有可用于负载均衡器的证书，请选择**导入证书**，并提供所需的信息。否则，请选择**请求新的 ACM 证书**。有关更多信息，请参阅*《AWS Certificate Manager 用户指南》*中的 [AWS Certificate Manager 证书](https://docs.aws.amazon.com/acm/latest/userguide/gs.html)。

   1. （可选）对于 **ALPN 策略**，请选择一个策略以启用 ALPN。有关更多信息，请参阅 [ALPN 策略](load-balancer-listeners.md#alpn-policies)。

1. **负载均衡器标签**

   （可选）展开**负载均衡器标签**。（可选）选择**添加新的标签**，然后输入标签键和标签值。有关更多信息，请参阅[标签](load-balancer-tags.md)。

1. **摘要**

   查看配置，然后选择**创建负载均衡器**。在创建过程中，一些默认属性会应用于网络负载均衡器。创建网络负载均衡器后，您可以查看和编辑它们。有关更多信息，请参阅 [负载均衡器属性](network-load-balancers.md#load-balancer-attributes)。

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

**要创建网络负载均衡器**  
使用 [create-load-balancer](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-load-balancer.html) 命令。

以下示例创建了一个面向互联网的负载均衡器，包括两个已启用的可用区和一个安全组。

```
aws elbv2 create-load-balancer \
    --name my-load-balancer \
    --type network \
    --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \
    --security-groups sg-1111222233334444
```

**要创建内部负载均衡器**  
包含如下示例所示的 `--scheme` 选项。

```
aws elbv2 create-load-balancer \
    --name my-load-balancer \
    --type network \
    --scheme internal \
    --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \
    --security-groups sg-1111222233334444
```

**要创建双堆栈网络负载均衡器**  
包含如下示例所示的 `--ip-address-type` 选项。

```
aws elbv2 create-load-balancer \
    --name my-load-balancer \
    --type network \
    --ip-address-type dualstack \
    --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \
    --security-groups sg-1111222233334444
```

**添加侦听器**  
使用 [create-listener](https://docs.aws.amazon.com/cli/latest/reference/elbv2/create-listener.html) 命令。有关示例，请参阅 [创建侦听器](create-listener.md)。

------
#### [ 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
      IpAddressType: dualstack
      Subnets: 
        - !Ref subnet-AZ1
        - !Ref subnet-AZ2
      SecurityGroups: 
        - !Ref mySecurityGroup
      Tags:  
        - Key: 'department'
          Value: '123'
```

**添加侦听器**  
定义类型为的资源[AWS::ElasticLoadBalancingV2::Listener](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-listener.html)。有关示例，请参阅 [创建侦听器](create-listener.md)。

------

## 测试负载均衡器
<a name="test-load-balancer"></a>

创建网络负载均衡器后，您可以验证您的 EC2 实例是否已通过初始运行状况检查，然后测试网络负载均衡器是否正在向您的 EC2 实例发送流量。要删除网络负载均衡器，请参阅[删除网络负载均衡器](load-balancer-delete.md)。

**测试网络负载均衡器**

1. 创建网络负载均衡器之后，选择**关闭**。

1. 在左侧导航窗格中，选择**目标组**。

1. 选择新目标组。

1. 选择 **Targets (目标)** 并验证您的实例是否已就绪。如果实例状态是 `initial`，很可能是因为，实例仍在注册过程中，或者未通过视为正常运行所需的运行状况检查最小数量。在至少一个实例的状态为运行状况良好后，便可测试网络负载均衡器。有关更多信息，请参阅 [目标运行状况](target-group-health-checks.md#target-health-states)。

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

1. 选择新的网络负载均衡器。

1. 复制 Network Load Balancer 的 DNS 名称（例如， my-load-balancer-1234567890abcdef。elb.us-east-2.amazonaws.com）。将该 DNS 名称粘贴到已连接 Internet 的 Web 浏览器的地址栏中。如果一切正常，浏览器会显示您服务器的默认页面。

## 后续步骤
<a name="create-load-balancer-next-steps"></a>

创建负载均衡器后，您可能需要执行以下操作：
+ 配置[负载均衡器属性](edit-load-balancer-attributes.md)。
+ 配置[目标组属性](edit-target-group-attributes.md)。
+ [TLS 侦听器] 将证书添加到[可选证书列表](listener-update-certificates.md#add-certificates)。
+ 配置[监控功能](load-balancer-monitoring.md)。