Чтобы получить доступ к ресурсам в вашем VPC, вам необходимо указать подсети и / или защиту для вашей лямбда-функции, как описано в официальной документации .
Подсети определяют VPC и AZ вашу функциюбудет запущен (или, по крайней мере, там, где будет создан его эластичный сетевой интерфейс - ENI).Связанные группы безопасности определяют, к каким портам других ресурсов в вашем VPC можно получить доступ.
Что касается вашего AWSLambdaVPCAccessExecutionPolicy, то документация состояний:
AWSLambdaVPCAccessExecutionRole - Предоставляет разрешения для действий Amazon Elastic Compute Cloud (Amazon EC2) для управления эластичными сетевыми интерфейсами (ENI).Если вы пишете функцию Lambda для доступа к ресурсам в VPC в службе Amazon Virtual Private Cloud (Amazon VPC), вы можете прикрепить эту политику разрешений.Политика также предоставляет разрешения для действий в журналах CloudWatch для записи журналов.
В настоящее время у меня нет доступа к моей учетной записи, но Google сообщает, что документ политики выглядит примерно так:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"ec2:CreateNetworkInterface",
"ec2:DescribeNetworkInterfaces",
"ec2:DeleteNetworkInterface"
],
"Resource": "*"
}
]
}
Это означает, что политика предоставляет разрешение создать вышеупомянутый эластичный сетевой интерфейс в вашем VPC, и поэтому будет необходимо , поскольку без сетевого интерфейса внутри VPCвы не можете получить доступ к этим частным ресурсам.