Amazon web services AWS ECS&;Prisma2&;RDS:将本地机器连接到专用数据库,以便使用prisma进行迁移?

Amazon web services AWS ECS&;Prisma2&;RDS:将本地机器连接到专用数据库,以便使用prisma进行迁移?,amazon-web-services,amazon-rds,amazon-ecs,prisma2,Amazon Web Services,Amazon Rds,Amazon Ecs,Prisma2,我将我的完整堆栈项目部署到AWS ECS(Docker)。到目前为止一切正常。我的问题是,我不知道如何将本地机器连接到RDS-DB以迁移我的DB模式 我想运行命令:prisma migrate deploy--preview功能在数据库中创建表和字段 我的RDS-DP是专用的(无公共可访问性)并且与我的前端和后端位于同一VPC中。前端有一个公共安全组(Load Balencer),后端有一个私有安全组,并且对DB有权限(请求正在工作,请获取错误:“当前数据库中不存在表public.Game”,我

我将我的完整堆栈项目部署到AWS ECS(Docker)。到目前为止一切正常。我的问题是,我不知道如何将本地机器连接到RDS-DB以迁移我的DB模式

我想运行命令:
prisma migrate deploy--preview功能在数据库中创建表和字段

我的RDS-DP是专用的(无公共可访问性)并且与我的前端和后端位于同一VPC中。前端有一个公共安全组(Load Balencer),后端有一个私有安全组,并且对DB有权限(请求正在工作,请获取错误:“当前数据库中不存在表
public.Game
”,我可以通过迁移解决)。目前只有我的后端可以访问RDS

我还尝试了一个测试数据库,它是公共的(公共可访问性),我能够从我的本地机器迁移


您如何在生产环境中迁移Prisma,以及如何将我的本地计算机权限授予无公共可访问性的RDS?

如果您可以从与ECS一起部署的容器中运行该命令,并且您在EC2实例上部署了ECS任务,那么您可以
ssh
进入实例和
docker将exec
插入容器(该容器与RDS db相连),您可以从中运行该命令。请注意,您的实例本身可能无法从您的笔记本电脑公开获取和访问(在这种情况下,您需要某种bastion主机来实现这一点)


如果您可以从使用ECS部署的容器中运行该命令,并在Fargate上部署ECS任务,那么这就有点棘手了,因为没有EC2实例可以通过SSH连接。在这种情况下,我想您需要部署一个临时环境(在EC2或ECS/EC2上),以允许运行该命令来准备数据库

仅供参考,我们即将发布一项新功能,允许您将
exec
插入容器(在ECS/EC2或ECS/Fargate上运行),而无需进行这些跳转(如果可能)。但此功能(尚未)可用。更多信息