使用 AWS Elastic Beanstalk 进行部署时,是不是应该将静态文件存储在单独的 S3 中?
Posted
技术标签:
【中文标题】使用 AWS Elastic Beanstalk 进行部署时,是不是应该将静态文件存储在单独的 S3 中?【英文标题】:Should I store static files in a separated S3 when deploying with AWS Elastic Beanstalk?使用 AWS Elastic Beanstalk 进行部署时,是否应该将静态文件存储在单独的 S3 中? 【发布时间】:2021-11-16 01:55:25 【问题描述】:我有一个在 AWS Elastic Beanstalk 上运行的 Django 应用程序。 Beanstalk 创建了一个 S3 存储桶来存储源代码、版本等。
我已配置 S3 存储桶来存储我的静态文件。每次我部署新版本的代码时,eb
都会正确运行collectstatic
命令并创建静态文件,但它会覆盖权限。因此,对于每次新部署,我都需要选择 static
文件夹并手动将对象设为 public。
问题:将我的static
文件存储在同一个存储桶中是否正确,或者我应该使用公共策略创建一个单独的文件?
问题2:如果使用同一个bucket更好,如何为static
文件夹定义公共策略,而不是源代码等其他文件夹?
【问题讨论】:
【参考方案1】:最好使用单独的存储桶,这样您就可以锁定包含私有文件的存储桶。您可能希望为包含静态文件的存储桶启用静态网站托管,而这不是您希望在还包含私有文件的存储桶上启用的功能。
额外费用为 0,因此没有理由不将它们分开。
【讨论】:
以上是关于使用 AWS Elastic Beanstalk 进行部署时,是不是应该将静态文件存储在单独的 S3 中?的主要内容,如果未能解决你的问题,请参考以下文章
AWS Elastic Beanstalk 上禁止使用 Django 403
使用 AWS CodeBuild 和 EB CLI 部署到 AWS Elastic Beanstalk