amazon-web-services - AWS 将 VPC 内的 Lambda 调用到另一个 VPC 中的另一个 Lambda

标签 amazon-web-services aws-lambda amazon-vpc

可以从另一个 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 Gateway Resource Policies 也是这样写的:

{
    "Statement": [
        {
            "Principal": "*",
            "Action": [
                "execute-api:Invoke"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

并将 VPC 端点策略设置为完全访问权限。

最佳答案

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

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

  • Lambda 函数位于私有(private)子网
  • 在公共(public)子网中有一个NAT 网关
  • 私有(private)子网的路由表0.0.0.0/0 流量定向到 NAT 网关

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

“调用的”Lambda 函数连接的是什么(VPC 与否)也无关紧要。激活此 Lambda 函数的控制平面在 Internet 上,这与 Lambda 函数本身的连接位置无关。

关于amazon-web-services - AWS 将 VPC 内的 Lambda 调用到另一个 VPC 中的另一个 Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59587626/

相关文章:

amazon-ec2 - VPC 到 EC2 经典路由

amazon-web-services - 适用于 RDS 的 AWS 安全组 - 出站规则

java - AWS S3复制对象源 key 和目标 key

java - 即使抛出异常,Lambda 返回 200

node.js - aws lambda 函数内的 ses.sendMail() 不返回回调

aws-api-gateway - 如何为私有(private)子网中部署的服务配置 api 网关?

amazon-web-services - 为什么 AWS RDS 子网组需要多个可用区?

amazon-web-services - Aws ecs fargate ResourceInitializationError : unable to pull secrets or registry auth

amazon-web-services - 我可以在 AWS CDK 中复制 DependsOn 行为吗?

sql - 如何有效地将新数据附加到 AWS Athena 中的表中?