我正在探索为我的ECS容器使用新的Fargate选项。一个限制是必须始终可以在同一公共IP地址访问正在运行的任务。
我的第一个想法是分配一个弹性IP,但我无法分辨它与之相关联的内容。似乎弹性IP可以与实例(与Fargate无关)或网络接口相关联。但是,如果我将它与ENI关联,我无法看到如何确保我的任务的容器具有该网络接口。在创建服务时,我发现我可以把它放在VPC中,但就是这样。
从实验中,如果我终止任务以使服务重新启动新任务,或者如果我更新服务以运行新任务修订版 - 开始运行新任务的容器每次都会有一个新的ENI。 / p>
是否有某种方法可以确保给定服务具有相同的公共IP地址,即使其任务被终止并重新启动?
答案 0 :(得分:6)
Fargate目前不支持ENI分配,因此不可能将Elastic IP与Fargate任务定义相关联。
使用Fargate的静态IP地址的唯一方法是通过带有别名的应用程序负载均衡器。
答案 1 :(得分:2)
实际上你可以使用网络负载均衡器来实现。它是一种特殊类型的负载平衡器,可以添加弹性IP。 这条指令确实有帮助 https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html