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

创建 Application Load Balancer

负载均衡器接收来自客户端的请求,并将请求分发给目标组中的目标。

开始前,请确保您有一个满足以下要求的 Virtual Private Cloud (VPC):在目标使用的每个可用区中至少有一个公有子网。

要使用 Amazon CLI 创建负载均衡器,请参阅 教程:使用 Amazon CLI 创建 Application Load Balancer

要使用 Amazon Web Services Management Console 创建负载均衡器,请完成以下任务。

步骤 1:配置目标组

配置目标组可使您注册 EC2 实例之类的目标。当您配置负载均衡器时,您在此步骤中配置的目标组将用作侦听器规则中的目标组。有关更多信息,请参阅 Application Load Balancer 的目标组

配置目标组

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在左导航窗格中的 Load Balancing(负载均衡)下,选择 Target Groups(目标组)。

  3. 选择 Create target group (创建目标组)

  4. Basic configuration (基本配置) 部分中,设置以下参数:

    1. 对于 Choose a target type (选择目标类型),选择 Instance (实例) 以按实例 ID 指定目标,或者选择 IP addresses (IP 地址) 以通过 IP 地址指定目标。如果目标类型为 Lambda function(Lambda 函数),则可以通过在Health checks(运行状况检查)部分中选择 Enable(启用)来启用运行状况检查。

    2. 对于 Target group name (目标组名称),输入目标组的名称。

    3. 根据需要修改 Port (端口) 和 Protocol (协议)。

    4. 如果目标类型为 IP addresses(IP 地址),则对于 IP address type(IP 地址类型),应选择 IPv4IPv6,否则请跳到下一步。

      请注意,仅具有选定 IP 地址类型的目标才能包括在此目标组中。在创建目标组后,无法更改 IP 地址类型。

    5. 对于 VPC,选择一个 Virtual Private Cloud (VPC),其中包含您想要包含在目标组中的目标。

    6. 对于 Protocol version(协议版本),当请求协议为 HTTP/1.1 或 HTTP/2 时,选择 HTTP1;当请求协议为 HTTP/2 或 gRPC 时,选择 HTTP2;当请求协议为 gRPC 时,选择 gRPC

  5. Health checks(运行状况检查)部分中,根据需要修改默认设置。对于 Advanced health check settings(高级运行状况检查),选择运行状况检查端口、计数、超时、间隔并指定成功代码。如果运行状况检查连续超过不正常运行阈值计数,负载均衡器将使目标停止服务。如果运行状况检查连续超过运行状况正常阈值计数,负载均衡器将使目标恢复使用。有关更多信息,请参阅 目标组的运行状况检查

  6. (可选) 添加一个或多个标签,如下所示:

    1. 展开 Tags (标签)部分。

    2. 选择 Add tag

    3. 输入标签和标签。允许的字符包括字母、空格、数字(UTF-8 格式)和以下特殊字符:+ - = . _ : / @。请不要使用前导空格或尾随空格。标签值区分大小写。

  7. 选择 Next (下一步)

步骤 2:注册目标

您可以将 EC2 实例、IP 地址或 Lambda 函数注册为目标组中的目标。这是创建负载均衡器的可选步骤。但是,您必须注册目标,以确保负载均衡器将流量路由到目标。

  1. Register targets(注册目标)页面中,按如下方式添加一个或多个目标:

    • 如果目标类型为 Instances (实例),请选择一个或多个实例,输入一个或多个端口,然后选择 Include as pending below (在下面以待注册的形式添加)

    • 如果目标类型为 IP addresses (IP 地址),请执行以下操作:

      1. 从列表中选择网络 VPC,或选择 Other private IP addresses (其他私有 IP 地址)

      2. 手动输入 IP 地址,或使用实例详细信息查找 IP 地址。一次最多可输入 5 个 IP 地址。

      3. 输入将流量路由到指定 IP 地址的端口。

      4. 选择 Include as pending below (在下面以待注册的形式添加)

    • 如果目标类型为 Lambda,选择一个 Lambda 函数,或输入 Lambda 函数 ARN,然后选择 Include as pending below(在下面以待注册的形式添加)。

  2. 选择 Create target group (创建目标组)

步骤 3:配置负载均衡器和侦听器

要创建 Application Load Balancer,您必须首先提供负载均衡器的基本配置信息,例如名称、方案和 IP 地址类型。然后,提供有关您的网络以及一个或多个侦听器的信息。侦听器是用于检查连接请求的进程。它配置了用于从客户端连接到负载均衡器的协议和端口。有关受支持的协议和端口的更多信息,请参阅侦听器配置

