外部调用的 Lambda 函数超时

2024-04-04

我有一个 Lambda 函数,需要从中进行外部 API 调用。我已将 Lambda 函数添​​加到一个安全组、一个 VPC 和 2 个子网,它为我提供了以下文本:

当您启用 VPC 时,您的 Lambda 函数将失去默认互联网 使用权。如果您需要外部互联网访问来执行您的功能, 确保您的安全组允许出站连接并且 您的 VPC 有 NAT 网关。

我进入 VPC,创建一个 NAT 网关(我让 AWS 创建一个 EIP),将其附加到我的 lambda 函数上的子网之一。

出于调试目的,我的安全组出站功能设置为所有流量/所有目的地(0.0.0.0/0)。此外,我针对该 VPC 的网络 ACL 设置为以下内容(有 5 个子网,包括带有 NAT 网关的子网):

100 | ALL Traffic | ALL | ALL | 0.0.0.0/0 | ALLOW

VPC 上有 2 个相同子网的路由表,其中0.0.0.0/0路由设置为目标 NAT 网关。

VPC 上还有一个包含 3 个其他子网的不同路由表,其中0.0.0.0/0路由设置为目标互联网网关。

两个路由表具有相同的local目标IP(VPC的IP)。

我得到的错误是:

{ Error: connect ETIMEDOUT x.x.x.x:443
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
code: 'ETIMEDOUT',
errno: 'ETIMEDOUT',
syscall: 'connect',
address: 'x.x.x.x',
port: 443 }

我正在运行的节点代码在我的桌面节点环境中工作,并且 POST 调用在邮递员中工作,所以我相当确定这是我的 AWS 配置的问题。

我一直在使用这个场景作为资源:http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html


我进入 VPC,创建一个 NAT 网关(我让 AWS 创建一个 EIP),将其附加到我的 lambda 函数上的子网之一。

那就是你出错的地方。

NAT 网关必须not连接到它所服务的任何子网。 NAT 网关必须位于具有到 Internet 网关的默认路由的公共子网上。

NAT 网关的默认路由遵循其所连接的子网的路由表的默认路由,以到达 Internet。如果它与需要 NAT 网关的子网关联,则其默认路由会自行环回。

Then, all与 Lambda 关联的子网需要使用默认路由指向 NAT 网关的路由表。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

