Это решено, вероятно, через одно из изменений группы безопасности, которые я сделал.
У меня есть контейнер, который порождает несколько программ. Каждая программа прослушивает уникальный порт. Это круговая вещь, и в обычной среде docker мы раскрываем возможный диапазон. Все работает просто отлично. В другом контейнере есть приложение, которое подключается к каждому из маленьких агентов, работающих в первом контейнере. Это нормальная связь через сокеты.
Теперь мы пытаемся перейти на Fargate. Я сделал сопоставления портов при создании определения задачи, хотя есть примечание, что он может игнорироваться Fargate. Я вижу подсказки, что Fargate действительно позволяет вам открыть только один порт, называемый containerPort, и это все, что вы получаете. Это кажется ... безумным.
nmap показывает порты как отфильтрованные.
Я что-то не так делаю? У кого-нибудь есть советы, на что мне смотреть?
Я прочитал одну статью, в которой говорилось о балансировщике сетевой нагрузки. Это кажется сумасшедшим решением.
Я не хочу порождать несколько контейнеров по двум основным причинам c. Во-первых, нам пришлось бы полностью переписать приложение, которое порождает этих агентов. Во-вторых, время запуска контейнера слишком велико для отзывчивой среды.
Предложения на что мне посмотреть?
Для запроса вот соответствующий 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"
}