【发布时间】:2018-06-02 07:19:41
【问题描述】:
我正在探索为我的 ECS 容器使用新的 Fargate 选项。一个限制是,运行中的任务必须始终可以通过相同的公共 IP 地址访问。
我的第一个想法是分配一个弹性 IP,但我不知道将它与什么相关联。似乎弹性 IP 可以与实例(与 Fargate 无关)或网络接口相关联。但是,如果我将它与 ENI 关联,我看不到如何确保我的任务的容器具有该网络接口。创建服务时,我看到我可以将它放在 VPC 中,但仅此而已。
从实验中,如果我终止一个任务以便服务重新启动一个新任务,或者如果我更新服务以运行一个新的任务修订版 - 开始运行新任务的容器每次都会有一个新的 ENI。
是否有某种方法可以确保给定服务具有相同的公共 IP 地址,即使其任务被终止并重新启动?
【问题讨论】:
-
你不能为此使用负载均衡器吗?这样,您正在运行的任务将始终在负载均衡器地址上可用,并且即使在容器或底层主机重新启动后也不会更改。
-
你明白了吗?如果负载均衡器重新启动,IP 会有所不同。能够将主机名分配给弹性 ip 会很好。如果有任何东西重新启动,只需重新分配弹性 IP。
-
AWS支持的负载均衡器只做TCP,如果你的服务是UDP就不行
标签: amazon-web-services aws-fargate