总的来说,我对在VPC中使用AWS Lambda感到非常困惑.问题是Lambda在尝试访问S3存储桶时超时.该解决方案似乎是一个VPC端点.
我已将Lambda函数添加到VPC,因此它可以访问RDS托管数据库(未在下面的代码中显示,但功能正常).但是,现在我无法访问S3,任何尝试这样做都会超时.
我尝试创建一个VPC S3端点,但没有任何改变.
VPC配置
每当我第一次制作EC2实例时,我都会使用默认创建的简单VPC.它有四个子网,都是默认创建的.
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
Run Code Online (Sandbox Code Playgroud)
简单的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)
Run Code Online (Sandbox Code Playgroud)