Как обеспечить безопасную работу AWS Lamda в облаке VPC?

Выполнение AWS Lamda может происходить в любом месте облака AWS. Есть ли способ заставить его работать в одном VPC? Как защитить функцию Lamda?


person programmer    schedule 09.03.2019    source источник
comment
Что делает лямбда-функция? Получает ли он доступ к внешним ресурсам, таким как Amazon S3 или ресурсы в VPC? От чего вы хотите «защитить» лямбда-функцию? Вы пытаетесь контролировать его исходящий доступ? Не стесняйтесь редактировать свой вопрос, чтобы предоставить больше информации.   -  person John Rotenstein    schedule 09.03.2019


Ответы (1)


Функции AWS Lambda всегда выполняются в VPC, но по умолчанию не в одном из VPC, созданных в вашей учетной записи. Чтобы запустить их в VPC в своей учетной записи, вы должны предоставить конфигурацию VPC для своей функции AWS Lambda. AWS Lambda будет использовать эту конфигурацию для настройки эластичного сетевого интерфейса (ENI) в облаке VPC, который затем будет использовать ваша функция AWS Lambda.

Вот пример из раздела «Настройка лямбда-функции для доступа к ресурсам в Amazon. VPC», как добавить такую ​​конфигурацию VPC при создании функции AWS Lambda. Обратите внимание на параметр vpc-config:

aws lambda create-function \
  --function-name ExampleFunction \
  --runtime go1.x \
  --role execution-role-arn \
  --zip-file fileb://path/app.zip \
  --handler app.handler \
  --vpc-config SubnetIds=comma-separated-vpc-subnet-ids,SecurityGroupIds=comma-separated-security-group-ids \
  --memory-size 1024

При этом помните о недостатках запуска функций AWS Lambda в VPC, как описано в Рекомендации по работе с функциями AWS Lambda. Как резюмирует AWS:

Не размещайте свою функцию Lambda в VPC, если в этом нет необходимости. Нет никакой выгоды, кроме использования этого для доступа к ресурсам, которые вы не можете предоставить публично, например к частному реляционная база данных Amazon. Такие сервисы, как Amazon Elasticsearch Service, могут быть защищены через IAM с помощью политик доступа, поэтому публичное раскрытие конечной точки безопасно и не требует запуска вашей функции в VPC для ее защиты.

person Dunedan    schedule 09.03.2019
comment
разве это не доступ к ресурсам VPC из Lamda? а не про запуск лямды в VPC? aws.amazon.com/lambda/faqs docs.aws.amazon.com/lambda/latest/dg/ - person programmer; 11.03.2019
comment
Нет, как вы и просили, речь идет о запуске функций AWS Lambda в VPC. Хотя это связано с доступом к ресурсам в VPC из AWS Lambda, поскольку это возможно только в том случае, если эти ресурсы общедоступны в Интернете или функция AWS Lambda выполняется в VPC. - person Dunedan; 11.03.2019