如何将静态或弹性 IP 地址用于 Fargate 上的 Amazon ECS 任务?

上次更新日期:2020 年 12 月 17 日

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

简短描述

您不能将静态 IP 地址或弹性 IP 地址直接添加到 Fargate 任务中。您必须使用带有弹性 IP 地址和 Fargate 服务的 Network Load Balancer 创建静态 IP 地址。

选择以下其中一种方案:

  • 要为 Fargate 任务创建静态 IP 地址用于入站流量,请完成解决方法部分中的以下步骤。
  • 要为 Fargate 任务创建静态 IP 地址用于出站流量,请创建 NAT 网关。在这种情况下,下游使用者需要静态 IP 地址。您必须将 Fargate 任务放在私有子网上。您可以将 NAT 网关 IP 地址用于 IP 允许列表。

解决方法

创建 Network Load Balancer 并为您的目标组配置路由

  1. 打开 Amazon EC2 控制台
  2. 从导航窗格中的 LOAD BALANCING(负载均衡)部分选择 Load Balancers(负载均衡器)。
  3. 选择 Create Load Balancer(创建负载均衡器)。
  4. Select load balancer type(选择负载均衡器类型)页面上,为 Network Load Balancer 选择 Create(创建)。
  5. Configure Load Balancer(配置负载均衡器)页面上,为 Name(名称)输入您的负载均衡器名称。
  6. 对于 Scheme(方案),请选择 external(外部)或 internal-facing(面向内部)。
  7. Listeners(侦听器)部分中,保留默认侦听器或添加另一个侦听器。
    注意:默认侦听器接受端口 80 上的 TCP 流量。您可以保留默认侦听器设置、修改侦听器的协议或端口,或者选择 Add listener(添加侦听器)以添加另一个侦听器。
  8. Availability Zones(可用区)部分中,对于 VPC,为您的 Fargate 任务选择 Amazon Virtual Private Cloud (Amazon VPC)。
    注意:要将弹性 IP 地址与子网关联,请从 Elastic IP(弹性 IP)中选择该地址。
  9. 跳过 Next: Configure Security Settings(下一步:配置安全设置)页面,然后选择 Next: Configure Routing(下一步:配置路由)。
  10. Configure Routing(配置路由)页面上,对于 Target group(目标组),选择 New target group(新目标组)(默认)。
    注意:目标组由 Network Load Balancer 侦听器规则使用,该规则将请求转发到目标组。
  11. 对于 Name(名称),输入目标组的名称。
  12. 对于 Target type(目标类型),选择 Instance(实例)或 IP
    注意:如果要使用 IP 地址注册目标,请选择 IP。
  13. 对于 Protocol(协议),请输入您的协议。
  14. 对于 Port(端口),请输入您的端口。
  15. Health checks(运行状况检查)部分中,保留默认设置。
  16. 选择 Next: Register Targets(下一步:注册目标)。
    注意:负载均衡器在目标组内的目标之间分配流量。当目标组与 Amazon ECS 服务关联时,Amazon ECS 会自动向目标组注册和取消注册容器。由于 Amazon ECS 处理目标注册,因此您不会向目标组添加目标。
  17. 跳过 Register Targets(注册目标)页面,选择 Next: Review(下一步:审核),然后选择 Create(创建)。

创建 Amazon ECS 服务

创建 Amazon ECS 服务。创建服务时,请务必在服务定义中指定目标组。

启动服务的每个任务时,服务定义中指定的容器和端口组合将注册到目标组中。然后,流量将从负载均衡器路由到该容器。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?