作为目标的 Application Load Balancer - Elastic Load Balancing

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

作为目标的 Application Load Balancer

您可以使用单个 Application Load Balancer 作为目标来创建目标组,然后配置 Network Load Balancer 以将流量转发到目标组。在这种情况下,Application Load Balancer 将在流量到达后立即接管负载均衡决策。此配置结合了两种负载均衡器的功能,并具有以下优点:

  • 您可以将应用程序负载均衡器基于第 7 层请求的路由功能与网络负载均衡器支持的功能结合使用,例如端点服务 (AWS PrivateLink) 和静态 IP 地址。

  • 您可以将此配置用于对于多个协议需要单个端点的应用程序,例如使用 HTTP 进行信号发送的媒体服务和用于流式传输内容的 RTP。

您可以将此功能与内部或面向 Internet 的应用程序负载均衡器搭配使用,作为内部或面向 Internet 的网络负载均衡器的目标。

注意事项
  • 要将应用程序负载均衡器关联为网络负载均衡器的目标,它们必须位于同一账户中的同一 Amazon VPC 中。

  • 您可以将应用程序负载均衡器作为多个网络负载均衡器的目标。为此,使用单独的目标组为每个网络负载均衡器注册应用程序负载均衡器。

  • 您使用网络负载均衡器注册的每个应用程序负载均衡器会将每个网络负载均衡器在每个可用区的最大目标数减少 50 个(如果禁用跨区域负载均衡)或 100 个(如果启用跨区域负载均衡)。您可以在这两个负载均衡器中禁用跨区域负载均衡,以尽量减少延迟并避免区域数据传输费用。有关更多信息,请参阅 Network Load Balancer 的配额

  • 当目标组类型为 alb 时,您无法修改目标组属性。这些属性始终使用其默认值。

  • 注册应用程序负载均衡器作为目标,只有从所有目标组中取消注册此应用程序负载均衡器才能将其删除。

步骤 1:创建应用程序负载均衡器

在开始之前,请配置此应用程序负载均衡器将使用的目标组。确保您有一个虚拟私有云(VPC),其中包含您将在目标组中注册的目标。此 VPC 必须在目标使用的每个可用区中至少有一个公有子网。

使用控制台创建 Application Load Balancer
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 Load Balancing (负载均衡) 下,选择 Load Balancers (负载均衡器)。

  3. 选择创建负载均衡器

  4. 应用程序负载均衡器下,选择创建

  5. Create Application Load Balancer(创建应用程序负载均衡器)页面上的 Basic configuration(基本配置)下,指定 Load balancer name(负载均衡器名称)、Scheme(方案)和 IP address type(IP 地址类型)。

  6. 对于侦听器,您可以在任何端口上创建 HTTP 或 HTTPS 侦听器。但是,您必须确保此侦听器的端口号与 Application Load Balancer 将驻留的目标组的端口匹配。

  7. Availability Zones (可用区) 下,请执行以下操作:

    1. 对于 VPC,选择一个虚拟私有云 (VPC),其中包含您作为 Application Load Balancer 的目标包含的实例或 IP 地址。您必须使用与用于 步骤 3:创建 Network Load Balancer,并将 Application Load Balancer 配置为其目标 中的 Network Load Balancer 相同的 VPC。

    2. 选择两个或多个 Availability Zones (可用区) 和相应的子网。确保这些可用区与为 Network Load Balancer 启用的可用区匹配,以优化可用性、扩展性和性能。

  8. 您可以通过创建新安全组或选择现有安全组,以 Assign a security group (分配安全组) 给您的负载均衡器。

    您选择的新安全组应包含一条规则,该规则允许将流量传送到此负载均衡器的侦听器端口。使用客户端计算机的 CIDR 块(IP 地址范围)作为安全组入站规则中的流量源。这可让客户端通过此 Application Load Balancer 传送流量。有关将应用程序负载均衡器的安全组配置为网络负载均衡器的目标的更多信息,请参阅《应用程序负载均衡器用户指南》中的 应用程序负载均衡器的安全组

  9. 对于 Configure Routing (配置路由),选择您为此 Application Load Balancer 配置的目标组。如果没有可用的目标组,并且想要配置新的目标组,请参阅适用于 Application Load Balancer 的用户指南中的创建目标组

  10. 查看配置,然后选择 Create load balancer (创建负载均衡器)。

使用 Application Load Balancer AWS CLI

使用 create-load-balancer 命令。

步骤 2:以 Application Load Balancer 作为目标创建目标组

创建目标组可让您将新的或现有的 Application Load Balancer 注册为目标。每个目标组只能添加一个 Application Load Balancer。同一个 Application Load Balancer 也可以在单独的目标组中使用,作为最多两个 Network Load Balancer 的目标。

