У меня есть сервер сокетов, написанный на c# (. net ядро), который получает данные от устройств через TCP-соединение. Затем я внедряю это в Amazon ECS.
Изначально я помещал в очередь полученные данные, используя Amazon SQS, но я переработал свое приложение для использования потоков Kinesis.
Если я запускаю приложение ядра. net на моей машине для разработки, все в порядке. Если я запускаю его в контейнере docker локально, он также работает правильно. Проблема заключается в том, что при развертывании в качестве задачи ECS возникает следующая ошибка при вызове Kinesis SDK для PutRecords:
System.Net.Http.HttpRequestException: No such device or address ---> System.Net.Sockets.SocketException: No such device or address
Группа безопасности показывает, что у меня нет исходящих правил, которые могут блокировать доступ к Kinesis. Сначала я думал, что мне может понадобиться добавить что-нибудь в файл dockerfile, но локальное тестирование показывает, что это тоже не проблема.
Я проверил и перепроверил, что конечная точка Kinesis верна, поэтому я не уверен, что мне не хватает?