Amazon web services 具有多个开放端口的AWS Fargate容器 这可能是通过我所做的一个安全组更改解决的。
我有一个生成多个程序的容器。每个程序监听一个唯一的端口。这是一个循环过程,在常规docker环境中,我们公开了可能的范围。一切正常。另一个容器有一个应用程序,它连接到第一个容器中运行的每个小代理。这是正常的套接字通信 现在我们正在尝试迁移到Fargate。我在创建任务定义时已经完成了端口映射,不过有一点需要注意,Fargate可能会忽略它。我看到一些提示,Fargate实际上只允许您打开一个端口,称为containerPort,这就是您得到的全部。那似乎。。。疯了 nmap显示已过滤的端口 我只是做错了什么吗?有人告诉我应该看什么吗 我读过一篇关于网络负载平衡器的文章。这似乎是一个疯狂的解决方案 出于两个基本原因,我不想产生多个容器。首先,我们必须完全重写产生这些代理的应用程序。其次,容器启动时间对于响应环境来说太长了 我应该看什么的建议 根据请求,这里是相关的JSON,为简洁起见进行了编辑Amazon web services 具有多个开放端口的AWS Fargate容器 这可能是通过我所做的一个安全组更改解决的。,amazon-web-services,aws-fargate,Amazon Web Services,Aws Fargate,我有一个生成多个程序的容器。每个程序监听一个唯一的端口。这是一个循环过程,在常规docker环境中,我们公开了可能的范围。一切正常。另一个容器有一个应用程序,它连接到第一个容器中运行的每个小代理。这是正常的套接字通信 现在我们正在尝试迁移到Fargate。我在创建任务定义时已经完成了端口映射,不过有一点需要注意,Fargate可能会忽略它。我看到一些提示,Fargate实际上只允许您打开一个端口,称为containerPort,这就是您得到的全部。那似乎。。。疯了 nmap显示已过滤的端口 我只
{
"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个端口都被过滤了。很高兴听到你解决了这个问题。当我扫描那些可以到达的端口时,我也在胡闹,无法复制这个问题。是的,我想我是个白痴。我一直在阅读有关端口映射的文章,结果发现我在安全组中的“打开所有内容”规则存在缺陷。