В целом, я довольно смущен использованием AWS Lambda в VPC. Проблема заключается в том, что Lambda отключается, пытаясь получить доступ к ведро S3. Решение, похоже, является конечной точкой VPC.Доступ AWS S3 от Lambda внутри VPC
Я добавил функцию Lambda в VPC, чтобы он мог получить доступ к базе данных RDS, которая не показана в коде ниже, но функциональна. Однако теперь я не могу получить доступ к S3 и любой попытке сделать так много времени.
Я попытался создать конечную точку VPC S3, но ничего не изменилось.
VPC Конфигурация
Я использую простой VPC созданный по умолчанию всякий раз, когда я первый сделал экземпляр EC2. Он имеет четыре подсети, все созданные по умолчанию.
VPC маршрута Таблица
_Destination - Target - Status - Propagated_
172.31.0.0/16 - local - Active - No
pl-63a5400a (com.amazonaws.us-east-1.s3) - vpce-b44c8bdd - Active - No
0.0.0.0/0 - igw-325e6a56 - Active - No
Simple S3 Скачать Lambda:
import boto3
import pymysql
from StringIO import StringIO
def lambda_handler(event, context):
s3Obj = StringIO()
return boto3.resource('s3').Bucket('marineharvester').download_fileobj('Holding - Midsummer/sample', s3Obj)
Конечные точки VPC S3 требуют конфигурации таблицы маршрутов и конфигурации политики безопасности. Вам нужно будет показать, как вы настроили эти параметры, если вам нужна помощь в этом. Документация находится здесь: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-endpoints.html В качестве альтернативы вы можете добавить NAT-шлюз в VPC, который даст функции Lambda доступ ко всем вне VPC , а не только сервис S3. –
Это проблема конфигурации vpc. настройте любой sbunet assosiatio с помощью nat gateway на таблице маршрутов. Вы все еще ищете проблему? –
Я добавил некоторую информацию о конфигурации VPC. Я подумал, что это будет проблема, но VPC в значительной степени является черным ящиком для меня. Я не знаю, что проверить с ним, чтобы увидеть, что может быть неправильно настроено. – noobiemcfoob