Невозможно подключиться к telnet из док-контейнера в эластичном бобовом стебле к другому ec2 на AWS

Я пытаюсь подключиться по телнету от экземпляра докера на Elastic Beanstalk к другому экземпляру EC2 в пределах того же VPC. Я создал группу безопасности, разрешающую входящий трафик от идентификатора группы безопасности Elastic Beanstalk к другому экземпляру EC2.

после ssh'ing в один из экземпляров Elastic Beanstalk я могу подтвердить, что могу подключиться к Telnet от экземпляра Elastic Beanstalk к другому экземпляру EC2.

Успешная:

[root@ip-111-11-11-111 ~]#  telnet 222.22.22.22 9999
Trying 222.22.22.22...
Connected to 222.22.22.22.
Escape character is '^]'

Но когда я подключаюсь к контейнеру Docker в интерактивном режиме (через docker run -it) и пытаюсь выполнить ту же команду, указанную выше, соединение не устанавливается:

отказ:

[root@ip-111-11-11-111 ~]# sudo su -
[root@ip-111-11-11-111 ~]#  docker exec -it my_instance /bin/sh
/path-of-user # telnet 222.22.22.22 9999
(hangs here, never connects)

Очевидно, что группа безопасности работает для экземпляра Elastic Beanstalk, но не для докера внутри экземпляра Elastic Beanstalk. Я не уверен, что правильные изменения в группе безопасности будут разрешать трафик от экземпляра докера внутри экземпляра Elastic Beanstalk к другому экземпляру EC2. Любая помощь будет принята с благодарностью!

0 ответов

Команда telnet внутри контейнера Docker оказалась ложноположительным из-за того, что соединение с внешним ip не работает. После дальнейшей отладки проблемы соединение фактически установилось, но, очевидно, дистрибутив Alpine, который я запускал в Docker Simple, ничего не выводил, хотя он действительно подключался. Я смог подтвердить соединение, когда заметил, что сообщения успешно проходят через мою внешнюю настройку Kafka.

На вашем месте я бы проверил настройки докера, например, если вы sudo docker ps Вы видите, что на вашем докере правильно настроена переадресация портов? Вы должны иметь что-то вроде 0.0.0.0:80->80/tcp,