我有一个注册到 ECS 集群的 EC2,可以在其上运行任务。最初我选择了awsvpc
网络模式,因此每个任务(容器)都有自己的 ENI(IP)。但我遇到了限制https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI
所以我把网络模式改为
桥
使用桥接网络是否会将任务限制为 10 个,因为从上面的屏幕截图来看,每个 ENI 的私有 IP 限制为 10 个。我不知道使用是否会bridge
为任务分配私有 IP。我检查了ifconfig
EC2 主机上的输出,但它返回了一长串条目(一些有私有 IP,一些没有)
答案1
TL/DR:桥接网络的工作方式是为任务分配一个端口号并将其公开给实例的主 ENI。因此您不会遇到任何 ENI/IP 限制。如果您仍然渴望利用 AWS VPC 网络模式的优势,您可能会探索 Trunk ENI 解决方案,该解决方案允许您创建虚拟 ENI 来克服您指出的 ENI 数量限制。
完整故事:https://docs.aws.amazon.com/AmazonECS/latest/bestpracticesguide/networking-networkmode.html
另外,你有没有考虑过Fargate? 它隐藏了所有这些,甚至更多。