从另一个Lambda调用AWS Lambda函数的超时错误

时间:2018-01-11 07:02:45

标签: python amazon-web-services aws-lambda

尝试从另一个Lambda调用Lambda函数时,我收到超时错误。

我已经按照我在其他帖子中找到的以下步骤进行了操作,但仍无法使其正常运行。使用此方法,是否只应将公有子网分配给每个Lambda?

两个Lambdas都可以独立运行并可以访问互联网。

我还需要配置什么?

当前配置如下:

创建2个子网,让一个被表示为私有,第二个被公开(这些术语将在前面解释,继续阅读)。 创建Internet网关 - 这是一个将VPC连接到Internet的虚拟路由器。 创建NAT网关 - 选择公共子网并为其创建新的弹性IP(此IP是您的VPC的本地IP) - 此组件将管道与Internet网关的通信。 创建2个路由表 - 一个名为public,另一个名为public。

在公共路由表中,转到路由并添加新路由: 目的地:0.0.0.0/0

目标:互联网网关的ID

在私有路由表中,转到路由并添加新路由: 目的地:0.0.0.0/0

目标:nat-gateway的ID

私有子网是其路由表中的子网 - 没有到Internet网关的路由。

公有子网是其路由表中的子网 - 存在到Internet网关的路由

编辑:两个Lambdas属于同一个安全组 - 这是正确的吗?我还测试了Lambdas可以成功连接到同一个VPC中的RDS数据库。

这是我用来调用第二个Lambda的Python:

try:
    invoke_response = lambda_client.invoke( 
        FunctionName='test_function',
        InvocationType='Event',
        LogType='None',
        Payload=json.dumps(test_payload),
    )
except Exception as invoke_error:
    print(invoke_error)

0 个答案:

没有答案