创建 Network Load Balancer - Elastic Load Balancing
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建 Network Load Balancer

Network Load Balancer 接受来自客户端的请求,并将其分配到目标组中的目标(例如 EC2 实例)。有关更多信息,请参阅网络负载均衡器概述

先决条件

  • 确定您的应用程序将支持哪些可用区和 IP 地址类型。为您的负载均衡器 VPC 配置每个可用区中的子网。如果应用程序同时支持 IPv4 和 IPv6 流量,请确保子网同时支持 IPv4 和。 IPv6 CIDRs在每个可用区中至少部署一个目标。

  • 确保目标实例的安全组允许来自客户端 IP 地址(如果目标由实例 ID 指定)或负载均衡器节点(如果目标由 IP 地址指定)通过侦听器端口进行流量。

  • 使用运行状况检查协议,确保目标实例的安全组允许来自负载均衡器的流量通过运行状况检查端口。

创建负载均衡器

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

Console
要创建 Network Load Balancer
  1. 打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择负载均衡器

  3. 选择创建负载均衡器

  4. 网络负载均衡器下,选择创建

  5. 基本配置

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

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

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

  6. 网络映射

    1. 对于 VPC,选择一个 VPC。

      对于面向互联网的负载均衡器,只能选择 VPCs 带有互联网网关的负载均衡器。

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

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

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

    4. 使用面向 Internet 的负载均衡器,您可以为每个可用区选择一个弹性 IP 地址。这将为您的负载均衡器提供静态 IP 地址。

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

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

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

  7. 安全组

    我们为负载均衡器 VPC 预先选择默认安全组。您可以根据需要选择其他安全组。如果您没有满足您需求的安全组,请选择创建新的安全组来立即创建一个安全组。有关更多信息,请参阅《Amazon VPC 用户指南》中的创建安全组

    警告

    如果您现在没有将任何安全组与网络负载均衡器关联,则无法以后再将其关联。

  8. 侦听器和路由

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

    2. 对于默认操作,选择目标组以转发流量。如果您没有满足需求的目标群体,请选择 “创建目标群组”,立即创建一个目标群组。有关更多信息,请参阅 创建目标组

    3. (可选)选择 “添加监听器标签”,然后输入标签键和标签值。

    4. (可选)选择 “添加监听器” 以添加另一个监听器(例如,TLS 侦听器)。

  9. 安全侦听器设置

    1. 对于安全策略,请选择符合您要求的安全策略。有关更多信息,请参阅 安全策略

    2. 对于默认 SSL/TLS 服务器证书,请选择来自 ACM 作为证书来源。选择您使用 Amazon Certificate Manager配置或导入的证书。如果您在 ACM 中没有可用的证书,但有可用于负载均衡器的证书,请选择导入证书并提供所需的信息。否则,请选择申请新的 ACM 证书。有关更多信息,请参阅《Amazon Certificate Manager 用户指南》中的Amazon Certificate Manager 证书

    3. (可选)对于 ALPN 政策,请选择要启用 ALPN 的策略。有关更多信息,请参阅 ALPN 策略

  10. 负载均衡器标签

    (可选)展开负载均衡器标签。选择 “添加新标签”,然后输入标签密钥和标签值。有关更多信息,请参阅标签

  11. 摘要

    查看配置,然后选择创建负载均衡器。在创建过程中,一些默认属性会应用于网络负载均衡器。创建网络负载均衡器后,您可以查看和编辑它们。有关更多信息,请参阅 负载均衡器属性

Amazon CLI
要创建 Network Load Balancer

使用 create-load-balancer 命令。

以下示例创建了一个面向 Internet 的负载均衡器,该负载均衡器启用了两个可用区。

aws elbv2 create-load-balancer \ --name my-load-balancer \ --type network \ --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \ --security-groups sg-1111222233334444
创建内部 Network Load Balancer

包括以下示例所示的--scheme选项。

aws elbv2 create-load-balancer \ --name my-load-balancer \ --type network \ --scheme internal \ --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \ --security-groups sg-1111222233334444
创建双堆栈 Network Load Balancer

包括以下示例所示的--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 命令。有关示例,请参阅 添加侦听器

CloudFormation
要创建 Network Load Balancer

定义类型为的资源AWS::ElasticLoadBalancingV2::LoadBalancer

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'

测试负载均衡器

创建网络负载均衡器后,您可以验证您的 EC2 实例是否已通过初始运行状况检查,然后测试网络负载均衡器是否正在向您的 EC2 实例发送流量。要删除网络负载均衡器,请参阅删除 Network Load Balancer

测试网络负载均衡器
  1. 创建网络负载均衡器之后,选择关闭

  2. 在左侧导航窗格中,选择目标组

  3. 选择新目标组。

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

  5. 在导航窗格中,选择负载均衡器

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

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

后续步骤

创建负载均衡器后,您可能需要执行以下操作: