我想将静态或弹性 IP 地址用于 AWS Fargate 上的 Amazon Elastic Container Service(Amazon ECS)任务。
简短描述
无法将静态或弹性 IP 地址直接添加到 Fargate 任务。要在 Fargate 任务中使用静态或弹性 IP 地址,请先创建带有网络负载均衡器的 Fargate 服务。然后,使用负载均衡器的静态 IP 地址作为任务的固定入口点。
解决方法
要为 Fargate 任务创建静态 IP 地址用于出站流量,请创建 NAT 网关。您必须为下游使用者使用静态 IP 地址,并将 Fargate 任务放置在私有子网中。然后,使用 NAT 网关 IP 地址创建 IP 地址允许列表。
要创建静态 IP 地址用于入站流量,请完成以下步骤。
创建目标组
创建目标组,然后在 Choose a target type(选择目标类型)中选择 IP addresses(IP 地址),在 Protocol(协议)中选择 TCP。
**注意:**不能在 Fargate 上使用 Instances(实例)目标类型。
配置网络负载均衡器以使用您的目标组
**注意:**您的负载均衡器的安全组规则必须允许出站流量与流量端口和运行状况检查端口上的已注册目标进行通信。这些规则还必须允许来自客户端的入站流量通过侦听器端口。
将目标组连接到同一虚拟私有云 (VPC) 中的网络负载均衡器。负载均衡器会分配目标组内的目标之间的流量。将目标组与 Amazon ECS 服务关联时,Amazon ECS 会自动向目标组注册和注销容器实例。由于 Amazon ECS 会处理目标注册,因此您不需要向目标组添加目标。
创建 Amazon ECS 服务
创建包含 Fargate 启动类型的 Amazon ECS 服务。创建服务时,请务必在服务定义中指定您创建的目标组。此外,与服务关联的安全组必须允许来自负载均衡器的入站流量通过流量端口和运行状况检查端口。
各服务任务启动时,Amazon ECS 会向您的目标组注册服务定义中的容器实例和端口组合。然后,负载均衡器会将流量路由到该容器实例。
相关信息
使用负载均衡分配 Amazon ECS 服务流量