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

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

创建 Application Load Balancer

Application Load Balancer 接受来自客户端的请求,并将其分配到目标组中的目标(例如 EC2 实例)。有关更多信息,请参阅《弹性负载均衡用户指南》中的弹性负载均衡的工作原理

先决条件

  • 确定应用程序将支持的可用区和 IP 地址类型。在负载均衡器 VPC 以及在每个可用区的子网。如果应用程序同时支持 IPv4 和 IPv6 流量,请确保子网同时支持 IPv4 和。 IPv6 CIDRs在每个可用区中至少部署一个目标。有关更多信息,请参阅 您的负载均衡器的子网

  • 确保目标实例的安全组允许来自客户端 IP 地址(如果目标通过实例 ID 指定)或负载均衡器节点(如果目标通过 IP 地址指定)的流量通过侦听器端口。有关更多信息,请参阅 推荐的规则

  • 确保目标实例的安全组允许来自负载均衡器的流量使用运行状况检查协议通过运行状况检查端口。

创建负载均衡器

在创建应用程序负载均衡器的过程中,您将创建负载均衡器、至少一个侦听器和至少一个目标组。负载均衡器在每个已启用的可用区内至少有一个运行正常的已注册目标时,即表示其做好了处理客户端请求的准备。

Console
创建应用程序负载均衡器
  1. 打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/

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

  3. 选择创建负载均衡器

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

  5. 基本配置

    1. 对于Load balancer name(负载均衡器名称),输入负载均衡器的名称。名称在该区域的负载均衡器集合中必须唯一。名称最多可包含 32 个字符,并且只能包含字母数字字符和连字符。它们不能以连字符或 internal- 开头或结尾。应用程序负载均衡器创建后将不能更改其名称。

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

    3. 对于负载均衡器 IP 地址类型,请选择IPv4您的客户端是使用 IPv4 地址与负载均衡器通信,如果您的客户端同时使用 IPv4 和 IPv6 地址与负载均衡器通信,则选择双栈地址。 IPv4如果您的客户端仅使用 IPv6 地址与负载均衡器通信,请选择不公开的 Dualstack

  6. 网络映射

    1. 对于 VPC,请选择您为负载均衡器准备的 VPC。对于面向互联网的负载均衡器,只能选择 VPCs带有互联网网关的负载均衡器。

    2. (可选)对于 IP 池,您可以选择将 IPAM 池用于公 IPv4 有地址。有关更多信息,请参阅 IPAM IP 地址池

    3. 对于可用区和子网,按以下方式为负载均衡器启用可用区:

      • 选择至少来自两个可用区的子网

      • 选择至少一个本地区域中的子网

      • 选择一个 Outpost 子网

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

      使用 Dualstack 负载均衡器时,必须选择同时包含两者 IPv4 和 IPv6 CIDR 块的子网。

  7. 安全组

    我们会为负载均衡器 VPC 预选默认安全组。您可以根据需要选择其他安全组。如果您没有可满足您需求的安全组,请选择创建新的安全组,以立即创建一个。有关更多信息,请参阅《Amazon VPC 用户指南》中的创建安全组

  8. 侦听器和路由

    1. 默认值是一个通过端口 80 接受 HTTP 流量的侦听器。您可保留默认侦听器设置,或者根据需要修改协议端口

    2. 对于默认操作,选择目标组以转发流量。如果没有能满足您需求的目标组,请选择创建目标组,以立即创建一个目标组。有关更多信息,请参阅 创建目标组

    3. (可选)选择添加侦听器标签,然后输入标签键和标签值。

    4. (可选)选择添加侦听器以添加其他侦听器(例如,HTTPS 侦听器)。

  9. 安全侦听器设置

    仅当您添加 HTTPS 侦听器时才会显示此部分。

    1. 对于安全策略,请选择符合您要求的安全策略。有关更多信息,请参阅 安全策略

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

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

      • 如果您使用 IAM 导入了一个证书,则选择从 IAM,然后选择您的证书。

      • 如果您在 ACM 中没有可用的证书,但有可用于负载均衡器的证书,请选择导入证书,并提供所需的信息。否则,请选择请求新的 ACM 证书。有关更多信息,请参阅《Amazon Certificate Manager 用户指南》中的 Amazon Certificate Manager 证书 certificates

    3. (可选)选择双向认证(mTLS),然后选择一个策略以启用 ALPN。

      有关更多信息,请参阅 双向 TLS 身份验证

  10. 通过服务集成进行优化

    (可选)您可以将 other Amazon 与您的负载均衡器集成。有关更多信息,请参阅 负载均衡器集成

  11. 负载均衡器标签

    (可选)展开负载均衡器标签。(可选)选择添加新的标签,然后输入标签键和标签值。有关更多信息,请参阅标签

  12. 摘要

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

Amazon CLI
创建应用程序负载均衡器

使用 create-load-balancer 命令。

以下示例创建了一个面向互联网的负载均衡器,包括两个已启用的可用区和一个安全组。

aws elbv2 create-load-balancer \ --name my-load-balancer \ --type application \ --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \ --security-groups sg-1111222233334444
创建内部应用程序负载均衡器

包含如下示例所示的 --scheme 选项。

aws elbv2 create-load-balancer \ --name my-load-balancer \ --type application \ --scheme internal \ --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \ --security-groups sg-1111222233334444
创建双栈应用程序负载均衡器

包含如下示例所示的 --ip-address-type 选项。

aws elbv2 create-load-balancer \ --name my-load-balancer \ --type application \ --ip-address-type dualstack \ --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \ --security-groups sg-1111222233334444
添加侦听器

使用 create-listener 命令。有关示例,请参阅 创建 HTTP 侦听器创建 HTTPS 侦听器

CloudFormation
创建应用程序负载均衡器

定义类型为的资源AWS::ElasticLoadBalancingV2::LoadBalancer

Resources: myLoadBalancer: Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer' Properties: Name: my-alb Type: application Scheme: internal IpAddressType: dualstack Subnets: - !Ref subnet-AZ1 - !Ref subnet-AZ2 SecurityGroups: - !Ref mySecurityGroup Tags: - Key: "department" Value: "123"
添加侦听器

定义类型为的资源AWS::ElasticLoadBalancingV2::Listener。有关示例,请参阅 创建 HTTP 侦听器创建 HTTPS 侦听器

测试负载均衡器

创建负载均衡器后,您可以验证您的 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. 如果网页未显示,请参阅以下文档以获取其他配置帮助和故障排除步骤。

后续步骤

创建负载均衡器后,您可能需要执行以下操作: