Публикуване на AWS SQS съобщение от публичен интернет

Моите агенти, работещи в различни среди/устройства, ще изхвърлят периодични съобщения от публична мрежа. Тези съобщения ще бъдат обработени от моя AWS Lambda. Системите са асинхронни.

Мисля да използвам SQS за захранване на Lambda. Само това, крайната точка на SQS ще бъде отворена за интернет. Как мога да проверя съобщенията, публикувани в AWS SQS.

Повечето от устройствата/агентите, изпращащи съобщения, ще бъдат на клиентски VPN. Така че установяването на частна vpn връзка е възможно решение.


person Ambar    schedule 09.06.2020    source източник
comment
Може би това ще помогне: stackoverflow.com/questions/41638595/   -  person Dennis Traub    schedule 09.06.2020


Отговори (3)


Вие не трябва да правите SQS опашка публична, така че всеки без идентификационни данни за AWS да може да я използва. Това не е добра практика.

По-добър вариант е да използвате API шлюз пред вашата SQS опашка:

По този начин можете да направите своята крайна точка на API шлюз публична, да контролирате нейната пропускателна способност, ограничения, ограничаване, достъп с помощта на API ключове и др.

API шлюзът ще бъде интегриран с вашата SQS опашка, което ще ви позволи да задействате вашата ламбда функция.

С използването на API ключове или ламбда упълномощава ще можете да контролирате достъпа на вашите устройства/агенти до API шлюза и впоследствие до SQS.

person Marcin    schedule 09.06.2020
comment
Това решава проблема ми. Допълнителна връзка, която открих и която е в съответствие с тази, която споделихте - medium.com/@pranaysankpal/. - person Ambar; 09.06.2020
comment
@Ambar Радвам се да чуя. Благодаря ти за линка. - person Marcin; 09.06.2020

Крайната точка на Amazon SQS е в интернет, а не във VPC. Няма полза от използването на VPN връзка, освен ако не искате да създадете политика, която позволява изпращането на съобщения до опашката само ако идват през VPN връзката.

Вашият случай на употреба може да е по-подходящ за AWS IoT вместо Amazon SQS:

AWS IoT

Той е проектиран да обработва големи количества данни, някои от различни устройства, с вградени правила за обработка на съобщенията.

person John Rotenstein    schedule 09.06.2020
comment
Не знаех за това предлагане на IoT услуга, тъй като IoT не е точно това, което правя. Ще го прегледам и ще го актуализирам, ако помогне. - person Ambar; 09.06.2020

Ако искате да сведете до минимум съобщенията си, преминаващи през общественото интернет пространство, имате няколко опции, които са ви достъпни.

Първо, както споменахте, че имате устройства, които могат да се свързват чрез VPN, ако това е възможно, можете да създадете VPC крайна точка за SQS, използвайки персонализирано име на домейн.

Във вашето приложение, като се позовавате на персонализираното име на домейн или частен IP адрес от един от ENI, може да е възможно действително да взаимодействате частно чрез VPC.

Можете да подобрите проверката на сигурността си, като добавите прокси слой отпред, за да валидирате входа, за да извършите каквито и да е проверки спрямо съдържанието. Вашето приложение ще премине към този слой за валидиране и след това ще добави към опашката, ако премине.

Едно нещо, което си струва да се отбележи, е, че дори при VPN трафикът преминава през интернет, но е криптиран при преминаване. Най-добрата линия на сигурност е комбинирането на HTTPS заедно с частни идентификационни данни (за предпочитане като IAM роля), за да се намали вероятността някой да може да добави неправилни данни към вашата опашка.

person Chris Williams    schedule 09.06.2020