我想在 Amazon EC2 实例上托管一个网站,但出于可靠性目的,我希望将底层数据库放在一些更永久的存储介质上。不会有任何文件上传或类似的事情,但我想确保数据库查询和更新快速进行。我应该为此使用 EBS 还是 S3?
如果您想了解更多信息,请发表评论
我想在 Amazon EC2 实例上托管一个网站,但出于可靠性目的,我希望将底层数据库放在一些更永久的存储介质上。不会有任何文件上传或类似的事情,但我想确保数据库查询和更新快速进行。我应该为此使用 EBS 还是 S3?
如果您想了解更多信息,请发表评论
您不能在 S3 上存储数据库。如果您打算将数据库存储在 EBS 或实例存储上的任何位置。
只是为了建立其他非常好的答案,您可以将数据库存储为 .sql 文件在 s3 上。但是您的网站/应用程序无法查询此文件,因为 s3 没有 MySQL 程序(文件!=数据库)。
Amazon RDS 将您的数据库备份存储到 s3 作为 .sql 文件(我假设),它们以编程方式访问并用于在 RDS 数据库实例发生故障时恢复它。
EBS 与 RDS 的优势在其他答案中有所说明,但需要明确的是,RDS 的一个关键优势是 Amazon 通过提供备份等来负责恢复失败的实例。
我不确定数据库复制部分,因为这似乎是一个单独的概念,而且我读过这不是RDS 的功能。更有经验的 DBA 似乎经常指出这一点是不使用 RDS 的原因。有人可以澄清一下吗?
就像@Femi 说的,您不能将 S3 用于 DB,但您可以使用这些实例存储/EBS/RDS 之一。更多信息如下:
Instance store will disappear if your instance is crashed, + EBS volume got quite a good problem recently - though this is good over instance-store, I would suggest you to have a look at Amazon RDS, I had used it for one my project and it's super cool.
Amazon RDS 有相当不错的优势:
特征:
当您将 EBS 与 RDS 进行比较时,两者的收费与 EBS 相比,RDS 的额外费用很少,但它的价值。亚马逊负责一切,如果您的网站是流量驱动的,它有自动复制的解决方案。