В настоящее время мы запускаем наши AWS Lambda в VPC из-за более раннего архитектурного решения.
Мы также используем MongoDB Atlas и настройку пирингового соединения между VPC и Atlas. Это, очевидно, вызывает более длительные холодные пуски из-за необходимости настройки ENI.
Я хочу сократить это, переместив нашу базу данных в один и тот же VPC, но хочу проверить работоспособность, возможно ли это вообще.
Текущий поток: API Gateway -> AWS Lambda на VPC с использованием Serverless Framework <- PEERING CONNECTION -> MongoDB Atlas для хранилища данных.
Если мы запустим что-то вроде DocumentDB или DynamoDB в тем же VPC в качестве VPC, на котором запущены наши AWS Lambdas, столкнемся ли мы по-прежнему с задержкой и ограничениями создания ENI?
Во время предыдущего мероприятия AWS Re: Invent говорили об улучшении этого за счет объединения ENI, но мы еще не получили никаких обновлений об этом, есть ли обновление?
Вот объявление, которое вам нужно: Улучшенная сеть VPC для функций AWS Lambda
Это должно значительно ускорить холодный запуск Lambda. В объявлении AWS утверждает, что изменение уменьшило их холодный запуск. «с 14,8 секунд до 933 мс».
Независимо от того, работают ли ваши Lambda в том же VPC, что и ваш MongoDB, на самом деле не имеет значения, скорость холодного запуска Lambda будет одинаковой. Однако, если вы хотите иметь больший контроль над своей сетью, задержкой и, возможно, даже снизить затраты на исходящие данные, я бы рассмотрел DocumentDB над MongoDB Atlas, который работает в другом VPC.
Надеюсь, это поможет :)
Чтобы свести к минимуму частоту холодного старта, вы можете настроить вызов своей лямбда-функции каждые 5 минут, используя cloudwatch или что-то еще.