微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

S3 存储桶组成

如何解决S3 存储桶组成

我正在开发 CMS,它作为单个实例运行,但为不同用户的多个网站提供服务。这个 CMS 需要在 storage 中存储文件。每个网站都可以有很少的图像,也可以有数千个对象。目前我们为大约 5 个网站提供服务,但计划拥有数百个网站,因此必须能够轻松扩展。

现在我正在考虑两种可能的方法。我想使用 S3 进行存储。

  1. 解决方案是为我的应用程序中的所有文件设置一个存储桶
  2. 解决方案是为每个网站设置一个存储桶。

根据 AWS 文档,S3 可以处理“几乎无限量的字节”,所以我认为第一个解决方案可以很好地工作,但我正在考虑其他方面:

  1. 为每个网站设置一个存储桶不是更干净吗?维护起来更好吗?
  2. 如果是这样,哪种解决方案更安全?是否有一些安全问题需要关注?
  3. 是否同样适用于 Minio 或 DigitalOcean Spaces 等其他类似 S3 的服务?

非常感谢您的回答。

解决方法

我会选择解决方案 1。

从技术角度来看,您可以放入桶中的对象数量实际上没有限制 - S3 专为超大规模而构建。对于 5 个网站,选项 2 可能听起来很诱人,但其扩展性并不好。

每个区域或每个账户有 100 个存储桶的软限制(即您可以提高它),这表明使用数百个存储桶可能是一种反模式。此外,保护 100 个存储桶并不比保护一个存储桶容易。

关于安全性:如果需要,您可以非常细化 S3 中的存储桶策略。如果需要,您还可以选择单独加密每个对象的方式。预签名 URL 等功能可帮助您授予对 S3 中特定对象的临时访问权限。

如果您的目标是向最终用户提供静态内容,则必须使对象公开可读、使用上述预签名 URL 或将 CloudFront 设置为存储桶前的 CDN。

我不知道这与类似 S3 的服务有何关系。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。