【问题标题】:AWS Lambda Function with VPC only works when in Private Subnet带有 VPC 的 AWS Lambda 函数仅在私有子网中有效
【发布时间】:2023-03-26 08:52:01
【问题描述】:

我一直致力于将 Amazon Lambda 函数与 mySQL DB 的 RDS 和外部 API 的连接集成在一起。要访问 API,需要有一个 Internet 网关,然后是允许来自 0.0.0.0/0 的连接的安全组。

我有一个公共子网和一个私有子网。公共子网路由到 Internet 网关,而私有子网路由到 NAT。

这让我想到,如果我使用公共子网运行 Lambda 函数,它将连接到互联网。但是,每次都超时。但是,当我在私有子网中运行 lambda 函数时,它起作用了!因此,NAT 似乎可以工作,因为这是与私有 sune 相关联的内容,但仅使用 Internet 网关是行不通的。

有人对此有什么解释吗?

【问题讨论】:

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


【解决方案1】:

要使 Amazon Lambda 函数连接到 Internet,需要满足以下条件之一:

  • Lambda 函数连接到 VPC,
  • Lambda 函数连接到一个私有子网,并且配置了一个 NAT 网关/NAT 实例,
  • Lambda 函数连接到公共子网,并且弹性 IP 地址分配给子网中 Lambda 函数使用的弹性网络接口 (ENI)

仅将 Lambda 函数连接到公共子网(没有 EIP)将提供 Internet 访问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 2021-06-13
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多