外部调用的 Lambda 函数超时 的相关文章

  • 尝试通过 knex 连接到 Mssql 服务器

    我正在尝试使用 knex 连接到远程数据库 但收到此错误 乏味已弃用默认值options encrypt将会改变自false to true 请通过false如果您想保留当前行为 请明确地表示 在node modules mssql lib
  • 操作 `posts.find()` 缓冲在 10000 毫秒后超时

    当我在本地尝试时 效果非常好 但 Heroku 在服务器部署后出现此错误 有人可以帮忙吗 message Operation posts find buffering timed out after 10000ms index js con
  • 如何使用 gcloud 凭据对 Dialogflow API 进行身份验证

    我有一个 Node JS 应用程序 可以向 Dialogflow 代理发出请求 我实际上使用基于临时令牌的请求 但是我如何更改它以通过谷歌服务凭证来做到这一点 https cloud google com docs authenticati
  • 使用 MongoDB Atlas 时 mongo-go-driver 因服务器选择超时而失败

    去版本 1 12 5 我有这个使用 node js mongo 驱动程序的代码 const MongoClient require mongodb MongoClient const uri process env MONGO HOST d
  • 从 MongoDB+Node.js 获取数据到客户端 JavaScript

    如何使用 Node js 连接 MongoDB 然后将结果传递给客户端 JavaScript 并以 HTML 形式显示 var http require http var URL require url var Db require mon
  • Node Js:Redis 作业在完成其任务后未完成

    希望你们做得很好 我在我的 Nodejs 项目中实现了 BullMQ Bull 的下一个主要版本 来安排发送电子邮件的作业 例如 发送忘记密码请求的电子邮件 所以 我编写了如下所示的代码 用户服务 await resetPasswordJo
  • 为什么Intellij IDEA在nodejs中显示require undefined?

    有谁知道为什么intellij IDEA强调需要 我怎样才能解决这个问题 我在 Windows 上使用 IntelliJ IDEA 15 0 3 也遇到了同样的问题 解决方案是 文件 gt 设置 gt 语言和框架 gt Nodejs 和 N
  • 从 Puppeteer 中的 page.evaluate 获取元素? [复制]

    这个问题在这里已经有答案了 我正在与Node js and 傀儡师第一次 找不到输出值的方法page evaluate到外部范围 我的算法 Login Open URL Get ul 循环每个li然后点击它 等待innetHTML要设置并添
  • AWS lambda只读文件系统错误,使用docker镜像存储ML模型

    我在 lambda 上使用 docker 容器映像来运行我的 ML 模型 我的 lambda 函数有一个 S3 触发器来获取图像 我正在尝试运行 lambda 函数 但收到此错误 有人可以帮帮我吗 PS 现在我知道 tmp 是 lambda
  • 多个 Nodejs 应用程序的单点登录

    我们有 3 个 Nodejs Web 应用程序 在具有多个子域的同一 vps 上的同一域名上运行 并为每个应用程序实现护照身份验证 我们希望单个用户能够使用单个帐户访问所有应用程序 因此我们仅出于帐户管理的目的添加了accounts exa
  • 刷新后,socket.io 客户端多次侦听同一事件

    我得到了一个包含项目表的母版页 成功后表数据将不断刷新socket io与服务器的连接 单击表中的某个项目 该项目的 id 将传递到服务器 时 将使用 ajax 加载子视图 并通过侦听来自服务器的事件不断刷新该子视图 现在的问题是 通过选择
  • 使用 python-shell 持续交换数据

    我需要从节点运行一些 python 脚本 由于我的 python 脚本使用复杂的结构 我认为如果只加载这些结构一次 然后使用这些结构运行一些特定的脚本 任务 会更好 在节点上 我想永远运行一个脚本 或者直到我说它可以终止 并继续向该脚本发送
  • 获取 emr-ddb-hadoop.jar 将 DynamoDB 与 EMR Spark 连接

    我有一个 DynamoDB 表 需要将其连接到 EMR Spark SQL 才能对该表运行查询 我获得了带有发行标签 emr 4 6 0 和 Spark 1 6 1 的 EMR Spark Cluster 我指的是文档 使用 Spark 分
  • 枚举nodejs中的系统驱动器

    有没有办法检索计算机上所有逻辑驱动器的驱动器名称 我查看了 fs api 但从那里我只能枚举给定目录的文件和目录 我不确定 驱动器名称 是什么意思 如果您的意思是以下形式的驱动器 PhysicalDriveN 我遇到了同样的问题并实现了这个
  • 基于 SQS 队列大小的自动缩放

    我已将这些命令组合在一起 以根据 SQS 队列大小自动缩放 EC2 实例 我已运行所有命令 我的队列有 10 条消息 但尚未启动单个实例 我想弄清楚我的 cloudwatch 警报正在侦听哪个 SQS 队列 此外 我们还感谢任何有助于识别问
  • socket.io 服务器的 Node.js 客户端

    我有一个正在运行的 socket io 服务器和一个带有 socket io js 客户端的匹配网页 一切正常 但是 我想知道是否可以在另一台机器上运行一个单独的 node js 应用程序 该应用程序将充当客户端并连接到提到的 socket
  • 如何使用 Node.js 在 Firebase 中注册用户?

    PROBLEM 0 用户是在 Firebase 的身份验证系统中创建的 我在 身份验证 选项卡中看到它 1 但没有对数据库进行任何更改 2 页面似乎无限加载 3 控制台仅记录 Started 1 CODE router post regis
  • 在 ExpressJS 中通过管道传送远程文件

    我想读取远程图像并显示它 我可以保存文件 但无法正确显示代码 理想情况下 我只想直接传递文件而不进行处理 不确定是否需要 tmp 文件步骤 此代码不显示任何内容 没有错误 我也尝试了 res pipe response var url ht
  • npm 脚本:node-sass 不监视部分 sass 文件

    我有这个项目结构 src assets css sass main scss variables scss 我正在尝试编写一个 npm 脚本 该脚本将监视我的所有 scss 文件 包括部分文件 中的更改 然后仅编译我的 main scss
  • 在 NPM 上捆绑并发布客户端 Web 代码

    我制作了一个 JavaScript 文件 假设它的内容是这样的 let myCoolAlert str gt alert str in a different js file SO doesn t allow you to cross fi

