【问题标题】:Access a Lambda function inside a private subnet using API gateway使用 API 网关访问私有子网内的 Lambda 函数
【发布时间】:2020-09-20 09:55:01
【问题描述】:

我有一个包含 2 个 Lambda 函数 A 和 B 的 VPC:

  • A 位于 2 个公共子网上
  • B 位于具有 RDS 数据库实例的 2 个私有子网中

VPC 本身可以通过 NAT 实例访问 Internet。 我需要第 3 方 API 与 B 通信,但 B 在私有子网中。现在我想知道 API Gateway 是否解决了这个问题,还是需要更多的工作。

提前致谢

【问题讨论】:

    标签: amazon-web-services aws-lambda aws-api-gateway serverless


    【解决方案1】:

    如果您希望第 3 方调用 Lambda 函数并将数据传递给它,那么 AWS API Gateway 适合该任务。这正是 API Gateway 的设计初衷。

    见:Using AWS Lambda with Amazon API Gateway - AWS Lambda

    或者,您可以使用弹性负载均衡器并让它调用 Lambda 函数。

    发件人:Using AWS Lambda with an Application Load Balancer - AWS Lambda

    您还提到您有一个“在 2 个公共子网上”的 AWS Lambda。 AWS Lambda 函数应该配置为连接到公共子网。它们应该配置为使用“无 VPC”(在这种情况下它们可以直接访问 Internet),或者它们应该连接到私有子网(如果需要,可以使用 NAT 网关或 NAT 实例访问 Internet)。

    见:Configuring a Lambda function to access resources in a VPC - AWS Lambda

    将您的函数连接到私有子网以访问私有资源。如果您的函数需要访问 Internet,请使用网络地址转换 (NAT)。将函数连接到公共子网不会为其提供 Internet 访问权限或公共 IP 地址。

    【讨论】:

    • 感谢您的回答,John,但您能解释一下为什么它们不应该出现在公共场合吗?
    • 添加了文档的链接和引用。
    猜你喜欢
    • 1970-01-01
    • 2020-08-07
    • 2019-04-29
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2020-03-12
    • 2018-09-11
    • 1970-01-01
    相关资源
    最近更新 更多