AWS ECS:哪种组网模式可获得最佳性能



我正在评估在AWS ECS上使用哪种网络模式以获得最佳性能。我不确定是host还是awspcs。与host基本上容器直接连接到底层EC2的网络接口完全绕过Docker网络,而与awsvpc一个新的网络接口是为容器创建的(在这种情况下,你可以使用端口映射,并有不同的容器运行在同一端口上,这是不可能与host模式)。这两种模式在性能上有什么不同吗?

当使用host网络模式时,容器的网络直接绑定到运行容器的底层主机,完全绕过Docker网络,我理解阅读这里的文档(下面的一些信息是你已经发现/提到的)。现在这应该意味着有更高的网络性能,因为没有多个网络接口的额外开销,通过NAT路由,端口映射等。

使用awsvpc网络模式,Amazon ECS为每个任务创建和管理一个弹性网络接口(ENI)(与底层主机ENI分开),每个任务在VPC内接收自己的私有IP地址(几乎是你已经弄清楚的)。但是,由于在更细粒度的级别上控制任务和服务之间的通信具有更大的灵活性,因此必须通过额外的ENI和NAT路由流量的额外开销。

两者都有一些缺点,但是根据文档,更重要的缺点,包括安全问题,存在于host网络模式的大门。

希望它能帮助你做决定。

最新更新