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

作为目标的 Application Load Balancer

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

  • 您可以将 Application Load Balancer 基于第 7 层请求的路由功能与 Network Load Balancer 支持的功能结合使用,例如终端节点服务 (Amazon PrivateLink) 和静态 IP 地址。

  • 该配置适用于使用多协议连接的应用程序,例如使用 HTTP 进行信号发送的媒体服务和用于流式传输内容的 RTP。

您可以将此功能与内部或面向 Internet 的 Application Load Balancer 搭配使用,作为内部或面向 Internet 的 Network Load Balancer 的目标。

步骤 1:创建 Application Load Balancer

在开始之前,请配置此 Application Load Balancer 将流量路由到其中的目标组。请确保您有一个满足以下要求的 Virtual Private Cloud (VPC):具有想要包含在目标组中的实例,以及在目标使用的每个可用区中至少有一个公有子网。

使用控制台创建 Application Load Balancer

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

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

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

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

  5. Create Application Load Balancer (创建 Application Load Balancer) 页面,输入 Basic configuration (基本配置) 信息,例如名称方案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 传送流量。有关将 Application Load Balancer 的安全组配置为 Network Load Balancer 的目标的更多信息,请参阅 适用于 Application Load Balancer 的用户指南中的 Application Load Balancer 的安全组

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

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

若要使用 Amazon CLI 创建 Application Load Balancer

使用 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/

    请注意,对于此功能,您必须开启 New EC2 Experience (新的 EC2 体验)。使用导航窗格左上角的切换按钮切换到新控制台。

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

  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 的侦听器端口匹配。或者,您可以在 Application Load Balancer 上添加或编辑侦听器端口以匹配此端口。

  7. 对于 VPC,选择一个 Virtual Private Cloud (VPC),其中带有您想要包含在目标组中的 Application Load Balancer。

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

    对于 Advanced health check settings (高级运行状况检查设置),您无法修改 Unhealthy threshold (不正常阈值)Timeout (超时)Interval (间隔)Success codes (成功代码)。有关更多信息,请参阅 目标组的运行状况检查

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

  10. 选择 Next (下一步)

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

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

重要

如果您在任何时候需要删除 Application Load Balancer,请注意,无法删除已注册为目标组中目标的 Application Load Balancer。若要删除,必须首先从所有目标组中取消注册此负载均衡器。

若要使用 Amazon CLI 创建目标组并将 Application Load Balancer 注册为目标

使用 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/

    请注意,对于此功能,您必须开启 New EC2 Experience (新的 EC2 体验)。使用导航窗格左上角的切换按钮切换到新控制台。

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

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

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

  5. 基本配置

    Create Network Load Balancer (创建 Network Load Balancer) 页面中,输入 Basic configuration (基本配置)信息,例如 名称方案IP 地址类型

  6. 网络和安全性

    1. 对于 VPC,选择用于 Application Load Balancer 目标的相同 VPC。如果您为 Scheme (方案) 选择了 Internet-facing (面向 Internet),只有带有互联网网关的 VPC 可供选择。

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

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

  7. 侦听器和路由

    1. 对于 Listeners (侦听器),默认值是负责接收端口 80 上的 TCP 流量的侦听器。只有 TCP 侦听器才能将流量转发到 Application Load Balancer 目标组。将侦听器协议设置为 TCP,但您可以根据需要修改端口。

      此设置允许您使用 Application Load Balancer 上的 HTTPS 侦听器终止 TLS 协议。

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

  8. 添加标签(可选),然后选择 Create load balancer (创建负载均衡器)。

重要

您可以将 Application Load Balancer 关联为最多两个 Network Load Balancer 的目标。为此,Application Load Balancer 必须驻留在不同的目标组中,并分配给两个不同的 Network Load Balancer。

请注意,您放在 Network Load Balancer 后面的每个 Application Load Balancer 会将最大目标数减少 50 个(如果禁用跨区域负载均衡)或 100(如果启用跨区域负载均衡)。我们建议禁用跨区域负载均衡,以尽量减少延迟并避免区域数据传输费用。请参阅 Network Load Balancer 的配额 以了解基线限制。

使用 Amazon CLI 创建 Network Load Balancer

使用 create-load-balancer 命令。

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

若要在您的 Network Load Balancer 上启用 Amazon PrivateLink

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

  2. 在负载均衡器列表页面上,选择要启用 Amazon PrivateLink 的 Network Load Balancer。

  3. 在负载均衡器详细信息部分(列表下方)中,选择 Integrated services (集成服务) 选项卡。

  4. 向下滚动到VPC 终端节点服务 (Amazon PrivateLink)

  5. 选择 Create Endpoint Service (创建终端节点服务)。要查看剩余步骤,请参阅 Amazon PrivateLink 指南中的为接口终端节点创建 VPC 终端节点服务配置