使用 RDS 还是容器 (ECS) 作为数据库?的优点和缺点

Use RDS or a container (ECS) for database? Advantages and disadvantages

我想在 AWS 上托管一个数据库。 RDS 是一种选择,但我听说过有关容器(和 ECS)的一些信息。我认为容器对测试很有用,但我不确定 运行 一个生产数据库。它们各自的优点和缺点是什么?

运行自己在EC2实例上的数据库:

  • 你选择数据库
  • 您控制所有配置
  • 您可以控制那台机器上的其他 运行
  • 可以自定义备份、恢复和其他任务
  • 您全权负责保管数据库运行宁
  • 您全权负责备份

运行 RDS 上的一个数据库:

  • 数据库选择有限
  • 您可以运行 Aurora,Amazon 的专有数据库
  • 一些(少数)配置选项是不允许的
  • 无法访问底层机器
  • 自动备份
  • 基本维护是自动化的
  • 你不能运行比亚马逊租用的最小机器便宜的数据库

运行 EC2 实例上容器内的数据库:

运行自己安装数据库的所有优点和缺点,加上

  • 您必须做一些额外的工作才能跨容器持久化数据
  • 您可以轻松地运行 为本地开发、测试和生产设置完全相同的数据库
  • 您支付一些额外的开销(小)
  • 进程隔离方便共享一台机器(可能你的整个工作量还不到t2.micro)

运行在 ECS 下的容器中安装数据库并不能真正让您比自己管理容器更有优势。但是,如果您将 ECS 用于堆栈的其余部分,并将数据库放入容器中,那么您也只想使用 ECS。