关于亚马逊AWS文件存储的建议

Sugestions about file storage in Amazon AWS

我正在开发一个 Asp.Net MVC 项目,该项目将托管在 Amazon AWS 中,但我对客户文件的存储有一些疑问。亚马逊的文档对我来说不是很清楚,我正在这里寻找一些指导和经验。

1 - 每个客户端都有一些磁盘要求低 space 、更新频率低但访问频率非常高的文件(如品牌形象,甚至敏感文件如证书)。将此文件存储在 Web 服务器的 app_data 文件夹中是否合适?

2 - 对我来说最关键的是敏感文档(每个客户从数百到几万个,最像 xml 签名文件)。该文件读取访问频率中等,但对创建的要求非常高。我找到的一个解决方案是 MongoDB,它让我有一些自由来管理存储策略并允许我轻松进行外部备份,但我不确定。其他选项是使用 Amazon Storage 并处理其中包含大量文件夹的所有这些文件和 GB,或者可能使用常规数据库并将文件保存为 xml 或 bin。

我担心的是数据量、安全性和发生灾难时的可靠性,因为大多数文档都具有法律价值。

  1. 您可以,但是将它们存储在本地会违反无共享架构并且会限制您的扩展选项。 Amazon S3 是一个不错的选择。您可以设置一些文件 public 并直接从 s3(或使用云端)为它们提供服务,并保持其他文件的私密性并通过签名 url 提供访问权限。

  2. 同样,您可以将文件放在 s3 上并将它们设为私有。您仍然可能会将对文件的引用存储在数据库中。一般来说,将大型 blob 文件存储在数据库中并不是一个好主意,因为它们通常没有经过优化以访问它们。