增加AWS ECS任务定义保留端口限制

我试图用aws的ecs服务build立一个docker集装箱。 我想预留主机上的端口30000 – 60000,并将这些端口映射到容器上的30000 – 60000。 但是,Aws文档指出,主机上只能保留100个端口:

http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html

任何人都可以解释为什么有一个限制/build议解决方法?

我敢肯定,100端口的限制将是由于Docker映射端口的方式 。

Docker启动一个Go进程,每个映射端口将使用4-6MB的私有内存。 所以在100个端口上,Docker进程将消耗大约500MB的内存。

如果你试图将所有的30000-60000端口映射到一个容器,你需要150GB的内存。 300GB,如果你想要UDP和TCP。

如果你必须使用那么多的端口,那么你需要开始使用--net=host ,将桥接或映射接口直接放到一个容器中。 这不太可能被ECS支持(在EC2上,我必须从VPC接口取得“真实的”MAC地址并将其放在容器接口上 )。