我想将静态或弹性 IP 地址用于 AWS Fargate 上的 Amazon Elastic Container Service(Amazon ECS)任务。
简短描述
无法将静态 IP 地址或弹性 IP 地址直接添加到 Fargate 任务。要在 Fargate 任务中使用静态 IP 或弹性 IP,请先创建带有网络负载均衡器的 Fargate 服务。然后,将任务的弹性 IP 地址附加到负载均衡器。
选择以下任一方案:
- 要为 Fargate 任务创建静态 IP 地址用于入站流量,请完成“解决方法”部分中的以下步骤。
- 要为 Fargate 任务创建静态 IP 地址用于出站流量,请创建 NAT 网关。在这种情况下,下游使用者需要一个静态 IP 地址。必须将 Fargate 任务放置在私有子网中。您可以将 NAT 网关 IP 地址用于 IP 允许列表。
解决方法
创建网络负载均衡器,然后为目标组配置路由
- 打开 Amazon EC2 控制台。
- 在导航窗格中的负载均衡下,选择负载均衡器。
- 选择创建负载均衡器。
- 在选择负载均衡器类型页面上,选择网络负载均衡器的创建。
- 在创建网络负载均衡器页面上,对于负载均衡器名称,输入您的负载均衡器的名称。
- 对于方案,选择面向互联网或内部。
- 对于 IP 地址类型,选择 IPv4。
- 在网络映射部分,对于 VPC,选择 Fargate 任务的 Amazon Virtual Private Cloud(Amazon VPC)。
- 对于映射,为每个可用区至少选择一个可用区和一个子网。
**注意:**启用多个可用区可以提高应用程序的容错能力。对于面向互联网的负载均衡器,请为每个可用区选择弹性 IP 地址。这会为您的负载均衡器提供静态 IP 地址。或者,对于内部负载均衡器,从每个子网的 IPv4 范围中分配私有 IP 地址,请勿让 AWS 分配。
- 在侦听器和路由部分中,保留默认侦听器或者添加其他侦听器。
注意:默认侦听器接受端口 80 上的 TCP 流量。可以保留默认侦听器设置,可以修改侦听器的协议或端口,或者选择添加侦听器来添加其他侦听器。
- 对于协议,选择您的协议。
- 对于端口,选择您的端口。
- 在默认操作下,选择创建目标组。
**注意:**网络负载均衡器侦听器规则会使用目标组,还会将请求转发到目标组。
- 在指定组详细信息页面上,对于选择目标类型,选择 IP 地址。
注意:Fargate 不支持实例目标类型。
- 对于目标组名称,输入目标组的名称。
- 在运行状况检查部分中,保留默认设置。
- 选择下一步。
**注意:**负载均衡器会分配目标组内的目标之间的流量。目标组与 Amazon ECS 服务关联时,Amazon ECS 会自动向目标组注册和注销容器。由于 Amazon ECS 会处理目标注册,因此您不需要向目标组添加目标。
- 在注册目标页面上,选择创建目标组。
- 导航到创建网络负载均衡器页面。
- 在侦听器和路由部分中,对于转发至,选择您创建的目标组。
注意: 创建新目标组后,必须选择“重新加载”按钮才能看到该目标组。
- 选择创建负载均衡器。
创建 Amazon ECS 服务
创建 Amazon ECS 服务。创建服务时,请务必在服务定义中指定目标组。
各服务任务启动时,服务定义中指定的容器和端口组合将向目标组注册。然后,流量将从负载均衡器路由到该容器。
相关信息
Service load balancing