用途:在编写或审查 CloudFormation 模板(YAML/JSON)、优化模板可维护性与成本、设计嵌套或跨栈架构、排查栈创建/更新失败与漂移时使用;不适用于偏好 CDK 或 Terraform 的场景,也不处理应用代码。
主要能力:模板参数化与映射、跨环境条件(Conditions)、跨栈引用(Outputs 加 Export)、有状态资源保护(DeletionPolicy、UpdateReplacePolicy)、CI 中结合 cfn-lint 与 cfn-nag 检查。
必要用法:优先 YAML;环境相关值参数化,静态查找用 Mappings;对 RDS、S3、DynamoDB 等有状态资源设置 DeletionPolicy: Retain;用 Conditions 支持多环境;部署前执行 aws cloudformation validate-template 验证;字符串插值优先 !Sub 而非 !Join;不要硬编码 ARN 或账号 ID,可用 !Sub 加伪参数。
限制:validate-template 只检查模板形式,不验证可部署性、成本、策略或安全替换,需在授权账号和区域审查显式变更集,重点关注删除/替换与 IAM 能力;DeletionPolicy 本身不防替换,应评估 UpdateReplacePolicy 与备份。示例中的 VPC 骨架不含子网、路由和安全资源,不构成生产网络或公私子网隔离。不要为验证示例而执行部署/恢复或修改栈;输出不能替代针对具体环境的验证、测试与专家审查;缺少必要输入、权限、安全边界或成功标准时应停止并请求澄清。