运行我有一个简单的lambda函数如下使用AWS SDK从LAMBDA在VPC
var AWS = require("aws-sdk");
exports.handler = (event, context, callback) => {
var ec2 = new AWS.EC2({region:'us-east-1'});
return ec2.describeRegions({}).promise()
.then(function(regionResponse) {
console.log(regionResponse.Regions)
callback(null, regionResponse.Regions);
})
.catch(
function (err) {
console.log({"error" : err});
callback(err, null);
}
)
};
我可以在VPC之外成功运行此功能。
我使用VPC向导创建VPC并使用单个公有子网和Internet网关创建VPC。我将这个函数放在VPC中,并赋予它一个具有Lambda VPC执行权限的执行角色。 它现在失败,超时,我已经设置为10秒(正常执行1秒)
我从我的配置,防止功能访问VPC内的AWS开发工具包丢失?
这个问题每周至少要问一次。请查看以下一些其他问题的答案:http://stackoverflow.com/questions/38188532/why-aws-lambda-within-vpc-can-not-send-message-to-sns http:// stackoverflow.com/questions/35423246/adding-aws-lambda-with-vpc-configuration-causes-timeout-when-accessing-s3 –
@MarkB这一点经常被问到的事实只是表明它需要一个适当的文档亚马逊提供的用例或示例。我之前一直在用这些路线回答这些路线,所以我可能错过了一些东西或者弄得一团糟。我将重新开始,看看我能否取得成功 – ajmcgarry
AWS已经在很多地方记录了这一点,如http://docs.aws.amazon.com/lambda/latest/dg/vpc.html和官方的Lambda VPC在此发布声明:https://aws.amazon.com/blogs/aws/new-access-resources-in-a-vpc-from-your-lambda-functions/您希望从他们那里得到什么具体信息,他们不是为你提供?无论如何,这就是您需要提供亚马逊的反馈,而不是将它发布到这里,他们永远不会看到它。 –