小编Jus*_*Fox的帖子

AWS Lambda 和 RDS 之间的间歇性超时

我们目前正在经历我只能描述为AWS Lambda 和 RDS 之间的随机间歇超时。部署我们的函数并成功运行后,它们可以随机切换到超时状态,无需更改配置。重要的是要注意,我们还在监控数据库连接,可以确认我们没有遇到最大连接问题。

以下是我们设置的详细信息:

正在执行的代码(使用 Node.JS v. 6.10):

const mysql = require('mysql');

exports.dbWrite = (events, context, callback) => {

   const db = mysql.createConnection({
       host: <redacted>,
       user: <redacted>,
       password: <redacted>,
       database: <redacted>
   });

   db.connect(function (err) {
       if (err) {
           console.error('error connecting: ' + err.stack);
           return;
       }

       console.log('connected !');
   });

   db.end();

};
Run Code Online (Sandbox Code Playgroud)

我们使用的是 Node.JSmysql库,版本 2.14.1。

从网络的角度:

  • Lambda 函数与我们的 RDS 实例在同一个 VPC 中
  • Lambda 函数分配了子网,这些子网与没有互联网访问权限的路由表相关联(不与互联网网关相关联)
  • RDS 数据库不可公开访问。
  • 一个安全组已创建并与 Lambda 函数相关联,该函数在所有端口上具有广泛的开放访问权限(目前 - …

mysql amazon-web-services amazon-rds node.js aws-lambda

5
推荐指数
1
解决办法
2714
查看次数