调用参数存储时,Lambda函数超时。

4

我有一个Lambda函数,它调用参数存储来获取凭据。代码如下:

import boto3
ssm = boto3.client('ssm')
parameter = ssm.get_parameter(Name='credentials', WithDecryption=True)
print(parameter['Parameter']['Value'])

我已经给lambda角色授予了AmazonSSMFullAccess权限。该lambda有一个VPC,我将在稍后使用它来连接到没有公共访问权限的Redshift数据库。入站和出站规则如下所示: enter image description here 有一篇文章 AWS Lambda cannot connect to Parameter Store 提到,如果lambda需要VPC,则添加NAT网关。
在lambda子网路由表中:enter image description here,似乎已经有了通往互联网的路由?
但是我仍然收到lambda超时错误:(
1个回答

4

是否已经有一条路径通向互联网了?

很遗憾,没有。看起来您将Lambda放置在具有通往互联网网关(IGW)的公共子网中。然而,您必须使用一个具有通往NAT网关的私有子网。IGW和NAT是两个不同的东西。请参阅这篇AWS指南,了解如何使其正常工作:

另外,您可以为Parameter Store设置VPC接口端点。这样,您就不需要为Lambda函数提供互联网访问权限。


1
最终,我为参数存储创建了VPC接口端点,并且它成功了! - Eugene

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接