后端与接口
用 AWS CDK 以 TypeScript/Python…
在创建或重构 CDK stack/construct、用代码定义 AWS 基础设施并准备 synth 与 deploy 时,按此流程保证可复用性、安全校验与部署正确性。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
用 AWS CDK 以 TypeScri特定
解决思路
- 回答任何 AWS 事实前,先用 MCP 工具(mcp__aws-mcp__* 或 mcp__*awsdocs*__*)核实;若 MCP 工具不可用,引导用户走 aws-mcp-setup 技能的安装流程。
- 安装 awslabs.aws-iac-mcp-server 用于 CDK construct 查询、最佳实践建议和模式指导:它随 awslabs/agent-plugins 的 deploy-on-aws 插件发布,也可用 `claude mcp add aws-iac uvx awslabs.aws-iac-mcp-server@latest` 直接注册;在需要 construct 推荐与 API 查询、CDK/CloudFormation 最佳实践、验证合成模板、跨资源配置指导时使用它。
- 不要在 CDK construct 中显式指定可选资源名(如 functionName),让 CDK 通过 CloudFormation 命名机制自动生成唯一名称,以便同一 construct 可重复部署、多 stack 并行部署、共享逻辑无命名冲突、stack 自动隔离。
- 不同环境(dev/staging/prod)按 AWS 安全支柱最佳实践使用独立 AWS 账号隔离,而不是在同一账号内靠资源命名区分。
- TypeScript/JavaScript 的 Lambda 使用 @aws-cdk/aws-lambda-nodejs 的 NodejsFunction,指定 entry 和 handler,由它自动处理打包、依赖和转译。
- Python 的 Lambda 使用 @aws-cdk/aws-lambda-python-alpha 的 PythonFunction,指定 entry、index、handler,由它自动处理依赖和打包。
- 第一层实时 IDE 反馈:安装 cdk-nag(`npm install --save-dev cdk-nag`),在 App 中通过 `Aspects.of(app).add(new AwsSolutionsChecks())` 启用合成期校验;VS Code 用户可选装 CDK NAG Validator 扩展以获得保存即反馈;Python/Java/C#/Go 项目同样可用 cdk-nag。
- 第二层合成期校验(必需):运行 `cdk synth` 让 cdk-nag 通过 Aspects 自动执行;对合理的例外用 NagSuppressions.addResourceSuppressions 抑制并写明原因(如 Lambda@Edge 需要特定 runtime)。
- 第三层提交前安全网:运行构建命令(如 `npm run build`)确保编译通过;运行测试(如 `npm test`、pytest、mvn test);运行 `./scripts/validate-stack.sh` 做语言检测、模板大小与资源数量分析、合成成功验证。
- 按开发工作流推进:设计资源与关系 → 用 AWS Documentation MCP 确认服务可用性与特性(区域可用性、服务限额与配额、最新 API 规格)→ 用 CDK MCP 的 construct 推荐和最佳实践实现 → 执行上述部署前校验 → 合成 CloudFormation 模板 → 审查合成模板 → 部署到目标环境 → 验证资源创建正确。
- Stack 组织:复杂应用使用嵌套 stack,按逻辑 construct 边界拆分关注点,导出其他 stack 可能需要的值,用 CDK context 处理环境相关配置。
- 测试策略:对单个 construct 做单元测试,对 stack 合成做集成测试,对 CloudFormation 模板做快照测试,校验资源属性与关系。
- MCP 使用要点:实现新功能前先核实、校验目标部署区域的服务可用性、用 CDK MCP 获取 construct 级建议、借助 MCP 获取超出知识截止的最新信息、结合技能模式与 MCP 服务器综合判断。
- 需要详细 CDK 模式、反模式与架构指导时参考 `references/cdk-patterns.md`(含常见模式、反模式、安全最佳实践、成本优化、性能考量)。
- 仓库中存在 GitHub Actions 工作流文件时,提交前确保 `.github/workflows/` 中定义的所有检查通过,避免 CI/CD 失败。
适用边界 · 注意事项
- 没有安装或无法使用 AWS MCP / aws-iac MCP 工具时,无法完成事实核实与 construct 推荐,应先按 aws-mcp-setup 完成配置。
- 不使用 AWS CDK 或不需要以代码定义 AWS 基础设施的场景不适用。
- 需要显式固定资源名(如受外部系统依赖约束)时,不应盲目遵循「不指定资源名」的默认做法。