В целом, я довольно смущен, используя AWS Lambda в VPC. Проблема заключается в том, что Lambda отключается, пытаясь получить доступ к ведро S3. Решение представляется конечной точкой 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
Простая загрузка 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)