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

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

创建 Application Load Balancer

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

开始前,请确保您有一个满足以下要求的虚拟私有云 (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. 在导航窗格中,选择目标组

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

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

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

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

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

    4. 如果目标类型为实例IP 地址,则对于 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. 展开标签部分。

    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 (方案),选择互联网-facing (面向互联网) 或 Internal (内部)。面向互联网的负载均衡器将来自客户端的请求通过互联网路由到目标。内部负载均衡器使用私有 IP 地址将请求路由到目标。

    3. 对于 IP 地址类型,请选择不带公有 IPv4 的 IPv4DualstackDual stack。如果您的客户端使用 IPv4 地址与负载均衡器通信,请选择 IPv4。如果您的客户端使用 IPv4 和 IPv6 地址与负载均衡器通信,则选择 Dualstack(双堆栈)。如果您的客户端仅使用 IPv6 地址与负载均衡器通信,请选择不带公有 IPv4 的 Dualstack

  6. 网络映射

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

    2. 对于映射,通过选择子网来为负载均衡器启用区域,如下所示:

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

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

      • 一个 Outpost 子网

      有关更多信息,请参阅 您的负载均衡器的子网

      对于内部负载均衡器,从子网 CIDR 分配 IPv4 和 IPv6 地址。

      如果为负载均衡器启用了双堆栈模式,请选择具有 IPv4 和 IPv6 CIDR 块的子网。

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

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

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

  8. 对于 Listeners and routing(侦听器和路由),默认侦听器接收端口 80 上的 HTTP 流量。您可以保留默认协议和端口,或者选择不同的协议和端口。对于 Default action(默认操作),选择您创建的目标组。您还可以选择 Add listener(添加侦听器)以添加其他侦听器(例如,HTTPS 侦听器)。

  9. (可选)如果使用 HTTPS 侦听器

    对于安全策略,建议您始终使用最新的预定义安全策略。

    1. 对于默认 SSL/TLS 证书,以下选项可用:

      • 如果您使用创建或导入了证书 Amazon Certificate Manager,请选择来自 ACM,然后从 “选择证书” 中选择证书

      • 如果使用 IAM 导入了证书,请选择从 IAM,然后在选择证书中选择该证书。

      • 如果您有要导入的证书,但您所在的区域不提供 ACM,请选择导入,然后选择到 IAM。在证书名称字段中输入证书的名称。在证书私有密钥中,复制并粘贴私有密钥文件(PEM 编码的文件)的内容。在证书正文中,复制并粘贴公有密钥证书文件(PEM 编码的文件)的内容。在 Certificate Chain 中,复制并粘贴证书链文件(PEM 编码的文件)的内容,除非您使用的是自签名证书并且浏览器是否隐式接受证书并不重要。

    2. (可选)要启用相互身份验证,请在客户端证书处理下启用相互身份验证 (mTLS)

      启用后,默认的双向 TLS 模式为直通

      如果您选择 “使用信任存储进行验证”:

      • 默认情况下,客户端证书已过期的连接将被拒绝。要更改此行为,请展开 “高级 mTLS 设置”,然后在 “客户证书到期” 下选择 “允许过期的客户证书”。

      • Trust Store 下,选择现有的信任存储,或选择 “新建信任存储”。

        • 如果您选择 “新建信任存储”,请提供信任存储名称S3 URI 证书颁发机构位置以及(可选)S 3 URI 证书吊销列表位置

  10. (可选)您可以在创建期间将其他服务与您的负载均衡器集成,位于 “使用服务集成” 进行优化

    • 您可以选择使用现有或自动创建的 Web ACL 为负载均衡器提供Amazon WAF安全保护。创建后,可以在Amazon WAF 控制台中管理 Web ACL。有关更多信息,请参阅《开发者指南》中的将 Web ACL 与 Amazon 资源关联或取消关联。Amazon WAF

    • 您可以选择为您Amazon Global Accelerator创建加速器,并将您的负载均衡器与加速器关联。加速器名称可以包含以下字符(最多 64 个字符):a-z、A-Z、0-9、。 (句点)和-(连字符)。创建加速器后,您可以在Amazon Global Accelerator 控制台中对其进行管理。有关更多信息,请参阅《Amazon Global Accelerator 开发人员指南》中的在创建负载均衡器时添加加速器。

  11. 标记和创建

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

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

步骤 4:测试负载均衡器

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

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

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

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

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

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

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

  7. 选择描述并复制面向互联网的负载均衡器或内部负载均衡器的 DNS 名称(例如, my-load-balancer-1234567890abcdef. elb.us-east-2.amazonaws.com)。

    • 对于面向互联网的负载均衡器,请将 DNS 名称粘贴到连接互联网的 Web 浏览器的地址字段中。

    • 对于内部负载均衡器,请将 DNS 名称粘贴到与 VPC 具有私有连接的 Web 浏览器的地址字段中。

    如果所有内容的配置都正确,浏览器会显示您服务器的默认页面。

  8. 如果网页未显示,请参阅以下文档以获取其他配置帮助和故障排除步骤。