首次在 AWS 中初始化 PostgreSQL RDS 的最佳方法

问题描述 投票:0回答:2

我正在 AWS 中使用这些后端和数据库服务构建应用程序:

  • 带有应用程序负载均衡器的 ECS/Fargate。这使用在容器中运行的 Java Spring Boot API。
  • RDS 使用 Postgres 与 Spring Boot 进行通信。

我有 cloudformation 脚本来部署相应的堆栈,但是,我正在寻求一些有关运行这些类型的数据库命令以首次初始化它的最佳方法的指导。这个链接很好地概述了更广泛的考虑因素。

  • 创建 Postgres 数据库,
  • 撤销公共模式,
  • 创建角色,
  • 创建模式,
  • 更改权限,
  • 授予架构使用权,
  • 添加扩展等

所有这些都可以通过 JetBrains 的 psql 或 DataGrip 等工具在本地轻松完成。但是,如果我的数据库不可公开访问,那么推荐的方法是什么?

我考虑过的一些选择是:

  1. 一个堡垒服务器,但我不需要它来做其他任何事情,这似乎有点过分了。
  2. AWS Cloudshell,但我相信数据库需要可公开访问。
  3. 使数据库可公开访问,运行脚本,然后恢复更改。
postgresql amazon-web-services amazon-rds
2个回答
0
投票

正如 @Bergi 在评论中指出的,从 lambda 或应用程序容器运行脚本是有意义的。


0
投票

我最近在几个实现中看到了 InitContainers 的使用。它们的寿命很短,可以为每个要素服务创建,并且有趣的是(因为它们独立于要素服务容器)如果您必须在数据库中进行不需要更改要素服务代码的更改,则不能保证关闭要素服务。

© www.soinside.com 2019 - 2024. All rights reserved.