EC2 是亚马逊的 Elastic Compute Cloud 虚拟机服务,具有许多配置选项。因此,我想确认此配置对于可扩展数据库和 Web 服务器后端是否正确。
我们有一个 500 GB 的大型数据库。(OrientDB。)
我们将把它镜像到同一 EC2 可用区中的另一个虚拟机实例。我们相信数据库大小将快速增长。
计划如下:
- 获取 4 个与置放群组兼容类型的大型实例(理想情况下还有增强网络)(2 个用于 Web,2 个用于 DB。)
- 我们使用 EBS 支持的实例来存储我们的操作系统。讨论如下:http://alestic.com/2012/01/ec2-ebs-boot-recommended
- 我们可以将临时 SSD 实例存储设置为交换空间。(但即使重启后它也会丢失。我听说如果从 EBS 启动,添加临时存储会很困难,但这是可能的。)
- 对于异地备份,我们将定期拍摄快照并将其存储在 S3 上。显然,我们需要确保当发生快照时数据库处于安全状态,以避免损坏。(除了关闭数据库之外,这里还有什么提示吗?)
- 如果数据库太大,我们需要创建更大的 EBS 卷。我们可以使用 RAID 来突破 1 TB 的限制:http://alestic.com/2009/06/ec2-ebs-raid
- Web 服务器上的静态资产将存储在 S3 上。
是这样吗?还是我漏掉了什么?
答案1
我与亚马逊进行了交流,他们建议进行一项更改:
- 两台服务器应位于同一区域内的不同可用区。(我担心两台服务器之间的速度会很慢,但他们说,虽然速度不如 Placement Groups 那么快,但应该没问题,而且安全性更高。)
- 值得注意的是:他们还声称有人成功突袭了多达 40 个 1TB 的 EBS 卷。然而,我对这个想法是否好持怀疑态度。
- 请注意,目前(2014 年 8 月),如果您拥有 1TB SSD EBS 卷,更便宜的选择是不获取预配置 IOP。原因是,您获得的是每 GB 的 IOP。因此,在 1TB 级别,未预配置的标准 SSD EBS 的价格较低。