使用RDS或容器(ECS)作为数据库? 的优点和缺点
我想在AWS上托pipe一个数据库。 RDS是一种select,但我听说过有关集装箱(和ECS)的一些事情。 我发现容器对于testing非常有用,但我不确定是否在运行一个生产数据库。 他们每个人的优点和缺点是什么?
在EC2实例上自己运行数据库 :
- 你select数据库
- 你控制所有的configuration
- 您可以控制该机器上运行的其他内容
- 备份,还原和其他任务可以定制
- 您完全负责保持数据库运行
- 您完全负责备份
在RDS上运行数据库 :
- 有限的数据库select
- 您可以运行亚马逊的专有数据库Aurora
- 一些(less数)configuration选项是不允许的
- 没有访问底层的机器
- 自动备份
- 基本维护是自动的
- 你不能运行比亚马逊最小的机器便宜的数据库
在EC2实例的容器内运行数据库 :
所有运行数据库的优点和缺点,加上
- 您必须做一些额外的工作才能在容器之间保存数据
- 您可以轻松地在本地开发,testing和生产中运行完全相同的数据库设置
- 你支付一些额外的开销(小)
- 进程隔离使共享一台机器变得简单(也许你的整个工作量不到t2.micro)
在ECS下的容器中运行数据库并不能真正帮你自己pipe理容器。 但是,如果您将ECS用于剩下的堆栈,并且将数据库放在容器中,那么您也只需要使用ECS。