随机推荐

  • PHP内置开发服务器的最大并发连接数

    我在使用 php 的内置网络服务器时遇到了一个问题 因为它似乎只允许单个并发连接 我在测试一些并发 ajax 请求时发现了这一点 这些请求似乎都是同时完成的 这不是什么大问题 因为我总是可以启动 apache 这就是我得出上述结论的方式 但
  • GlassFish 需要 Java SE 版本 6。您的 JDK 是版本 0 (Mac)

    我正在 IntelliJ 中使用 GlassFish 做一个项目 它抛出以下错误 GlassFish 需要 Java SE 版本 6 您的 JDK 是版本 0 我跑了glassfish4 bin asadmin start domain在终
  • 分层架构中的实体框架

    我正在使用实体框架的分层架构 这是我到目前为止想到的 除 UI 之外的所有项目都是类库 Entities POCO 实体 完全的执着无知 没有参考其他项目 由 Microsoft 的 ADO Net POCO 实体生成器生成 DAL 带有上
  • 具有复杂 Json 结构的 Room

    我是 Room 的新手 目前正在做我的一个项目 我应该在其中插入一些改造的 GSON 数据 首先 让我在下面展示我的 JSON 它将提供清晰的结构 organization id 0 title string description HTM
  • 计算唯一对的数量并将计数存储在矩阵中

    我的问题类似于stackoverflow com q 7549410 https stackoverflow com q 7549410 我有配对数据 如下所示 ID ATTR 3 10 1 20 1 20 4 30 我想计算唯一对的数量并
  • Python 3 CSV 文件在打印时出现 UnicodeDecodeError: 'utf-8' 编解码器无法解码字节错误

    我在 Python 3 中有以下代码 用于打印 csv 文件中的每一行 import csv with open my file csv r newline as csvfile lines csv reader csvfile delim
  • 更改文件长度时,是否需要重新映射所有关联的 MappedByteBuffer?

    我有一个小而简单的存储系统 可以通过内存映射文件进行访问 由于我需要处理超过 2GB 的空间 因此我需要一个具有固定大小 如 2GB 的 MappedByteBuffer 列表 由于不同原因 我使用的空间较少 那么一切都相对简单 一个缓冲区
  • Nuxt 3 中的深色模式切换器无法与官方 @nuxtjs/color-mode 配合使用

    我想使用 tailwind 和推荐的 nuxtjs color mdoe 模块在我的 Nuxt 应用程序上实现深色模式 测试顺风的黑暗 类运行良好并且按预期工作 但是我无法使按钮切换器以编程方式设置颜色模式 我在 devDeps 中安装了
  • 将 props 传递给包装在 withRouter() 函数中的 React 组件

    我正在使用 React Router v4 在我的 React 应用程序中导航 下面是包裹在withRouter 函数使其能够在单击时更改路线 const LogoName withRouter history props gt h1 gt
  • 如何使用perl脚本删除重复行

    如何删除重复行 我当前的代码 use strict use warnings my input input txt my output output txt my seen open OP gt output or die open IP
  • SSRS - 条件文本格式(使用 Switch 的表达式)

    我将首先说明这些表达式在报告中确实有效 问题是他们没有一起工作 我目前有一个基于两列值格式化的列标题 根据 Column1 的值使用斜体和下划线 基于 Column2 值的粗体和特定颜色 我通过在文本属性中使用 Switch 表达式来完成此
  • 在 Swift 中实例化并呈现 viewController

    Issue 我开始看Swift Programming Language 不知怎的 我无法正确输入 a 的初始化UIViewController从具体的UIStoryboard In Objective C我简单地写 UIStoryboar
  • 如何使用 FFmpeg 从图像创建视频? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • Rails 应用程序在服务器上速度很快,但从另一台机器访问时速度很慢

    我有一个 Rails 应用程序托管在服务器计算机上 运行 Webrick 当我登录到这台计算机并访问该应用程序 通过 localhost 3000 时 该应用程序运行顺利 但是 当我尝试从另一台计算机 通过主机名 3000 访问该应用程序时
  • 删除一行中重复的相同字符

    我正在尝试创建一种方法 该方法可以从字符串中删除所有重复项 或者根据参数仅在一行中保留相同的 2 个字符 例如 helllllllo gt helo or helllllllo gt hello 这保留了双字母 目前我通过执行以下操作删除重
  • Django 使用 sqlite3 设置?

    我正在尝试按照 django 网站上的演练进行操作 我下载了 sqlite 并将其保存在C Windows System32文件夹 当我编辑settings py文件我该放什么Name场地 我必须建立数据库吗 django 文献说 API
  • 使用 postgres 窗口函数重复行

    postgres 文档 http www postgresql org docs 9 1 static tutorial window html http www postgresql org docs 9 1 static tutoria
  • Argparse:来自文件的默认值

    我有一个 Python 脚本 它需要很多参数 我目前使用的是configuration ini文件 使用读取configparser 但希望允许用户使用命令行覆盖特定参数 如果我只有两个参数 我会使用类似的东西 if not arg1 ar
  • Java 8中basic和url base64编码的区别

    Java 8Base64 http docs oracle com javase 8 docs api java util Base64 html库有两种可用于 URI 构建的变体 基本 变体和 URL 和文件名安全 变体 该文档指出RFC
  • 外部调用的 Lambda 函数超时

    我有一个 Lambda 函数 需要从中进行外部 API 调用 我已将 Lambda 函数添 加到一个安全组 一个 VPC 和 2 个子网 它为我提供了以下文本 当您启用 VPC 时 您的 Lambda 函数将失去默认互联网 使用权 如果您需