【问题标题】:port mapping for AWS ECSAWS ECS 的端口映射
【发布时间】:2022-04-14 08:48:43
【问题描述】:

我是 ecr/ecs/ec2 的新手。我开始将我的应用程序部署到我购买的域。我的应用程序有一个前端和一个后端。我的前端在 localhost:3000 上运行,并在 localhost 5000 上调用其后端 api。我本地计算机上的端口映射是否与在 aws 上创建任务定义时相同?

【问题讨论】:

  • 您喜欢使用哪种网络模式?我问的原因是如果我们使用 awsvpc 或主机,您根本不需要担心主机端口。我们需要的只是集装箱港口。主机端口将随机分配,当我们扩展容器时我们没有问题。
  • @BaluVyamajala 我默认使用,因为我使用的是 docker 容器
  • 您的前端和后端代码是在单个容器中一起运行还是有两个单独的容器?
  • @BaluVyamajala 前端和后端代码在一个容器中一起运行

标签: amazon-web-services amazon-ec2 amazon-ecs


【解决方案1】:

我希望对此有一个简单的是/否答案。但是没有。

ECS 使用 4 种组网模式。 awsvpc、网桥、主机和无。此处没有不相关,因为那里没有网络。

对于 awsvpc,容器有自己的 ENI。这意味着您的容器将充当主机,而您公开的端口将是您服务的端口。

对于桥接器,您使用 docker 网络并动态使用临时端口将您的容器端口映射到。如果你想使用同一个容器/任务的多个副本,这种模式是最好的。

对于主机,容器绕过 docker 网络并使用 EC2 ENI,如果您计划使用端口映射,则不允许在同一 EC2 实例上运行同一容器/任务的多个副本,从而限制您。

这在https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html有详细解释

【讨论】:

    猜你喜欢
    • 2020-03-21
    • 2018-06-15
    • 2018-04-08
    • 2018-02-15
    • 2020-08-08
    • 2022-07-27
    • 2019-11-14
    • 2021-02-14
    • 2020-07-23
    相关资源
    最近更新 更多