繁体   English   中英

如何使用 prisma 连接 AWS aurora (posgresSQL)

[英]How to connect AWS aurora (posgresSQL) using prisma

我正在使用 nest.js 构建一个 API。我为 postgresSQl 创建了一个无服务器 RDS aurora 以将其用作数据库。

这是我的 aurora(postgresSQL) 数据库实例(连接性和安全性) 在此处输入图像描述

  • 这是我的数据库配置在此处输入图像描述

  • 这是我的安全组详细信息在此处输入图像描述

然后我尝试使用端点、数据库、用户等进行连接,方法是在 nest.js 中使用 prisma:

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "postgresql"
  url      = "postgresql://postgres:password@med.cluster-cnonikf1pbgi.ap-southeast-1.rds.amazonaws.com:5432/Medi?schema=public&ssl=true"
}

但是当我运行这个命令时:

npx prisma migrate dev --name init

我收到这样的错误:

Error: P1001: Can't reach database server at `med.cluster-cnonikf1pbgi.ap-southeast-1.rds.amazonaws.com`:`5432`

Please make sure your database server is running at `med.cluster-cnonikf1pbgi.ap-southeast-1.rds.amazonaws.com`:`5432`.

我能够直接连接到我的 Aurora 集群,而不需要特殊的网关或 ec2 实例。 这对我有用:

  1. 确保将“公开访问”设置为“公开访问”。 您应该在创建数据库时看到此选项,但您也可以在创建数据库后修改它,方法是转到 RDS -> 数据库 -> Select 数据库实例而不是集群(集群似乎不提供此选项) -> 单击右上角的“修改”按钮 -> 向下滚动到“连接”部分 -> 展开它,您将看到更改此设置的选项。

  2. 确保您分配给数据库的 VPC“安全组”授予对数据库的外部访问权限。 第 1 步中的相同“连接”部分还显示了您的数据库正在使用的 VPC 安全组。 记下它的名字。 您可以通过转到“VPC”服务配置页面查看安全组的详细信息:VPC -> 安全组 -> 单击您的安全组 -> 检查入站规则 -> 如果需要,通过单击“创建新规则”编辑入站规则”-> 添加规则。 如果您只想访问您的 IP,您可以选择“我的 IP”,这将预填您当前的 IP 地址。

我发现一些有用的资源:

从 inte.net 连接到 VPC

故障排除连接

您无法连接到正在运行的 VPC 之外的无服务器极光集群。您尝试从本地计算机访问数据库,对吗? 对于本地开发,您必须在 aurora 集群的同一 VPC 中创建一个 EC2 实例,并通过 SSH 连接到 EC2 实例,然后再连接到数据库。 对于本地数据库管理工具,您还可以设置 SSH 端口转发。

暂无
暂无

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

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