AWS Lambda и AWS SNS: нужен ли шлюз NAT?

#aws-lambda #apple-push-notifications #firebase-cloud-messaging #amazon-sns #aws-vpc

#aws-lambda #apple-push-уведомления #firebase-облако-обмен сообщениями #amazon-sns #aws-vpc

Вопрос:

Я разрабатываю приложение React Native для IOS и Android. Я использую Django для своего серверной части и aws rds для своей базы данных. Он развернут на AWS Lambda, и оба моих лямбда-выражения и мои rds находятся в VPC. Все работало хорошо, за исключением push-уведомлений, поскольку для них требуются мои функции lambda для связи с общедоступным Интернетом.

Одним из способов было бы создать шлюз NAT для обеспечения такой связи, но шлюз NAT является довольно дорогостоящим.

Я думаю о другом способе, который включает AWS Simple Notification Services (SNS). Если я интегрирую это в свое приложение Django, смогут ли функции lambda взаимодействовать с AWS SNS, не требуя шлюза NAT?

Комментарии:

1. У меня такая же проблема, что вы обнаружили? Нужен ли нам nat между ними

Ответ №1:

Похоже, вы хотите создать конечную точку службы SNS в VPC, в котором выполняется ваша лямбда-функция:https://docs.aws.amazon.com/sns/latest/dg/sns-publishing-to-topics-from-vpc.html

Конечные точки обслуживания похожи на построение туннеля от вашего VPC к определенному сервису, поэтому он не считается внешним Интернетом. За них выставляется счет, но цена намного дешевле, чем за шлюз NAT, и если вы предоставляете услуги с помощью CloudFormation, это значительно упрощает построение маршрутов и т.д.

https://aws.amazon.com/privatelink/pricing/

Комментарии:

1. Спасибо! Хотя я не уверен, будут ли push-уведомления по-прежнему требовать от меня связи с общедоступным Интернетом для получения APNS или токенов FCM.