简体   繁体   English

如何将 AWS Aurora 无服务器数据库连接到 Next.js 应用程序

[英]How to connect AWS Aurora serverless database to Next.js app

I am trying to connect my Next app to an Aurora serverless MySQL database instance by I can't get it to work.我正在尝试将我的 Next 应用程序连接到 Aurora 无服务器 MySQL 数据库实例,但我无法让它工作。

I am trying to use the RDS data api , but my Next api functions keep timing out.我正在尝试使用RDS data api ,但我的 Next api 函数一直超时。

Has anyone got any idea how I can achieve this?有谁知道我怎么能做到这一点?

Thank you to everyone for your suggestion.谢谢大家的建议。 I managed to get this to work.我设法让它工作。

The server doesn't need to be in the same VPC as the db.服务器不需要与数据库位于同一 VPC 中。

I used this package to connect - data-api-client我用这个包连接——data-api-client

Here's how I connected:这是我的连接方式:

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,
  },
});

After turning on the data api on the database, I then had to create a secret in the secrets manager that is connected to the database.打开数据库上的数据 api 后,我必须在连接到数据库的秘密管理器中创建一个秘密。 Then I created a new I AM role that gave full access to the database and secrets manager.然后,我创建了一个新的 I AM 角色,该角色授予对数据库和机密管理器的完全访问权限。

After that everything worked as expected.之后,一切都按预期进行。

This is likely a security group issue.这可能是安全组问题。 You need to add the security group that your next app is on to the RDS inbound security group.您需要将下一个应用所在的安全组添加到 RDS 入站安全组。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM