【问题标题】:Put database on EC2 or RDS?将数据库放在 EC2 或 RDS 上?
【发布时间】:2016-11-02 12:54:58
【问题描述】:

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

所以我有:

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

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

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

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-rds rds


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 非常感谢您的建议。我会保持这个问题的开放性,并会看到其他意见,我想每个人都会同意这一点,我只是想有更多的想法.. 非常感谢
    【解决方案2】:

    您应该将您的 AWS 设置设计为短暂的,EC2 实例应该能够在不影响您的站点的情况下被删除。这与将数据库直接托管在 EC2 实例上形成对比,因此简而言之,您绝对应该使用 RDS。

    【讨论】:

    • 同意。您应该能够重建应用程序服务器而不会导致数据丢失。此外,随着使用量的增加,您将能够在不影响数据存储的情况下横向扩展您的应用程序。
    【解决方案3】:
    1. 为您的数据库使用单独的服务器,来自this thread

      可扩展性。保持 Web 服务器无状态允许您扩展 您的网络服务器水平几乎毫不费力。这个很 难以水平扩展数据库服务器。

    2. 除非您有非常特殊的需求(例如:通过 ssh 访问数据库实例),否则 Amazon RDS 几乎总是比自行管理数据库主机更好。 Amazon RDS Product Page 有一个全面的功能列表。
      TL;DR 使用 Amazon RDS,您会自动获得:

      • 备份
      • 时间点恢复
      • 故障转移(多可用区)
      • 软件修补
      • 监控和警报

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      • 1970-01-01
      • 2017-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-15
      相关资源
      最近更新 更多