У меня довольно странная проблема с настройкой AWS, которая, как я думал, будет звездной.
У меня есть задача fargate, которая запускается из лямбда-функции. Конфигурация awsvpc для этой задачи fargate выглядит следующим образом:
'awsvpcConfiguration': {
'subnets': [
'subnet-toing',
'subnet-xxxx',
'subnet-yyyy'
],
'securityGroups': [
'sg-toing'
],
'assignPublicIp': 'ENABLED'
}
Задача fargate запускает образ докера, который подключается к экземпляру EC2 (с IP-адресом, сопоставленным с db.toing.kp), который запускает базу данных надопустим порт n . Группа безопасности моего экземпляра ec2 настроена на разрешение запросов от sg-toing
на порт n . Экземпляр ec2 работает в подсети subnet-toing
. Все подсети из одного и того же VPC.
Так же, как дополнительная информация: в моем экземпляре EC2 файл hosts содержит строку для разрешения запросов в своей подсети. Допустим, локальный ip экземпляра - 172.xyz. Есть строка:
172.x.y.z. db.toing.kp
Это в основном для задач репликации, поэтому данные БД не будут передаваться через Интернет для подключения к репликам.
Итак, проблема в том, что когда я пытаюсь запустить задачу fargate, она не может подключиться к экземпляру EC2, время подключения истекает.
Однако, если я удалю правило брандмауэра для подключений из группы безопасности sg-toing
и разрешу все, все будет работать как положено. Может кто-нибудь объяснить, почему экземпляр EC2 не будет принимать соединения от задачи fargate с этим конфигом? Заранее спасибо.