【问题标题】:Communication between AWS Fargate Services not working even with route53 setup即使使用 route53 设置,AWS Fargate 服务之间的通信也无法正常工作
【发布时间】:2021-07-06 18:56:14
【问题描述】:

我有 2 个服务在单个私有 vpc 子网(相同的可用区域)中运行。每个服务都基于一个容器:https://github.com/spring-petclinic/spring-petclinic-microservices

我已经为这两个服务设置了 route53 服务端点。

当我运行我的任务(每个任务都在自己的服务中)时,服务 A 通过服务 B 的 route53 端点调用服务 B 超时。使用 localhost 不起作用,因为这些容器位于不同的服务中。

  1. 当我为我的任务定义创建一个容器时,我分配了我的容器正在使用的端口(使用端口映射字段)。但是我注意到控制台中有这样一条注释:“当任务定义的网络模式为主机或 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


    【解决方案1】:

    事实证明,我的服务上的安全组只允许端口 80 上的 http。这是服务向导为您提供的默认 SG 的入站规则。我更新了它以允许我的容器端口上的流量,它们现在似乎正在互相交谈。

    【讨论】:

    • 这也是我的问题。我需要使用自己的安全组,而不是默认的...
    猜你喜欢
    • 1970-01-01
    • 2015-11-19
    • 2018-12-18
    • 2017-12-11
    • 2018-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多