Я развернул свою лямбда-функцию через Serverless Framework. Когда я вызываю функцию локально, она работает нормально. Но в среде AWS Lambda невозможно установить соединение с MYSQL, который размещен на remotemysql.com. Каждый раз выдает ошибку тайм-аута.
Попытка увеличить тайм-аут, но ничего не работает
sequelize = new Sequelize(
process.env.DB_NAME,
process.env.DB_USER,
process.env.DB_PASSWORD,
{
host: process.env.DB_HOST,
dialect: "mysql",
logging: false,
connectTimeout: 60000
}
);
sequelize
.authenticate()
.then(() => {
logger.info("Database connection established");
// do my work
// some api calls to xys hosts outside servers
})
.catch(error => {
logger.error("Database connection failed", {
code: error.original.code,
errno: error.original.errno
});
process.exit(1);
});
Моя функция не находится внутри VPC, и ей разрешен доступ в Интернет, так как я убедился, что она возвращает ответы APIчто я делаю для некоторых других служб за пределами AWS.
Я не уверен, если это из-за TCP-соединения или что-то еще.
Пожалуйста, сообщите