使用控制台创建目标组并将 Application Load Balancer 注册为目标
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的负载均衡下,选择目标组

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

  4. Specify group details (指定组详细信息)页面的 Basic configuration (基本配置) 下,选择 Application Load Balancer

  5. 对于 Target group name (目标组名称),输入 Application Load Balancer 目标组的名称。

  6. 对于 Protocol (协议),只允许 TCP。为您的目标组选择 Port (端口)。此目标组端口必须与 Application Load Balancer 的侦听器端口匹配。或者,您可以在应用程序负载均衡器上添加或编辑侦听器端口以匹配此端口。

  7. 对于 VPC,选择一个带有应用程序负载均衡器的虚拟私有云 (VPC),以便向目标组注册。

  8. 对于运行状况检查,选择 HTTP 或 HTTPS 作为运行状况检查协议。运行状况检查将发送到 Application Load Balancer 并使用指定的端口、协议和 ping 路径转发到其目标。确保应用程序负载均衡器可以通过侦听器来接收这些运行状况检查结果,该侦听器的端口和协议与运行状况检查端口和协议匹配。

  9. (可选)根据需要添加一个或多个标签。

  10. 选择下一步

  11. Register targets (注册目标) 页面中,选择要注册为目标的 Application Load Balancer。从列表中选择的 Application Load Balancer 必须具有与所创建目标组位于同一端口上的侦听器。您可以在此负载均衡器上添加或编辑侦听器以匹配目标组的端口,或返回上一步并更改为目标组指定的端口。如果您不确定要添加哪个 Application Load Balancer 作为目标,或者此时不想添加它,则可以选择稍后添加 Application Load Balancer。

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

若要使用 AWS CLI创建目标组并将应用程序负载均衡器注册为目标

使用 create-target-groupregister-targets 命令。

步骤 3:创建 Network Load Balancer,并将 Application Load Balancer 配置为其目标

使用以下步骤创建 Network Load Balancer,然后使用控制台将 Application Load Balancer 配置为其目标。

使用控制台创建 Network Load Balancer 和侦听器
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 Load Balancing (负载均衡) 下,选择 Load Balancers (负载均衡器)。

  3. 选择创建负载均衡器

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

  5. 基本配置

    基本配置窗格中,配置负载均衡器名称方案IP 地址类型

  6. 网络映射

    1. 对于 VPC,选择用于应用程序负载均衡器目标的相同 VPC。如果您为 Scheme (方案) 选择了 Internet-facing (面向 Internet),只有带有互联网网关的 VPC 可供选择。

    2. 对于 Mappings (映射),选择一个或多个可用区和相应的子网。我们建议您选择与 Application Load Balancer 目标相同的可用区,以优化可用性、扩展性和性能。

      (可选)要使用静态 IP 地址,请针对每个可用区选择 IPv4 设置中的使用弹性 IP 地址。使用静态 IP 地址,您可以将某些 IP 地址添加到防火墙允许列表中,也可以对客户端进行 IP 地址硬编码。

  7. 侦听器和路由

    1. 默认值是负责接收端口 80 上的 TCP 流量的侦听器。只有 TCP 侦听器才能将流量转发到应用程序负载均衡器目标组。您必须将协议保留为 TCP,但可以根据需要修改端口

      通过此配置,您可以在应用程序负载均衡器上使用 HTTPS 侦听器终止 TLS 流量。

    2. 对于默认操作,选择向其转发流量的应用程序负载均衡器目标组。如果在列表中没有看到此目标组,或者无法选择目标组(因为它已被另一个网络负载均衡器使用),则可以创建一个应用程序负载均衡器目标组,如 步骤 2:以 Application Load Balancer 作为目标创建目标组 中所示。

  8. 标签

    (可选)添加标签以对负载均衡器进行分类。有关更多信息,请参阅标签

  9. 摘要

    查看配置,然后选择创建负载均衡器

使用创建 Network Load Balancer AWS CLI

使用 create-load-balancer 命令。

要使用您在上一步中设置的网络负载均衡器作为私有连接的端点,您可以启用 AWS PrivateLink。这将建立与负载均衡器作为终端节点服务的私有连接。

要使用您的网络负载均衡器创建 VPC 端点服务
  1. 在导航窗格中,选择负载均衡器

  2. 选择网络负载均衡器的名称以打开其详细信息页面。

  3. 集成选项卡上,展开 VPC 端点服务(AWS PrivateLink)

  4. 选择创建端点服务以打开端点服务页面。有关其余步骤,请参阅《AWS PrivateLink 指南》中的创建端点服务