跳至内容

如何为 Fargate 上的 Amazon ECS 任务使用具有弹性 IP 地址的网络负载均衡器?

2 分钟阅读
0

我想将静态或弹性 IP 地址用于 AWS Fargate 上的 Amazon Elastic Container Service (Amazon ECS) 任务。

解决方法

您无法为 Fargate 任务分配静态 IP 地址或弹性 IP 地址。要将静态 IP 地址用于 Fargate 任务,请创建带有网络负载均衡器的 Fargate 服务,并将弹性 IP 地址附加到该负载均衡器。

根据您的流量需求,选择以下选项之一:

  • 对于出站流量,在 Fargate 任务所在的私有子网上创建 NAT 网关。NAT 网关的静态 IP 地址可用于 IP 允许列表。有关更多信息,请参阅将 Amazon ECS 应用程序连接到互联网
  • 对于入站流量,创建带有弹性 IP 地址的网络负载均衡器,并将其配置为将流量路由到您的 Fargate 任务。请完成以下部分中的步骤。

创建带有目标组的网络负载均衡器

  1. 打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台
  2. 在导航窗格中的 Load Balancing(负载均衡)下,选择 Load Balancers(负载均衡器)。
  3. 选择 Create Load Balancer(创建负载均衡器)。
  4. 对于 Compare and select load balancer type(比较并选择负载均衡器类型),为 Network Load Balancer(网络负载均衡器)选择 Create(创建)。
  5. 对于 Load balancer name(负载均衡器名称),输入您的负载均衡器的名称。
  6. 对于 Scheme(方案),选择 Internet-facing(面向互联网)或 Internal(内部)。
  7. 对于 IP address type(IP 地址类型),选择 IPv4
  8. Network mapping(网络映射)部分,对于 VPC,选择 Fargate 任务的 Amazon Virtual Private Cloud (Amazon VPC)。
  9. 对于 Availability Zones and subnets(可用区域和子网),请为每个可用区至少选择一个可用区和一个子网。
    **注意:**启用多个可用区可以提高应用程序的容错能力。对于面向互联网的负载均衡器,请为每个可用区选择一个弹性 IP 地址,以便为您的负载均衡器提供静态 IP 地址。对于内部负载均衡器,从每个子网的 IPv4 范围中分配一个私有 IP 地址,或让 AWS 为您分配。
  10. 对于 Listeners and routing(侦听器和路由),保留默认侦听器或者添加其他侦听器。
    **注意:**默认侦听器接受端口 80 上的 TCP 流量。您可以保留默认侦听器设置,修改侦听器的协议或端口,或者选择 Add listener(添加侦听器)来添加其他侦听器。
  11. 对于 Protocol(协议),选择您的协议。
  12. 对于 Port(端口),选择您的端口。
  13. Forward to target group(转发到目标组)下,选择 Create target group(创建目标组)。
    **注意:**网络负载均衡器侦听器规则会使用目标组,还会将请求转发到目标组。
  14. 对于 Target type(目标类型),选择 IP addresses(IP 地址)。
    注意:Fargate 不支持实例目标类型。
  15. 对于 Target group name(目标组名称),输入您的目标组名称。
  16. Health checks(运行状况检查)下,保留默认设置。
  17. 选择 Next(下一步)。
    **注意:**负载均衡器会分配目标组内的目标之间的流量。当目标组与 Amazon ECS 服务关联时,Amazon ECS 会自动从目标组注册和注销任务。由于 Amazon ECS 会处理目标注册,因此您无需向目标组添加目标。
  18. 选择 Create target group(创建目标组)。
  19. 导航回 Create Network Load Balancer(创建网络负载均衡器)选项卡。
  20. Listeners and routing(侦听器和路由)下,对于 Target group(目标组),选择您创建的目标组。
    **注意:**创建新目标组后,必须选择刷新目标组按钮才能看到该目标组。
  21. 选择 Create load balancer(创建负载均衡器)。

使用网络负载均衡器创建 Amazon ECS 服务

创建 Amazon ECS 服务并在服务定义中指定目标组。当服务的各项任务启动时,Amazon ECS 会向您的目标组注册服务定义中指定的容器和端口组合。然后,负载均衡器会将流量路由到该容器。

相关信息

使用负载均衡分配 Amazon ECS 服务流量

为 Amazon ECS 使用网络负载均衡器

适用于 Fargate 的 Amazon ECS 任务联网选项

创建网络负载均衡器

将 Amazon ECS 应用程序连接到互联网

AWS 官方已更新 4 个月前