技能 cloudformation-best-practices
📦

cloudformation-best-practices

安全

优化 CloudFormation 模板

CloudFormation 模板可能变得复杂且难以维护。此技能提供专家指导,帮助您使用嵌套堆栈、漂移检测和经过验证的模式编写优化的、生产就绪的模板。

支持: Claude Codex Code(CC)
🥉 74 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“cloudformation-best-practices”。 审查此模板并提出生产使用的改进建议

预期结果:

  • 针对您的 CloudFormation 模板的建议:
  • 1. 将 DeletionPolicy: Retain 添加到 RDS 和 DynamoDB 资源
  • 2. 使用 Parameters 来处理环境特定的值,而不是硬编码
  • 3. 添加带有 Export 的 Outputs 以实现跨堆栈引用
  • 4. 为生产堆栈启用终止保护
  • 5. 使用 Conditions 支持多环境

正在使用“cloudformation-best-practices”。 如何修复 UPDATE_ROLLBACK_FAILED 状态?

预期结果:

  • 要从 UPDATE_ROLLBACK_FAILED 中恢复:
  • 1. 运行: aws cloudformation continue-update-rollback --stack-name STACK_NAME --resources-to-skip RESOURCE_ID
  • 2. 使用 describe-stack-events 确定根本原因
  • 3. 手动修复失败的资源或更新模板
  • 4. 重试堆栈更新
  • 5. 考虑使用堆栈策略以防止意外更新

安全审计

安全
v1 • 2/25/2026

All 22 static analysis findings are false positives. The flagged 'external_commands' are CloudFormation best practice instructions, 'network' is a VPC CIDR block parameter, 'C2 keywords' is a resource type name (VPC), and 'weak cryptographic algorithm' references are common English words. This is a legitimate infrastructure-as-code skill with no security concerns.

1
已扫描文件
81
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
91
规范符合性

你能构建什么

模板代码审查

获取针对您的 CloudFormation 模板的专家反馈,包括改进建议、安全加固和成本优化建议。

架构设计

使用嵌套堆栈、跨堆栈引用和经过验证的 AWS 模式,设计模块化、可扩展的基础设施。

故障排除支持

通过分步指导解决堆栈部署失败、漂移检测问题和更新回滚问题。

试试这些提示

基本模板审查
审查此 CloudFormation 模板的最佳实践并提出改进建议:

```yaml
# Your template here
```
嵌套堆栈设计
帮助我设计一个三层应用程序的嵌套堆栈架构,包括 VPC、ECS 集群和 RDS 数据库。
漂移检测
我的 CloudFormation 堆栈显示漂移。如何识别漂移的资源并将其恢复到期望状态?
生产优化
我应该应用哪些最佳实践来使此 CloudFormation 模板生产就绪?包括 DeletionPolicy、Conditions 和成本优化技巧。

最佳实践

  • 优先使用 YAML 而非 JSON,以获得更好的可读性和注释支持
  • 始终在 RDS、S3 和 DynamoDB 等有状态资源上设置 DeletionPolicy: Retain,以防止数据丢失
  • 将环境特定的值参数化,并使用 Mappings 进行静态区域查找

避免

  • 不要硬编码 ARN、账户 ID 或特定区域的值 - 使用带有 AWS 伪参数的 Fn::Sub
  • 避���单一的大型模板 - 将其分解为嵌套堆栈以提高可维护性
  • 不要跳过模板验证 - 在部署前始终运行 cfn-lint 和 aws cloudformation validate-template

常见问题

CloudFormation 和 CDK 有什么区别?
CloudFormation 使用 YAML 或 JSON 模板以声明方式定义基础设施。CDK (Cloud Development Kit) 使用 TypeScript 或 Python 等编程语言生成 CloudFormation 模板。选择 CloudFormation 以获得透明性,选择 CDK 以提高生产力。
如何在 CloudFormation 中处理机密信息?
永远不要在模板中硬编码机密信息。使用 AWS Secrets Manager 或 Systems Manager Parameter Store 配合动态引用。示例: {{resolve:secretsmanager:secret-id:SecretString:password}}
CloudFormation 中的漂移检测是什么?
漂移检测将当前堆栈资源配置与预期的 CloudFormation 模板进行比较。它识别在 CloudFormation 之外被修改的资源,帮助您维护基础设施的一致性。
何时应该使用嵌套堆栈?
当您拥有可重用的基础设施组件(如 VPC 配置、通用网络模式或共享应用程序堆栈)时,请使用嵌套堆栈。嵌套堆栈促进可重用性并减少模板重复。
如何在不导致停机的情况下更新堆栈?
使用变更集在应用更新前预览更改。实施适当的回滚机制。对必须替换的资源使用 UpdateReplacePolicy。首先在暂存环境中测试更改。
哪些工具可与 CloudFormation 集成进行验证?
使用 cfn-lint 进行语法验证,cfn-nag 进行安全扫描,以及 aws cloudformation validate-template 进行基本验证。将这些工具集成到您的 CI/CD 流水线中以进行自动检查。

开发者详情

文件结构

📄 SKILL.md