Elastic Load Balancing
Network Load Balancer
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

教程:使用 AWS CLI 创建 网络负载均衡器

本教程介绍通过 AWS CLI 创建 Network Load Balancer 的实际操作。

开始前的准备工作

  • 安装 AWS CLI,或如果您使用的是不支持 Network Load Balancer 的版本,则更新到最新版本的 AWS CLI。有关更多信息,请参阅 AWS Command Line Interface 用户指南中的 安装 AWS 命令行界面

  • 确定将用于 EC2 实例的可用区。在每个这些可用区中配置至少带有一个公有子网的 Virtual Private Cloud (VPC)。

  • 在每个可用区中至少启动一个 EC2 实例。确保这些实例的安全组允许侦听器端口上来自客户端的 TCP 访问和来自您的 VPC 的运行状况检查请求。有关更多信息,请参阅 目标安全组

创建负载均衡器

要创建第一个负载均衡器,请完成以下步骤。

创建负载均衡器

  1. 使用 create-load-balancer 命令创建负载均衡器,并为在其中启动实例的每个可用区指定公有子网。每个可用区您只能指定一个子网。

    aws elbv2 create-load-balancer --name my-load-balancer --type network --subnets subnet-12345678

    输出包含负载均衡器的 Amazon 资源名称 (ARN),格式如下:

    arn:aws-cn:elasticloadbalancing:us-west-2:123456789012:loadbalancer/net/my-load-balancer/1234567890123456
  2. 使用 create-target-group 命令创建目标组,并指定用于 EC2 实例的相同 VPC:

    aws elbv2 create-target-group --name my-targets --protocol TCP --port 80 --vpc-id vpc-12345678

    输出包含目标组的 ARN,格式如下:

    arn:aws-cn:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/1234567890123456
  3. 使用 register-targets 命令将您的实例注册到目标组:

    aws elbv2 register-targets --target-group-arn targetgroup-arn --targets Id=i-12345678 Id=i-23456789
  4. 使用 create-listener 命令为您的负载均衡器创建侦听器,该侦听器带有将请求转发到目标组的默认规则:

    aws elbv2 create-listener --load-balancer-arn loadbalancer-arn --protocol TCP --port 80 \ --default-actions Type=forward,TargetGroupArn=targetgroup-arn

    输出包含侦听器的 ARN,格式如下:

    arn:aws-cn:elasticloadbalancing:us-west-2:123456789012:listener/net/my-load-balancer/1234567890123456/1234567890123456
  5. (可选) 您可以使用此 describe-target-health 命令验证目标组的已注册目标的运行状况:

    aws elbv2 describe-target-health --target-group-arn targetgroup-arn

为负载均衡器指定弹性 IP 地址

在创建网络负载均衡器时,可以使用子网映射为每个子网指定一个弹性 IP 地址。

aws elbv2 create-load-balancer --name my-load-balancer --type network \ --subnet-mappings SubnetId=subnet-12345678,AllocationId=eipalloc-12345678

使用端口覆盖添加目标

如果您有一个微服务架构,它在单个实例上有多个服务,则每个服务在不同的端口上接受连接。您可以将实例注册到目标组多次,每次使用不同的端口进行注册。

使用端口覆盖添加目标

  1. 使用 create-target-group 命令创建目标组:

    aws elbv2 create-target-group --name my-targets --protocol TCP --port 80 \ --vpc-id vpc-12345678
  2. 使用 register-targets 命令将您的实例注册到目标组。请注意,每个容器的实例 ID 相同,但端口不同。

    aws elbv2 register-targets --target-group-arn targetgroup-arn \ --targets Id=i-12345678,Port=80 Id=i-12345678,Port=766
  3. 使用 create-listener 命令为您的负载均衡器创建侦听器,该侦听器带有将请求转发到目标组的默认规则:

    aws elbv2 create-listener --load-balancer-arn loadbalancer-arn \ --protocol TCP --port 80 \ --default-actions Type=forward,TargetGroupArn=targetgroup-arn

删除负载均衡器

当您不再需要负载均衡器和目标组时,可以将其删除,如下所示:

aws elbv2 delete-load-balancer --load-balancer-arn loadbalancer-arn aws elbv2 delete-target-group --target-group-arn targetgroup-arn