#amazon-web-services #aws-lambda #amazon-rds
#amazon-веб-сервисы #aws-лямбда #amazon-rds
Вопрос:
Я хотел бы использовать aws sam для настройки моего бессерверного приложения. Я уже использовал его с DynamoDB раньше. Это было очень просто, поскольку все, что мне нужно было сделать, это настроить таблицу DynamoDB в качестве ресурса, а затем связать ее с лямбда-функциями. AWS SAM требует знать, где находится таблица. Я даже смог запустить функции на своем локальном компьютере, используя sam-cli. С RDS это намного сложнее. Используемый мной экземпляр RDS Aurora находится за определенной конечной точкой в определенной подсети с группами безопасности в моем vpc, защищенными определенными ролями.
Теперь, насколько я понимаю, задание aws sams использовать мой template.yml для создания ролей и организации правил доступа для меня.
Но я не думаю, что RDS поддерживается aws sam по умолчанию, что означает, что я либо не смогу протестировать локально, либо мне понадобится vpn-доступ к aws vpc, который я не большой поклонник, поскольку это может представлять реальную угрозу безопасности.
Я знаю, что существуют прокси-серверы RDS, которые можно создать в aws sam, но им также потребуется доступ vpc, и поэтому они просто устраняют проблему.
Итак, как я могу подключить свой проект aws sam к RDS и, если возможно, выполнить функции lambda на моем компьютере?
Комментарии:
1. Для локального тестирования я бы рекомендовал использовать локальную базу данных Postgresql или MySQL вместо подключения к экземпляру RDS.
2. Мне все равно пришлось бы развернуть его в какой-то момент, так как я могу убедиться, что он сможет подключиться к RDS после развертывания?
3. Для этого потребуется, чтобы лямбда-функция была развернута в VPC с экземпляром RDS, а группа безопасности экземпляра RDS разрешала входящий доступ из группы безопасности функции Lambda. Это не то, что вы можете протестировать локально.
4. тогда почему он работает с DynamoDB, который также развернут на vpc?
5. Нет, вы не можете развернуть DynamoDB на VPC. Доступ к DynamoDB осуществляется через API AWS, который использует роли IAM для управления доступом. RDS развертывается в VPC и использует группы безопасности имя пользователя / пароль для контроля доступа.