TCP / IP связь в AWS - PullRequest
       48

TCP / IP связь в AWS

0 голосов
/ 21 ноября 2019

Я хочу реализовать базовый протокол TCP / IP с использованием функций AWS Lambda. Если мы рассматриваем клиента как одну лямбда-функцию AWS, а сервер - как другую лямбда-функцию AWS (не уверены, можем ли мы считать клиент и сервер лямбда-функциями), мы можем установить связь клиент-сервер между двумя лямбда-функциями, используя протокол TCP / IP. отличается от вызова одной лямбда-функции из другой). Также я хочу знать, можно ли преобразовать код программирования сокетов на стороне клиента или сервера, написанный на Java, в лямбда-функцию aws в java?

Ответы [ 2 ]

1 голос
/ 21 ноября 2019

Использование Lambda в качестве клиента для доступа к серверу тривиально, вы можете легко создавать большинство типов TCP-соединений от Lambda наружу.

Тем не менее, вход внутрь гораздо сложнее, поскольку Lambda работает с контейнером, ивы являетесь пользователем с низким уровнем привилегий в этом контейнере. Такая низкая привилегия, что вы не можете привязать к порту и выставить это. Также лямбда по умолчанию работает на AWS VPC и находится за NAT.

Есть несколько решений, в частности, это: https://read.acloud.guru/https-medium-com-timawagner-serverless-networking-the-next-step-in-serverless-evolution-95bc8adaa904

Но вкратце, какую взаимосвязь между двумя лямбда-функциями через TCP довольно сложно осуществить без каких-либоинструменты для вечеринок и / или некоторые серверы между ними.

Я сделал это репо, которое позволяет использовать обратную оболочку в лямбду, вас это также может заинтересовать: https://github.com/keithrozario/Lambshell

1 голос
/ 21 ноября 2019

AWS Lambda - это, по сути, контейнер, запускающий ваше приложение в бэкэндеЧтобы установить сокет-соединение между двумя Lambdas, вам нужно исследовать, используя API-интерфейсы Web-шлюза API Gateway.

Возможно установить соединение TCP / IP между двумя контейнерами Lambda, если вы вызываете эти функции через соединение веб-сокета API G / w.

Надеюсь, это поможет!

Ссылка:

1) https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html 2) https://codeburst.io/how-to-build-a-react-chat-app-with-aws-api-gateway-websockets-and-cognito-custom-authorizer-6f84f2da47ec 3) https://github.com/aws-samples/simple-websockets-chat-app/blob/master/template.yaml

...