我有一个带有两个隔离子网的 VPC,一个用于我的 RDS Serverless 集群,一个用于我的 Lambda 函数。
但是当我的 Lambda 函数调用我的 RDS 时,它们都会超时。
我的问题是;这个 VPC + 隔离子网是 API Gateway -> Lambda -> RDS 的工作结构,还是我在尝试一些不可能的事情?
拉姆达:
import * as AWS from 'aws-sdk';
const rdsDataService = new AWS.RDSDataService();
const query = `SELECT * FROM information_schema.tables;`;
export const handler = async (event) => {
const params = {
secretArn: `secret arn`,
resourceArn: "rds arn",
sql: query,
database: 'db name'
};
const res = await rdsDataService.executeStatement(params).promise();
return { statusCode: 200, body: {
message: 'ok',
result: res
}};
};
我的 RDS 和 Lambda 共享一个安全组,我已在其中为所有流量打开(我知道这并不理想),并且我的 Lambda 具有具有管理员权限的角色(也不理想),但仍然只是超时。