【问题标题】:Dynamic port mapping for ECS tasksECS 任务的动态端口映射
【发布时间】:2020-08-08 18:29:56
【问题描述】:

我想在一个任务定义中使用客户端和服务器在 aws ecs 中运行套接字程序。当我使用 awsvpc 网络模式并每次都连接到本地主机上的服务器时,我能够运行它。这很好,所以我不需要知道服务器的 IP 地址。问题是服务器必须在某个端口上启动,如果我运行其中的 10 个任务,一次只能运行 3 个任务(= 运行实例的数量)。这显然是因为 10 个任务无法打开同一个端口。我可以在启动服务器之前手动检查打开的端口,并以某种方式将其写入客户端可以读取和连接的 docker 共享卷。但这似乎很复杂,我的服务器有不必要的代码。对于服务,使用 Application Load Balancer 进行动态端口映射,但没有任何东西可用于简单地运行任务。 如何在无需管理 Aws ecs 中的端口号的情况下运行多个套接字程序?

【问题讨论】:

    标签: amazon-ecs


    【解决方案1】:

    如果您使用的是 awsvpc 模式,每个任务都会有自己的 eni,并且不应该有任何端口冲突。但是每种实例类型都有有限数量的可用 enis。您可以通过启用 eni 中继来增加它,但是少数实例类型支持它: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html#eni-trunking-supported-instance-types

    【讨论】:

    • 是的,ENI 限制是问题!谢谢
    猜你喜欢
    • 2018-04-08
    • 1970-01-01
    • 2018-02-15
    • 2020-03-21
    • 2018-06-15
    • 1970-01-01
    • 2018-09-02
    • 1970-01-01
    • 2017-02-20
    相关资源
    最近更新 更多