我制作了一个读取 s3 数据和进程的 aws lambda 函数。它工作正常(当我有凭据时能够读取我的存储桶或其他人的存储桶),
然后,我为 elasticache 添加了 VPC。在做了一些配置(vpc)之后,它也适用于 elasticache。
但是,现在我无法读取属于其他人的 S3!
这曾经没有问题。
var aws = require('aws-sdk');
aws.config.update(...);
var s3 = new aws.S3({...});
s3.listObjects(...)
我仍然可以访问我的 S3 存储桶。
所以我认为,VPC 和配置有一些奇怪的东西阻止我(https?)调用 s3 sdk api。我以为我允许所有互联网访问。(我可以从另一个 lambda 调用这个 lambda)。
我遵循的允许互联网访问的步骤来自此链接。 http://marcelog.github.io/articles/aws_lambda_internet_vpc.html
什么会阻止 s3 sdk 请求?我将如何修复它们?