我正在使用命令行和
eb create
命令在我之前没有定位的区域 (us-east-2) 中创建一个新的 Elastic Beanstalk 环境。因此,Elastic Beanstalk 进程创建了一个新的 S3 存储桶。但是,该过程失败并出现以下错误:“服务:Amazon S3,消息:存储桶不允许 ACL”。
2023-04-18 21:44:58 INFO createEnvironment is starting.
2023-04-18 21:44:59 INFO Using elasticbeanstalk-us-east-2-275540591990 as Amazon S3 storage bucket for environment data.
2023-04-18 21:45:00 ERROR Service:Amazon S3, Message:The bucket does not allow ACLs
2023-04-18 21:45:00 ERROR Failed to launch environment.
我在 AWS 控制台中确认上面列出的 S3 存储桶确实禁用了 ACL,这是 2023 年 4 月新 S3 存储桶的新默认设置(更多信息:https://docs.aws.amazon.com/AmazonS3/最新/用户指南/about-object-ownership.html)。似乎使这项工作再次起作用的一种方法是在 AWS 控制台中为此存储桶 (elasticbeanstalk-us-east-2-275540591990) 启用 ACL。但是,重新启用 ACL 是否是为 Elastic Beanstalk 解决此问题的推荐方法?还是自 AWS 文档建议以来继续使用对象所有权(禁用 ACL)的推荐方法?
我尝试在 IAM 中创建一个存储桶策略,为存储桶提供读/写/列表权限,并将其附加到“aws-elasticbeanstalk-service-role”。然后又重新尝试创作(
eb create
)。但是,它因完全相同的错误而失败。我注意到还有一个“
aws-elasticbeanstalk-ec2-role,”但我的直觉是这不会解决错误。非常感谢任何帮助。