amazon-web-services - Lambda(私有子网)到 Lambda(公共子网)调用超时
问题描述
我的 VPC 中有 2 个 lambda。我的 VPC 中有 4 个子网,2 个是公共的,2 个是私有的。
我在一个私有子网中有一个 lambda,另一个在公共子网中有一个。当我尝试从公共子网中的一个调用私有子网中的 lambda 时,它会超时。我正在使用 boto3 进行 lambda 到 lambda 调用,如此处给出。
但是,我可以将公有子网中的 lambda 调用到在同一 VPC 内的其他公有子网中创建的新 lambda。
公共子网没有附加 NAT。为什么会发生这种情况?
解决方案
来自公共子网的调用超时,因为 VPC 中的 lambda 函数没有公共 IP也没有互联网访问。来自文档:
将函数连接到公共子网不会为其提供 Internet 访问权限或公共 IP 地址。
此外,当lambda 在 VPC 中时,您不能通过其弹性网络接口(ENI) 调用它。lambda 的 VPC 功能是让您的函数调用 VPC 中的私有资源,而不是相反。
换句话说,将 lambda 放入 VPC 的唯一原因是访问其私有资源(例如私有子网中的 RDS)。它不允许,例如,私有子网中的私有实例在没有 NAT 网关/实例的情况下调用您的 lambda 函数。
推荐阅读
- java - 无法在 wsimport 生成的源中获取具有类路径方案的 URL 的资源
- spring-boot - Spring Boot JPA 更新失败
- python - 如何为列中的每个不同值转发重采样
- php - 我已经设置了 web 和 api 防护,但使用护照登录总是访问 web 防护
- javascript - 如果数据设置为假值(null、false、未定义等),为什么 v-bind:style 不会对更改做出反应
- javascript - css square限制大小和位置到父div
- flutter - 如何更改颤动中的文本选择选项?
- python - 使用 selenium 截屏时如何关闭网站弹出窗口?
- r - 使用 PCA 结果作为 XGboost 模型的输入引发错误:存储在 `object` 和 `newdata` 中的特征名称不同
- php - 用于将子目录中的所有请求重定向到该子目录的索引的 Mod_rewrite 规则,路径为变量