AWS在VPC内调用Lambda到另一个VPC中的另一个Lambda

rhd*_*dtp 2 amazon-web-services amazon-vpc aws-lambda

可以从另一个 VPC 中的另一个 lambda 调用位于一个 VPC 内的 lambda 函数。

我尝试使用 AWS VPC 终端节点执行此操作,但无法执行此操作。它标记错误 403。我正在执行以下步骤:https://aws.amazon.com/es/blogs/compute/introducing-amazon-api-gateway-private-endpoints/

https://cedrus.digital/aws-privatelink-with-api-gateway-and-lambda-functions/

我不确定是否应在将调用 lambda 或接收请求的 VPC 中创建 VPC 端点。

甚至,API网关资源政策是这样规定的:

{
    "Statement": [
        {
            "Principal": "*",
            "Action": [
                "execute-api:Invoke"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

并且 VPC 终端节点策略为完全访问。

Joh*_*ein 7

要通过 API 调用调用 AWS Lambda 函数,调用实体必须能够访问 Internet。调用实体是否位于同一 VPC、不同 VPC、甚至不在 VPC 中并不重要。重要的是请求可以发送到 AWS Lambda API 端点。

如果调用 Lambda 函数位于 VPC 中,请确保它可以访问 Internet。这通常需要:

  • Lambda 函数位于私有子网中
  • 公有子网中有一个NAT 网关
  • 私有子网的路由表将流量定向到NAT0.0.0.0/0网关

或者,如果调用 Lambda 函数连接到 VPC,则它会自动接收对 Internet 的访问。

“所谓的”Lambda 函数连接的内容(VPC 或非 VPC)也并不重要。激活此 Lambda 函数的控制平面位于 Internet 上,与 Lambda 函数本身连接的位置无关。