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

创建 Application Load Balancer

本节将指导您完成在 Amazon Web Services Management Console 中创建 Application Load Balancer 的过程。要了解如何使用 Amazon CLI 创建 Application Load Balancer 的信息,请参阅 Application Load Balancer 用户指南中的教程:使用 Amazon CLI 创建 Application Load Balancer

配置目标组以进行路由

在此部分中,您将为负载均衡器创建一个目标组,并为已注册到该组的目标创建运行状况检查标准。

每个目标组均用于将请求路由到一个或多个已注册的目标。满足规则条件时,流量会转发到相应的目标组。

您的负载均衡器会在已注册到其目标组的目标之间分配流量。将目标组关联到 Amazon ECS 服务时,Amazon ECS 会自动向目标组注册和注销容器。由于 Amazon ECS 会处理目标注册,因此您此时不要将目标添加到目标组。

要创建目标组

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

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

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

  4. Choose a target type(选择目标类型)中,选择目标类型。

    重要

    如果您的服务任务定义使用 awsvpc 网络模式(Fargate 启动类型需要该网络模式),则必须选择 IP addresses(IP 地址)作为目标类型,因为使用 awsvpc 网络模式的任务与弹性网络接口关联,而不是 Amazon EC2 实例。

  5. 对于 Target group name,键入目标组的名称。此名称在每个区域的每个账户中必须唯一,最多可以有 32 个字符,只能包含字母数字字符或连字符,不得以连字符开头或结尾。

  6. (可选) 对于 Protocol (协议)Port (端口),根据需要修改默认值。

  7. 如果目标类型为 IP addresses(IP 地址),选择 IPv4

  8. 对于 VPC,选择 Virtual Private Cloud (VPC)。请注意,对于 IP 地址目标类型,可供选择的 VPC 是支持上一步中所选 IP 地址类型 的 VPC。

  9. (可选)对于 Protocol version(协议版本),保留默认值。

  10. (可选)在 Health checks(运行状况检查)部分中,保留默认设置。

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

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

    2. 选择 Add tag (添加标签)

    3. 输入标签键和标签值。

  12. 选择 Next (下一步)

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

定义您的负载均衡器

首先,为负载均衡器提供一些基本配置信息(如名称、网络和侦听器)。

侦听器是用于检查连接请求的进程。使用前端 (客户端到负载均衡器) 连接的协议和端口与后端 (负载均衡器到后端实例) 连接的协议和端口配置侦听器。在此示例中,您将配置一个侦听器,该侦听器接受端口 80 上的 HTTP 请求并使用 HTTP 将它们发送至端口 80 上的任务中的容器。

配置负载均衡器和侦听器

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

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

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

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

  5. Basic configuration(基本配置)下,执行以下操作:

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

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

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

  6. Network mapping(网络映射)下,请执行以下操作之一:

    1. 对于 VPC,选择您用于要在其上运行服务的容器实例的相同 VPC。

    2. 对于 Mappings(映射),选中要为负载均衡器使用的可用区的复选框。如果该可用区有一个子网,则将选择此子网。如果该可用区有多个子网,请选择其中一个子网。您只能为每个可用区域选择一个子网。您的负载均衡器子网配置必须包含容器实例所在的所有可用区。

  7. Security groups(安全组)下,执行以下操作:

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

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

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

  8. Listeners and routing(侦听器和路由)下,执行以下操作:

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

    如果您要创建 HTTPS 侦听器,则配置必需的

    当您对负载均衡器侦听器使用 HTTPS 时,必须在负载均衡器上部署 SSL 证书。负载均衡器先使用此证书终止连接,然后解密来自客户端的请求,最后再将请求发送到目标。在 Secure listener settings(安全的侦听器设置)下,执行以下操作:

    1. 对于 Select policy,选择一个预定义的安全策略。有关安全策略的详细信息,请参阅 Elastic Load Balancing Application Load Balancer 中的安全策略

    2. 对于 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. (可选)标记您的 Application Load Balancer。在 Tag and create(添加标签和创建)下,执行以下操作

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

    2. 选择 Add tag (添加标签)

    3. 输入标签键和标签值。

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

为您的容器实例创建安全组规则

创建 Application Load Balancer 后,您必须向容器实例安全组添加一个入站规则,该规则允许来自负载均衡器的流量到达容器。

允许来自负载均衡器的入站流量进入容器实例

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

  2. 在左侧导航窗格中,选择 Security Groups

  3. 选择您的容器实例使用的安全组。如果已使用 Amazon ECS首次运行向导创建容器实例,则此安全组可有描述 ECS Allowed Ports (ECS 允许的端口)

  4. 选择 Inbound(入站)选项卡,然后选择 Edit inbound rules(编辑入站规则)。

  5. 对于 Type (类型),请选择 All traffic (所有流量)

  6. 对于 Source(源),请选择 Custom(自定义),然后选择 Application Load Balancer 安全组。此规则允许来自 Application Load Balancer 的所有流量到达您向负载均衡器注册的任务中的容器。

  7. 选择 Save 以完成操作。

创建 Amazon ECS 服务

创建负载均衡器和目标组后,您可在创建服务时在服务定义中指定目标组。在启动服务的每个任务时,服务定义中指定的容器和端口组合将注册到目标组,并且负载均衡器中的流量将路由到该容器。有关更多信息,请参阅在经典控制台中创建 Amazon ECS 服务