24

我正在探索为我的 ECS 容器使用新的 Fargate 选项。一个限制是运行中的任务必须始终可以在相同的公共 IP 地址访问。

我的第一个想法是分配一个弹性 IP,但我不知道将它与什么相关联。似乎弹性 IP 可以与实例(与 Fargate 无关)或网络接口相关联。但是,如果我将它与 ENI 关联,我看不到如何确保我的任务的容器具有该网络接口。创建服务时,我看到我可以将它放在 VPC 中,但仅此而已。

从实验来看,如果我终止一个任务以便服务重新启动一个新任务,或者如果我更新服务以运行新的任务修订版——开始运行新任务的容器每次都会有一个新的 ENI。

是否有某种方法可以确保给定服务具有相同的公共 IP 地址,即使其任务被终止并重新启动?

4

2 回答 2

11

实际上,您可以使用网络负载均衡器来做到这一点。它是一种特殊类型的负载均衡器,可以添加弹性IP。这个指令真的可以帮助 https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html

于 2018-03-07T19:22:58.707 回答
8

Fargate 当前不支持 ENI 分配,因此无法将弹性 IP 与 Fargate 任务定义关联。

在 Fargate 中使用静态 IP 地址的唯一方法是通过具有别名的 Application Load Balancer。

于 2018-02-06T15:55:01.117 回答