配置负载均衡器和侦听器

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

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

  3. 选择 Create Load Balancer (创建负载均衡器)

  4. Application Load Balancer 下,选择 Create(创建)。

  5. 基本配置

    1. 对于Load balancer name(负载均衡器名称),输入负载均衡器的名称。例如:my-alb。您的 Application Load Balancer 的名称在该区域的 Application Load Balancer 和网络负载均衡器集中必须唯一。名称最多可包含 32 个字符,并且只能包含字母数字字符和连字符。它们不能以连字符或 internal- 开头或结尾。

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

    3. 对于 IP address type (IP 地址类型),选择 IPv4Dualstack (双堆栈)。如果您的客户端使用 IPv4 地址与负载均衡器通信,则使用 IPv4。如果您的客户端使用 IPv4 和 IPv6 地址与负载均衡器通信,则选择 Dualstack(双堆栈)。

  6. 网络映射

    1. 对于 VPC,选择您用于 EC2 实例的 VPC。如果您为 Scheme (方案) 选择了 Internet-facing (面向 Internet),只有带有互联网网关的 VPC 可供选择。

    2. 对于 Mappings(映射),选择两个或多个可用区和相应的子网。启用多个可用区可提高应用程序的容错能力。

      对于内部负载均衡器,您可以从每个子网的 IPv4 或 IPv6 范围分配私有 IP 地址,而不是让 Amazon 为您分配一个。

      为每个区域选择一个要启用的子网。如果您为负载均衡器启用了 Dualstack(双堆栈)模式,请选择具有关联 IPv6 CIDR 块的子网。您可以指定以下几项之一:

      • 来自两个或多个可用区的子网

      • 来自一个或多个 Local Zones 的子网

      • 一个 Outpost 子网

  7. 对于 Security groups(安全组),选择现有安全组或创建新安全组。

    您负载均衡器的安全组必须允许其通过侦听器端口和运行状况检查端口与已注册目标进行通信。控制台可代表您为负载均衡器创建一个具有允许此通信的规则的安全组。您也可以创建一个安全组,然后选择它。有关更多信息,请参阅 推荐的规则

    (可选)要为负载均衡器创建新安全组,请选择 Create a new security group(创建新安全组)。

  8. 对于 Listeners and routing(侦听器和路由),默认值是负责接收端口 80 上的 HTTP 流量的侦听器。您可保留默认侦听器设置,修改协议或修改端口。选择 Add listener(添加侦听器)可添加新侦听器(例如,HTTPS 侦听器)。

    如果您要创建 HTTPS 侦听器,则配置必需的 Secure listener settings(安全侦听器设置)。否则,转到下一步。

    当您对负载均衡器侦听器使用 HTTPS 时,必须在负载均衡器上部署 SSL 证书。负载均衡器先使用此证书终止连接,然后解密来自客户端的请求,最后再将请求发送到目标。有关更多信息,请参阅 SSL 证书。另外,指定负载均衡器用于协商与客户端的 SSL 连接的安全策略。有关更多信息,请参阅 安全策略

    对于 Default SSL certificate (默认 SSL 证书),请执行下列操作之一:

    • 如果使用 Amazon Certificate Manager 创建或导入了证书,请选择 From ACM(从 ACM),然后选择证书。

    • 如果使用 IAM 上传了证书,则选择 From IAM(从 IAM),然后选择证书。

    • 如果要将证书导入 ACM 或 IAM,请输入证书名称。然后,粘贴 PEM 编码的私钥和正文。

  9. (可选)您可以使用 Add-on services(附加服务)(例如 Amazon Global Accelerator)创建加速器并将负载均衡器与加速器关联。加速器名称最多可以包含 64 个字符。允许的字符为 a-z、A-Z、0-9 和 -(连字符)。加速器创建之后,可以使用 Amazon Global Accelerator 控制台来管理它。

  10. 标记和创建

    1. (可选)添加标签以对负载均衡器进行分类。每个负载均衡器的标签键必须唯一。允许的字符包括字母、空格、数字(UTF-8 格式)和以下特殊字符:+ - = . _ : / @。请不要使用前导空格或尾随空格。标签值区分大小写。

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

步骤 4:测试负载均衡器

在创建负载均衡器之后,您可验证您的 EC2 实例是否通过了初始运行状况检查。然后,您可检查负载均衡器是否正在将流量发送到您的 EC2 实例。要删除负载均衡器,请参阅 删除 Application Load Balancer

要测试负载均衡器

  1. 创建负载均衡器之后,选择 Close (关闭)

  2. 在导航窗格中的 Load Balancing (负载均衡) 下,选择 Target Groups (目标组)。

  3. 选择新创建的目标组。

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

  5. 在导航窗格中的 Load Balancing (负载平衡) 下,选择 Load Balancers (负载均衡器)

  6. 选择新创建的负载均衡器。

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