创建 Application Load Balancer - Elastic Load Balancing

创建 Application Load Balancer

应用程序负载均衡器接收来自客户端的请求,然后将请求分发给目标组中的目标(例如 EC2 实例)。有关更多信息,请参阅《弹性负载均衡用户指南》中的弹性负载均衡的工作原理

先决条件

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

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

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

创建负载均衡器

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

Console
要创建 Application Load Balancer
  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 地址与负载均衡器通信,则选择双栈。如果您的客户端仅使用 IPv6 地址与负载均衡器通信,请选择不带公有 IPv4 的双堆栈

  6. 网络映射

    1. 对于 VPC,请选择您为负载均衡器准备的 VPC。对于面向互联网的负载均衡器,仅具有互联网网关的 VPC 可供选择。

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

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

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

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

      • 选择一个 Outpost 子网

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

      对于双栈负载均衡器,请选择同时具有 IPv4 和 IPv6 CIDR 数据块的子网。

  7. 安全组

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

  8. 侦听器和路由

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

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

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

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

  9. 安全侦听器设置

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

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

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

      • 如果您使用 AWS Certificate Manager 创建或导入了一个证书,请选择来自 ACM,然后选择该证书。

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

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

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

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

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

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

  11. 负载均衡器标签

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

  12. 总结

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

AWS CLI
要创建 Application Load Balancer

使用 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
要创建 Application Load Balancer

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

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

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

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

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

后续步骤

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