将数据库放在 EC2 或 RDS 上?

mar*_*ous 3 amazon-ec2 rds amazon-web-services amazon-rds

我是 AWS 的新手,我有一个不断增长的网站,该网站连接到许多 API,我有一个不断增长的数据库,我只是不想达到系统崩溃的程度。

所以我有:

  1. 网站
  2. 在网站内部,有一个连接到大型数据库的应用程序,它首先对信息进行排序,然后将客户重定向到一个处理页面,该页面将连接到 10 个 API
  3. 一个管理面板,您可以在其中重新运行所有应用程序或向 API 发送进一步请求

现在我的问题是:将数据库放在同一个 EC2 服务器上更好,还是单独放在 RDS 上更好?

什么最适合我不断发展的项目?

moo*_*oot 6

首先,从主网站实例卸载数据库有其优势。您可以对单独的实体进行基准测试并决定要扩展哪一个。

对于 24x7 服务,请为您的数据库使用 RDS。您可以在将来轻松创建自动故障转移恢复(尽管仍然需要一些干预)。您可以独立于主要应用程序创建数据库快照备份。

如果您每两周只需要一次服务并且数据恢复并不重要,那么将 RDB 放在 EC2 中可能会为您节省一些钱。(更新):现在AWS让你临时“停止”RDS数据库并按需启动它的服务器,但是,RDS会在7天后自动启动。如果您按需使用昂贵的 RDS 实例,请确保设置通知来处理这种情况。

其次,当您从应用程序服务器卸载 RDB 时,您将获得额外的灵活性来平衡您的网站。您可以选择使用 ELB 甚至 SPOT 实例。

对于新管理员,使用 SSD 驱动程序(例如 m3.large 2x32GB SSD)设置 AWS EC2 RDBMS 非常诱人,因为您不需要处理 EBS IOPS 调整,临时 SSD 驱动器将为您提供与该 SSD 相关的最大 IOPS . 但是,您无法扩展 SSD。对于 RDS,您使用 EBS,当您面临 IOPS 瓶颈时,您可以扩展磁盘空间以获得更多 IOPS,或者提供额外的 IOPS。