【问题标题】:Inter VPC internet access between lambdaslambda 之间的 VPC 间互联网访问
【发布时间】:2020-05-04 01:40:23
【问题描述】:

我正在处理一个项目,其中我的主要 lambda 函数位于私有子网中的 VPC 中,而其他 VPC 中的一些姊妹 lambda 函数位于它们自己的私有子网中。我如何才能通过 VPC 从主 lambda 调用这些姐妹 lambda,而无需通过 NAT 网关对它们中的每一个进行互联网访问,该 NAT 网关链接到具有 Internet 网关的公共子网。 我的主要 lambda 调用的其他 AWS 服务是: 1. S3 2.动态数据库 3. 自动缩放 4. ECS 5.RDS

【问题讨论】:

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


    【解决方案1】:

    这可以做到,但涉及一些复杂的步骤。

    首先,当您使用aws-sdk 时,呼叫是通过互联网进行的。为了避免这种情况并访问 AWS 网络内的服务,AWS 引入了一些私有 VPC 端点。迄今为止,我只使用过 S3 和 API 网关私有端点。但是有更多类型的 VPC 端点。

    这就是我今天要做的,

    1. 设置私有 API 网关 API 以调用 lambda - 私有 API 只能通过 API 网关的私有 VPC 端点访问。
    2. 为 API 网关创建私有 VPC 端点。
    3. 在 VPC 之间设置 VPC 对等
    4. (来自其他 VPC 上的姐妹 lambda)通过 VPC 终端节点公共 DNS URL 调用 API

    在 lambda 前面添加 API 的缺点是,API 有 29 秒的硬超时。

    希望这会有所帮助。

    【讨论】:

    • 我不想从姐妹 lambda 调用主 lambda,但相反,我的主 lambda 前面已经有一个 API 网关,而姐妹 lambda 实际上有从调用的算法代码这个主 lambda 和响应从主 lambda 返回并使用 API 网关在前端提供服务。我认为我不需要 API 网关的 VPC 端点。如果我错了,请纠正我。
    • 如果主lambda有外网访问,它可以通过互联网调用姐妹lambda。
    • 如果主 lambda 没有传出互联网访问权限,则需要通过 API 网关的私有 VPC 端点调用姊妹 lambda。这也需要 API(私有)调用姐妹 lambda。
    • 所以您的建议是我们在姐妹 lambda 前面有一个 API 网关,并在主 lambda 中为该 API 网关定义 VPC 端点。然后,这个新的 API 网关将调用姊妹 lambda 并执行必要的操作。
    • 关闭。姊妹 vpc 中的 Vpc 网关,姊妹 vpc 中的 vpc 端点。主 vpc lambdas 通过姐妹 vpc 端点公共 dns url 与姐妹 lambda 对话。
    猜你喜欢
    • 2017-07-20
    • 2019-12-06
    • 2016-08-03
    • 1970-01-01
    • 2020-01-04
    • 2019-01-07
    • 2020-02-07
    • 1970-01-01
    • 2021-01-09
    相关资源
    最近更新 更多