【发布时间】:2021-07-06 18:56:14
【问题描述】:
我有 2 个服务在单个私有 vpc 子网(相同的可用区域)中运行。每个服务都基于一个容器:https://github.com/spring-petclinic/spring-petclinic-microservices。
我已经为这两个服务设置了 route53 服务端点。
当我运行我的任务(每个任务都在自己的服务中)时,服务 A 通过服务 B 的 route53 端点调用服务 B 超时。使用 localhost 不起作用,因为这些容器位于不同的服务中。
- 当我为我的任务定义创建一个容器时,我分配了我的容器正在使用的端口(使用端口映射字段)。但是我注意到控制台中有这样一条注释:“当任务定义的网络模式为主机或 awsvpc 时,主机端口映射无效。要指定不同的主机和容器端口映射,请选择桥接网络模式。”
由于我使用的是 Fargate,因此我使用的是 awsvpc 模式。那么这是否告诉我的端口映射设置没有做任何事情?这就是我的服务超时的原因吗?
然后当我google桥接模式时,这似乎告诉我awscpv网络模式支持服务发现:https://aws.amazon.com/about-aws/whats-new/2018/05/amazon-ecs-service-discovery-supports-bridge-and-host-container-/
那么“桥接模式”在这里是如何工作的呢?为什么端口映射字段不适用于 awsvpc?
编辑:
我读了这个How to communicate between Fargate services on AWS ECS?,他只是说“我创建了一个新服务,一切都开始工作了。”这有点令人沮丧。
编辑2:
是的,我的 vpc 已启用 dns 解析。
【问题讨论】:
标签: aws-fargate