Amazon web services 具有多个开放端口的AWS Fargate容器 这可能是通过我所做的一个安全组更改解决的。

Amazon web services 具有多个开放端口的AWS Fargate容器 这可能是通过我所做的一个安全组更改解决的。,amazon-web-services,aws-fargate,Amazon Web Services,Aws Fargate,我有一个生成多个程序的容器。每个程序监听一个唯一的端口。这是一个循环过程,在常规docker环境中,我们公开了可能的范围。一切正常。另一个容器有一个应用程序,它连接到第一个容器中运行的每个小代理。这是正常的套接字通信 现在我们正在尝试迁移到Fargate。我在创建任务定义时已经完成了端口映射,不过有一点需要注意,Fargate可能会忽略它。我看到一些提示,Fargate实际上只允许您打开一个端口,称为containerPort,这就是您得到的全部。那似乎。。。疯了 nmap显示已过滤的端口 我只

我有一个生成多个程序的容器。每个程序监听一个唯一的端口。这是一个循环过程,在常规docker环境中,我们公开了可能的范围。一切正常。另一个容器有一个应用程序,它连接到第一个容器中运行的每个小代理。这是正常的套接字通信

现在我们正在尝试迁移到Fargate。我在创建任务定义时已经完成了端口映射,不过有一点需要注意,Fargate可能会忽略它。我看到一些提示,Fargate实际上只允许您打开一个端口,称为containerPort,这就是您得到的全部。那似乎。。。疯了

nmap显示已过滤的端口

我只是做错了什么吗?有人告诉我应该看什么吗

我读过一篇关于网络负载平衡器的文章。这似乎是一个疯狂的解决方案

出于两个基本原因,我不想产生多个容器。首先,我们必须完全重写产生这些代理的应用程序。其次,容器启动时间对于响应环境来说太长了

我应该看什么的建议

根据请求,这里是相关的JSON,为简洁起见进行了编辑

{
  "family": "agents",
  "executionRoleArn": "ecsTaskExecutionRole",
  "networkMode": "awsvpc",
  "containerDefinitions": [
    {
      "name": "agent-container",
      "image": "agent-continer:latest",
      "cpu": 256,
      "memory": 1024,
      "portMappings": [
        {
          "containerPort": 22,
          "hostPort": 22,
          "protocol": "tcp"
        },
        {
          "containerPort": 80,
          "hostPort": 80,
          "protocol": "tcp"
        },
        {
          "containerPort": 15000,
          "hostPort": 15000,
          "protocol": "tcp"
        },
        {
          "containerPort": 15001,
          "hostPort": 15001,
          "protocol": "tcp"
        },
        ...
      ],
      "essential": true,
      "environment": [ ...  ],
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "/ecs/ct-test-agents",
          "awslogs-region": "",
          "awslogs-stream-prefix": "ct-test-agents"
        }
      }
    }
  ],
  "requiresCompatibilities": [
    "FARGATE"
  ],
  "cpu": "256",
  "memory": "1024"
}

连接到服务/任务的安全组是否存在问题?您是否添加了允许在指定端口上传入流量的规则


由于您可以使用nmap访问该服务,我假设它已经可以公开访问,并且具有公共IP地址。但可能SecurityGroup不允许访问端口。

我有Fargate容器,多个端口8080和8443工作正常。你可以发布你的设置吗?好吧,不确定我做了什么,但我摆弄了安全组,我想问题是我的规则之一是错误的。它没有响应。为了防止我误解了安全组,我通过服务访问了它,然后我添加了一条规则,上面写着所有来自172.30.0.0/16的TCP。Nmap-P0-sT-p22,8015000 172.30.32.8的172-30-32-5中的Nmap说所有3个端口都被过滤了。很高兴听到你解决了这个问题。当我扫描那些可以到达的端口时,我也在胡闹,无法复制这个问题。是的,我想我是个白痴。我一直在阅读有关端口映射的文章,结果发现我在安全组中的“打开所有内容”规则存在缺陷。