用途:为 Amazon S3 提供 CloudFormation 模板模式,帮助编写生产可用的基础设施代码,涵盖存储桶配置、访问策略、版本控制、生命周期规则与模板结构最佳实践。
主要能力:定义 AWS::S3::Bucket(版本控制、加密、PublicAccessBlock)、AWS::S3::BucketPolicy、AWS::S3::BucketReplication;配置生命周期转换与过期规则、CORS;使用 Parameters、Mappings、Conditions、Outputs 实现可复用与跨栈引用。
使用方式:先定义桶资源,再配置桶策略、生命周期、CORS,最后添加 Outputs 导出桶名或 ARN。部署前校验:aws cloudformation validate-template --template-body file://template.yaml;部署:aws cloudformation deploy --template-file template.yaml --stack-name my-s3-stack --capabilities CAPABILITY_IAM;失败自动回滚,可用 aws cloudformation describe-stack-events --stack-name my-s3-stack 排查。
适用场景:需要以代码方式管理 S3 存储桶、访问控制、数据保护与成本分层,以及跨栈引用桶资源的场景。
限制:桶名须全局唯一;桶内已有对象后无法暂停版本控制;生命周期过期最短 1 天、转换可为 0 天;桶策略上限 20 KB;公共访问默认被阻止;CORS 每桶最多 100 条规则;复制要求源与目标均启用版本控制;KMS 密钥须与桶同区域;每资源最多 50 个标签;CloudFormation 每栈资源默认上限 200。更多完整示例与高级配置见其 references 文档。