AWS ECS Fargate,容器到容器通信

AWS ECS Fargate,容器到容器通信

我在公开 ECS Fargate 容器上的端口时遇到了问题。

我已经在容器级别为我的任务定义应用了端口映射,如下所示:

在此处输入图片描述

在容器本身上,看起来好像没有启用特定的映射,或者我读错了? 在此处输入图片描述

容器之间需要相互通信(集群软件)

我从每个容器的元容器配置中获取 IP,例如

  "Networks": [
    {
      "NetworkMode": "awsvpc",
      "IPv4Addresses": ["172.31.22.46"],

在这种情况下,172.31.22.46:8080 应该在 ECS 集群内开放通信。但这并没有发生。端点无法访问,节点无法通信。

我还需要做更多的事情来让它工作吗?例如在某处打开一些安全设置?

抱歉,这个问题比较神秘,但我不知道如何更好地解释这一点。

答案1

我不确定这是否是答案,但值得检查,因为我曾经被这个问题困扰过。

安全组是单个 ENI(弹性网络接口)周围的防火墙。每个 ENI 实际上都有一个安全组,用于过滤来自所有其他 ENI 的通信。安全组中的资源之间没有自动通信 - 您必须明确允许它。

在这种情况下,解决方案是允许从安全组进入安全组,通过命名安全组。显然,您还必须允许出口,这可以通过命名安全组的明确规则来实现,但从记忆中我认为默认的 0.0.0.0/0 就足够了 - 试试看。

在此处输入图片描述

相关内容