在 Amazon Web Services 上托管 MySQL 服务器

在 Amazon Web Services 上托管 MySQL 服务器

我们正在评估在 Amazon EC2 服务上托管我们的应用程序。虽然我相信小型实例 (1.7GB RAM) 足以满足我们的 Web 服务器需求(目前),但我不确定 MySQL 服务器的要求:

将 MySQL 服务器放在与主服务器相同的映像上是否有意义?(以节省成本)

我认为数据库将不断更新并从 Web 服务器以外的多个来源进行查询,每天最多 100,000 次查询/每天 5000 次更新。如果通过 RDS 部署,是否应将数据库部署在比“小”实例具有更多资源的映像上?

在 EC2 上托管 MySQL 数据库但不通过 RDS 是否有意义?

谢谢,

答案1

在 EC2 上托管 MySQL 数据库但不通过 RDS 是否有意义?

当然,特别是如果你需要非常定制的 MySQL 实现。此外,RDS 的性能批评相当普遍。

话虽如此,从价格上看,RDS 确实可以满足大量需求。从表面上看,运行 RDS 实例的成本确实比运行托管 MySQL 服务器的 EC2 实例的成本高,但当您开始添加 RDS 内置的监控、备份和持久性时,您实际上可能比尝试使用自己的 EC2 安装模仿该功能获得更好的结果。

至于大小,RDS 的一大优势是可扩展性。您可以在小型实例上进行部署,如果您决定需要更大的实例,则可以将实例转换为更大的实例。此外,如果您遇到负载问题,您可以启动多个版本的只读数据库来处理 RDS 上的负载。

归根结底,它是 MySQL,因此如果您尝试 RDS 并且对它不满意,您可以转储数据库,启动您自己的 MySQL 实现并将您的数据库导入其中。在我看来,值得卸载大量 MySQL 管理任务并只关注数据,您的里程可能会有所不同。

希望这对您的决定有所帮助。

答案2

是的 - RDS 和 MySQL 非常不同。使用 RDS,您无需亲自管理服务器 - 因此,例如 - 您无法访问服务器日志。有很多巧妙的工程技巧只有您亲自维护服务器(即在其上运行 MySQL 的 EC2 映像)才能做到。

如果您认为由于流量/负载,您需要在近期将 MySQL 迁移到自己的服务器,请不要将 MySQL 放在同一台服务器上。最好现在就这样做,这样您以后就不必处理配置更改。

小型实例大约为每月 70 至 80 美元,而大型实例大约为每月 230 美元(价格持续下降,所以我估计)。

我们已经在小型实例方面取得了很大进展,但是当您拥有高 IO(即大量磁盘寻道)时,请选择大型实例,因为小型实例确实受到 IO 限制。如果您创建了良好的索引并且它们能够装入 RAM,那么您将不会有大量的磁盘寻道,因为您将避免全表扫描。

相关内容