寻求最佳实践的澄清和指导。
我们应该在哪里存储应用程序的图像,CSS和日志文件? 应用服务器还是S3?
我们将在S3上存储用户相关的图像和缩略图。 在这个阶段,我们不会使用CloudFront,直到有真正的需求。
我有另一组问题与EBS有关。 应用程序服务器是否使用EBS卷? 这样做的好处是什么? 我们会支付额外的使用EBS。
谢谢。
您可以使用Amazon EBS后端实例来满足您的所有需求。
是EBS需要额外的费用。 EBS的优点是易于访问,它显示为您的服务器上的驱动器,而不是S3,你必须通过他们的API。 另外,EBS内容是永久的。 您存储在您实例中的任何内容(不在S3中,也不在EBS内)不是永久性的,如果您的计算机重新启动,则可能会消失。
对于日志文件,S3是一个坏主意,因为你不能在S3中追加到一个对象。 不会经常更改的用户数据(例如,每天只有几次或更less)在S3中是有意义的。 在一个数据库(存储在EBS上)中,一直改变的东西可能更有意义。
EBS是一款面向提高磁盘访问性能和可用性的产品。 ephimeral存储对于I / O操作来说是次优的。 使用EBS,如果无法访问您的实例,仍然可以访问您的数据。 完美的存储关键数据或数据库。
使用CloudFront存储所有css , js , css相关图像。 为此,您必须先在S3中存储文件,然后将CloudFront应用于您的存储桶。 利用特殊的头文件(Expires,Cache-Control),所以用户只能下载一次这个元素。
你也可以备份你的日志到S3永久存储使用s3cmd或重复。 是一个便宜的选项,你不用磁盘空间不足。