You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CloudFormation配置S3 Object Lock报InvalidBucketState错误求助

问题原因及解决办法

问题原因

S3桶名是全局唯一的,哪怕你确认自己账户下没有testbucket-prod这个桶,也可能出现这种情况:其他AWS账户曾创建过同名桶,之后删除了,但S3桶删除后有24小时的删除保留期,这段时间内该桶名无法被任何账户重新创建。而Object Lock必须在桶创建时启用,不能事后添加,所以CloudFormation尝试创建带Object Lock的桶时,S3会返回类似“已有桶”的错误。

解决办法

  • 更换桶名:用一个从未被使用过的新名称,比如在原名称后加日期、随机字符串后缀,例如把testbucket-prod改成testbucket-prod-20240520或testbucket-prod-xyz,修改模板里的BucketName字段后重新创建栈。
  • 等待释放:如果必须用原桶名,得等24小时,等S3释放该桶名后再重试创建。
  • 确认模板逻辑:确保ObjectLockConfiguration是在桶创建时就配置的(当前模板已经符合要求,别尝试给已创建的桶加这个配置,S3不支持)。

修正后的示例模板

---
Resources:
 TestBucketBucketProd:
  Type: 'AWS::S3::Bucket'
  Properties:
   BucketName: testbucket-prod-20240520  # 替换为新的唯一桶名
   VersioningConfiguration:
    Status: Enabled
   AccessControl: Private
   Tags:
    - Key: org 
      Value: prod
   PublicAccessBlockConfiguration:
    BlockPublicAcls: true
    BlockPublicPolicy: true
    IgnorePublicAcls: true
    RestrictPublicBuckets: true
   ObjectLockConfiguration:
    ObjectLockEnabled: true
    Rule:
     DefaultRetention:
      Mode: GOVERNANCE
      Days: 2
Outputs:
 TestBucketBucketName:
  Value: !Ref TestBucketBucketProd
  Description: The name of the TestBucket S3 bucket.

内容的提问来源于stack exchange,提问作者marvelli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 01:32:19