Архитектурные решения, использующие AWS Lambda, означает понимание многих нюансов в том, как работает AWS, и основное внимание для нашей архитектуры приложений является база данных. Поэтому нам нужно будет узнать, может ли AWS Lambda может подключиться к базе данных вообще, а какие наши варианты.
Может AWS Lambda доступа к базе данных? да. AWS Lambda может подключиться к проведенным базам данных AWS, такими как RDS или Dynamodb. AWS Lambda также может подключаться к внешним базам данных, которые являются публичными или доступом к сети.
В зависимости от базы данных, которую вы используете (или намереваетесь использовать), есть некоторые соображения, которые вы должны обратиться. Давайте теперь пройдемся по разным вариантам, которые у вас есть для интеграции базы данных с AWS LAMBDA и адрес некоторых из этих соображений, чтобы вы могли сделать обоснованное решение.
Подключиться к Dynamodb.
Во-первых, давайте обсудим DynamOdb. DynamOdb — это популярный выбор базы данных в мире AWS Lambda из-за его природы без бензина (подробнее об этом позже) и потому, что она имеет интеграции с функцией под названием Dynamodb Streams.
Самый простой способ подключения лямбда для dynamodb — создание клиента через AWS SDK ( Source ). К счастью, для вас, SDK AWS приходит предварительно установленным на всех средах AWS Lambda, готовых к использованию.
В дополнение к непосредственно подключению к DynamOdb с клиентом функция AWS Lambda может интегрироваться с Dynamodb с помощью потоков ( Источник ). Потоки — это события, которые dynamodb излучают при совершении изменения. Функция AWS Lambda может затем прослушать и выполнять некоторые действия, основанные на этих событиях.
Подключиться к RDS.
Наш следующий вариант подключается к RDS. Прямой способ подключения базы данных с AWS Lambda, как и вы с любым другим приложением. Вы можете добавить учетные данные базы данных в вашу среду лямбда ( источник ) и подключиться к базе данных, используя типичное метод подключения.
Но, даже более безопасным и прочным, чем использование переменных среды, было бы хранить свои учетные данные в AWS Secrets Manager или AWS Параметр Магазин Отказ
Подключиться к внешней БД
Иногда, хотя у вас есть существующая база данных, которая существует за пределами AWS. В этом сценарии, что может/следует сделать?
Подобно подключению к подключению к подключению RDS, подключение к внешней базе данных может быть максимально простым, как добавление учетных данных к AWS Lambda и подключением, так как в типичном сервере приложение.
Будьте в курсе, хотя: Подключение к внешней базе данных требуется ваша база данных публично доступна, или ваш AWS Lambda предоставляет доступ к сети.
Использование VPC Access.
Другое соображение при подключении к реляционной базе данных, такая как RDS, является вашей сетевой настройкой. Вы захотите убедиться, что ваш AWS Lambda сможет увидеть вашу базу данных в сети, чтобы она могла сделать соединение.
Если вы используете AWS RDS, ваша база данных будет в сети VPC. Чтобы получить доступ к базе данных, вам придется предоставить свой лямбда доступа к VPC, где размещена ваша база данных ( источник ).
Важно также отметить, что при предоставлении VPC Access Ваш лямбда может испытывать дополнительное время холодного начала, эти вопросы, как сообщается, были улучшены, но вы все равно можете узнать сначала ( источник ).
Если вы новичок в сети в AWS, выедьте: AWS Сетевые основы: простое руководство для инженеров программного обеспечения.
Используя RDS Proxy
Наконец, нам нужно обсудить проблему соединений реляционных баз данных и AWS Lambda. Из-за того, как работает AWS LAMBDA — это создает новый контейнер для каждого нового запроса — это возможно, что вы получите много одновременного выполнения ваших aws Lambda (много лямбда в то же время).
Если вы используете реляционную базу данных, которая опирается на подключения, каждый из этих новых экземпляров AWS Lambda потребует подключения к базе данных, которое может скоро исчерпать базу данных соединения базы данных, что приведет к неисправному запросу.
AWS, однако, ввел услугу, называемую RDS Proxy ( Source ), который поможет вам предотвратить эту проблему, создавая пул соединений базы данных, которые можно поделиться на протяжении всего параллельных исполнений.
Выбор Правая установка лямбда дБ
И вот все на сегодняшний день, быстро пробег разных вариантов и соображений при подключении базы данных из aws adambda.
Если вы еще не выбрали базу данных, но вы определенно используете aws lambda, взгляните на dynamodb. Если ваша база данных является внешней реляционной базой данных, убедитесь, что вы можете получить правильную настройку сети для доступа к ней. И, наконец, если вы выберете AWS RDS, вы хотите установить, если вам требуется пул базы данных, и если вы сделаете, обязательно проверьте прокси RDS.
Пост Может AWS Lambda доступа к базе данных? И соображения, которые вы должны принимать. появился первым на DEV тренер Отказ
Лу — редактор Облако нативное программное обеспечение Инженерное рассылка Информационный бюллетень, посвященный в создании облачного программного обеспечения более доступен и легко понять. Каждый месяц вы получите дайджест лучшего контента для облачных нативных программных инженеров, прямо в вашем почтовом ящике.
Оригинал: «https://dev.to/loujaybee/can-aws-lambda-access-a-database-and-the-considerations-you-should-be-taking-4hf8»