S3 存储桶组成
S3 buckets composition
我正在开发作为单个实例运行但服务于不同用户的多个网站的 CMS。此 CMS 需要将文件存储在存储器中。每个网站可以有几张图片,也可以有数千个对象。目前我们服务大约 5 个网站,但计划有数百个,因此它必须易于扩展。
现在我正在考虑两种可能的方法。我想用S3存储。
- 解决方案是为我的应用程序中的所有文件设置一个存储桶
- 解决方案是为每个网站设置一个存储桶。
根据 AWS 文档,S3 可以处理“几乎无限量的字节”,所以我认为第一个解决方案可以很好地工作,但我正在考虑其他方面:
- 每个网站一个桶不就更干净了吗?是不是更好保养?
- 如果是,哪种解决方案更安全?是否有一些安全问题需要关注?
- 是否同样适用于其他类似 S3 的服务,如 Minio 或 DigitalOcean Spaces?
非常感谢您的回答。
我会选择解决方案 1。
从技术角度来看,您可以放入存储桶中的对象数量实际上没有限制 - S3 专为极端规模而构建。对于 5 个网站,选项 2 听起来很诱人,但扩展性不是很好。
每个区域或每个帐户有 100 个存储桶的软限制(即您可以提高它),这表明使用数百个存储桶可能是一种反模式。此外,保护 100 个桶并不比保护一个桶容易。
关于安全性: 如果需要,您可以在 S3 中使用非常精细的存储桶策略。如果需要,您还可以选择要如何单独加密每个对象。预签名 URL 等功能可以帮助您授予对 S3 中特定对象的临时访问权限。
如果您的目标是向最终用户提供静态内容,则必须使对象公开可读、使用上述预签名 URL 或将 CloudFront 设置为存储桶前面的 CDN。
我不知道这与类似 S3 的服务有什么关系。
我正在开发作为单个实例运行但服务于不同用户的多个网站的 CMS。此 CMS 需要将文件存储在存储器中。每个网站可以有几张图片,也可以有数千个对象。目前我们服务大约 5 个网站,但计划有数百个,因此它必须易于扩展。
现在我正在考虑两种可能的方法。我想用S3存储。
- 解决方案是为我的应用程序中的所有文件设置一个存储桶
- 解决方案是为每个网站设置一个存储桶。
根据 AWS 文档,S3 可以处理“几乎无限量的字节”,所以我认为第一个解决方案可以很好地工作,但我正在考虑其他方面:
- 每个网站一个桶不就更干净了吗?是不是更好保养?
- 如果是,哪种解决方案更安全?是否有一些安全问题需要关注?
- 是否同样适用于其他类似 S3 的服务,如 Minio 或 DigitalOcean Spaces?
非常感谢您的回答。
我会选择解决方案 1。
从技术角度来看,您可以放入存储桶中的对象数量实际上没有限制 - S3 专为极端规模而构建。对于 5 个网站,选项 2 听起来很诱人,但扩展性不是很好。
每个区域或每个帐户有 100 个存储桶的软限制(即您可以提高它),这表明使用数百个存储桶可能是一种反模式。此外,保护 100 个桶并不比保护一个桶容易。
关于安全性: 如果需要,您可以在 S3 中使用非常精细的存储桶策略。如果需要,您还可以选择要如何单独加密每个对象。预签名 URL 等功能可以帮助您授予对 S3 中特定对象的临时访问权限。
如果您的目标是向最终用户提供静态内容,则必须使对象公开可读、使用上述预签名 URL 或将 CloudFront 设置为存储桶前面的 CDN。
我不知道这与类似 S3 的服务有什么关系。