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

我已经按照我在另一篇文章中找到的以下步骤进行了操作,但仍无法使其正常工作 . 使用此方法,是否应该只为每个Lambda分配公有子网?

两个Lambdas都可以独立运行并可以访问Internet .

我还需要配置什么?

Current configuration followed:

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

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

目标:互联网网关的ID

在专用路由表中,转到路由并添加新路由:目标:0.0.0.0/0

Target:nat网关的ID

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

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

Edit: 这两个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)