首页 > 解决方案 > AWS ECS 的端口映射

问题描述

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

在此处输入图像描述

标签: amazon-web-servicesamazon-ec2amazon-ecs

解决方案


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

ECS 使用 4 种组网方式。awsvpc、网桥、主机和无。None 在这里不相关,因为那里没有网络。

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

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

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

这在以下位置进行了详细说明:https ://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html


推荐阅读