首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS & Prisma2 & RDS:将本地机器连接到专用DB以进行prisma迁移?

AWS & Prisma2 & RDS:将本地机器连接到专用DB以进行prisma迁移?
EN

Stack Overflow用户
提问于 2021-03-06 16:43:02
回答 2查看 644关注 0票数 1

我将我的完整堆栈项目部署到AWS ECS(Docker)中。到目前为止一切都很顺利。我的问题是,我不知道如何将我的本地机器连接到RDS-DB来迁移我的DB-Schema。

我想运行以下命令:prisma migrate deploy --preview-feature -->在DB中创建表和字段

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

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

您是如何在生产中迁移Prisma的,以及如何在没有公共可访问性的(无公共可访问性)的情况下将本地机器权限授予RDS?

EN

回答 2

Stack Overflow用户

发布于 2021-03-07 09:59:59

如果您可以从使用ECS部署的容器中运行该命令,并且在EC2实例上部署了ECS任务,则可以将ssh部署到实例中,并将docker exec部署到容器中(该容器可以连接到RDS ),您可以从容器中运行该命令。请注意,您的实例本身可能无法从您的膝上型计算机上公开访问(在这种情况下,您需要有某种堡垒主机才能做到这一点)。

如果您可以从使用ECS部署的容器中运行该命令,并且在Fargate上部署了ECS任务,这会更棘手一些,因为没有可以SSH进入的EC2实例。在这种情况下,我猜您需要部署一个临时环境(在EC2或ECS/EC2上),允许运行该命令来准备DB。

FYI我们即将发布一个新特性,它将允许您将exec放入容器(在ECS/EC2或ECS/Fargate上运行),而无需执行这些跳转(如果可能的话)。但是这个特性(还没有)可用。更多的这里

票数 1
EN

Stack Overflow用户

发布于 2021-10-13 23:24:08

如果您让它在ECS中运行,那么创建另一个使用相同Docker映像的任务定义可能很简单,但它会重写命令参数来运行迁移命令,而不是普通的命令来启动应用程序。另一种类似的方法是使用CLI运行aws ecs run-task命令并以这种方式执行它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66508106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档