ラムダ関数からノードを使用してMySQLデータベースに接続できませんでした。私が受け取るエラーはTask timed out after 4.00 seconds
です。ラムダ関数(ノード)からMySQLデータベースに接続
解決方法はありますか?ここで
は私の状態の概要は次のとおりです。
- AWS RDSデータベースはMySQLデータベースです。 VPCに限定されていません(MySQLWorkbenchのホスト/ユーザ/パスワードを使用して接続できます)。
- 私のラムダ関数の実行ロールは、ラムダが信頼できるエンティティとして設定され、AdministratorAccessが与えられています。
- 私のローカルマシンで、mysqlモジュールをインストールし、index.jsとnode_modulesフォルダを圧縮してラムダ関数にアップロードしました。
- 私は、createConnectionを入れて、ハンドラの中に関数を接続しようとしました。私は接続関数のコールバック関数の中に私のクエリを入れてみました。タイムアウト時間を10秒に増やしてみました。
マイコード:
var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'amazon-string.rds.amazonaws.com', user : 'myusername', password : 'mypassword' }); connection.connect(); exports.handler = (event, context, callback) => { connection.query("SELECT * FROM table", function(err, rows, fields) { console.log("rows: " + rows); callback(null); }); };
[AWSラムダRDS接続タイムアウト]の可能な複製(https://stackoverflow.com/questions/42605093/aws-lambda-rds-connection-timeout) –