Функциональность TCP Relay (например, ngrok) в AWS

У меня есть веб-сайт, который работает на экземпляре Windows ec2. Я хочу предоставить это общедоступной конечной точке, не открывая порт на экземпляре ec2. В экземпляре ec2 разрешены только исходящие соединения.

Как подключить какой-либо облачный ресурс/приложение к моему веб-сайту, чтобы к нему мог получить доступ кто-то в общедоступном Интернете? То, что я ищу, - это функция ретрансляции tcp, при которой вызов из общедоступного интернет-браузера просто перенаправляется на мой локальный веб-сайт на ec2 с минимальными усилиями. Что-то вроде того, что объясняется здесь: https://serverfault.com/questions/760129/what-is-a-tcp-relay-and-when-is-it-used/760142

Может кто-нибудь что-нибудь предложить? Или, если AWS не предоставляет такую ​​функциональность ретрансляции, можно ли что-то сделать с помощью веб-сокетов в AWS-iot?

Я нашел ngrok как сторонний инструмент, но я хочу придерживаться только параметров AWS.


person Vivek Chaurasiya    schedule 05.01.2017    source источник


Ответы (1)


Это именно то, что делает классический Elastic Load Balancer. делает. Обычно существует более одного экземпляра (отсюда и «балансировщик нагрузки»), но это работает именно так, как вы описываете, только с одним экземпляром.

ELB доступен глобально, а затем перенаправляет трафик на экземпляр. Никто не подключается напрямую к вашему экземпляру.

Конечно, вам нужно открыть порт на экземпляре, чтобы ELB мог получить к нему доступ, но вам придется сделать это с любым решением «ретрансляции». Этот доступ может быть ограничен только самим ELB.

person Michael - sqlbot    schedule 05.01.2017
comment
Но говоря, что вы должны открыть порт (входящий) на машине веб-сайта. Но ngrok не требует чего-то подобного. Я прочитал здесь: stackoverflow.com /questions/23395129/ и похоже, что ngrok не открывает порт. - person Vivek Chaurasiya; 06.01.2017