如何将 AWS Aurora 无服务器数据库连接到 Next.js 应用程序
How to connect AWS Aurora serverless database to Next.js app
我正在尝试将我的 Next 应用程序连接到 Aurora 无服务器 MySQL 数据库实例,但我无法让它工作。
我正在尝试使用 RDS data api,但我的下一个 api 函数一直超时。
有没有人知道我怎样才能做到这一点?
这可能是安全组问题。您需要将您的下一个应用所在的安全组添加到 RDS 入站安全组中。
感谢大家的建议。我设法让这个工作。
服务器不需要与数据库在同一个 VPC 中。
我用这个包连接 - data-api-client
这是我的连接方式:
const dataApi = require('data-api-client');
const RDS = dataApi({
secretArn: process.env.SECRET_ARN,
resourceArn: process.env.RDS_ARN,
database: process.env.DB_NAME,
options: {
region: process.env.REGION,
accessKeyId: process.env.ACCESS_KEY_ID,
secretAccessKey: process.env.SECRET_ACCESS_KEY,
},
});
在数据库上打开数据 api 后,我必须在连接到数据库的机密管理器中创建一个机密。然后我创建了一个新的 I AM 角色,可以完全访问数据库和机密管理器。
在那之后一切都按预期进行。
我正在尝试将我的 Next 应用程序连接到 Aurora 无服务器 MySQL 数据库实例,但我无法让它工作。
我正在尝试使用 RDS data api,但我的下一个 api 函数一直超时。
有没有人知道我怎样才能做到这一点?
这可能是安全组问题。您需要将您的下一个应用所在的安全组添加到 RDS 入站安全组中。
感谢大家的建议。我设法让这个工作。
服务器不需要与数据库在同一个 VPC 中。
我用这个包连接 - data-api-client
这是我的连接方式:
const dataApi = require('data-api-client');
const RDS = dataApi({
secretArn: process.env.SECRET_ARN,
resourceArn: process.env.RDS_ARN,
database: process.env.DB_NAME,
options: {
region: process.env.REGION,
accessKeyId: process.env.ACCESS_KEY_ID,
secretAccessKey: process.env.SECRET_ACCESS_KEY,
},
});
在数据库上打开数据 api 后,我必须在连接到数据库的机密管理器中创建一个机密。然后我创建了一个新的 I AM 角色,可以完全访问数据库和机密管理器。
在那之后一切都按预期进行。