#amazon-web-services #aws-lambda #amazon-vpc
#amazon-web-services #aws-lambda #amazon-vpc
Вопрос:
Я хочу разрешить lambda доступ к базе данных RDS.
Что я сделал:
- поместите lambda в VPC базы данных, т. е. в ту же группу безопасности и подсети, что и база данных
- добавьте входящее правило в группу безопасности: разрешайте подключения от себя
Это позволяет избежать создания отдельной группы безопасности для lambda и разрешить группе lambda доступ к MySQL.
Это работает, но нормально ли это? Почему я должен создавать отдельную группу для lambda?
Ответ №1:
Да, это сработало бы, но это не имеет логического смысла, если вы отчаянно не пытаетесь уменьшить количество используемых групп безопасности.
Предпочтительной конфигурацией будет:
- Группа безопасности для функции Lambda (
Lambda-SG
) - Группа безопасности в экземпляре RDS (
RDS-SG
), разрешающая входящее соединение сLambda-SG
Это проще для понимания и позволяет избежать ситуаций, когда вы хотите предоставить доступ к RDS, но не к Lambda.
Комментарии:
1. Спасибо за помощь, я действительно ценю это! Как оказалось, меньше SG = более простая настройка (так лучше для меня, новичка AWS). То, что вы объясняете, имеет смысл, но я не вижу недостатков в моей настройке. Также к Lambda нельзя «получить доступ» AFAIK, на порту не запущена служба и не прослушивается, поэтому ее наличие в VPC не кажется проблемой.
2. Категорически не согласен с «меньше SG = более простая настройка». Это выглядит проще настроить, но будет намного сложнее поддерживать вашу облачную инфраструктуру, потому что это становится не таким понятным. Я советую вам следовать детализированному подходу, подобному UNIX: много мелких элементов, но ясно и легко определить их ответственность.
3. @VladyslavUsenko спасибо, понял. Помимо этого, существуют ли другие проблемы (например, касающиеся безопасности), вызванные этой настройкой?
4. Имейте в виду, что всякий раз, когда вашей функции потребуется получить доступ к чему-либо из глобального Интернета, вы добавите исходящее правило в SG, что означает, что теперь ваша база данных также может использовать это исходящее правило. Вам решать, довольны вы этим или нет, но обычно рекомендуется следовать принципу наименьших привилегий для чего угодно, особенно в облаке.