Tutorial: Create a 网络负载均衡器 using the AWS CLI - Elastic Load Balancing
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

Tutorial: Create a 网络负载均衡器 using the AWS CLI

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

Before you begin

  • Install the AWS CLI or update to the current version of the AWS CLI if you are using a version that does not support Network Load Balancer. For more information, see Installing the AWS Command Line Interface in the AWS Command Line Interface 用户指南.

  • Decide which Availability Zones you will use for your EC2 instances. Configure your virtual private cloud (VPC) with at least one public subnet in each of these Availability Zones.

  • Launch at least one EC2 instance in each Availability Zone. Ensure that the security groups for these instances allow TCP access from clients on the listener port and health check requests from your VPC. For more information, see 目标安全组.

Create your load balancer

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

创建负载均衡器

  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

Specify an Elastic IP address for your load balancer

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

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

Add targets using port overrides

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

使用端口覆盖添加目标

  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

Delete your load balancer

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

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