CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
AWS CloudFormation 入门/课时/与 AWS CDK 关系
RawBlame
课时目录12 节

AWS CloudFormation 入门

  1. 01CloudFormation 是什么
  2. 02模板结构
  3. 03资源声明
  4. 04参数与映射
  5. 05Stack 生命周期
  6. 06嵌套 Stack
  7. 07Drift 检测
  8. 08CloudFormation vs Terraform
  9. 09SAM 与 Lambda
  10. 10与 AWS CDK 关系
  11. 11失败回滚
  12. 12综合练习

与 AWS CDK 关系

CDK 生成 CFN;与 aws-cdk 节点衔接。

25 分钟

与 AWS CDK 关系

AWS CDK 用 TypeScript、Python、Java 等 编程语言 定义 Construct,合成(synth) 为 CloudFormation 模板,再经 cdk deploy 创建 Stack。学 CFN YAML 有助于 读 CDK 输出、排障 Stack 事件。

学习目标

  • 理解 CDK App → Stack → Construct → CFN 模板 链路
  • 会用 cdk synth 对照本 track 的 YAML 写法
  • 衔接 aws-cdk 与 terraform-essentials

合成链路

CDK 源码(TS/Java)
    ↓ cdk synth
CloudFormation template.json / yaml   ← 本 track 学的格式
    ↓ cdk deploy / CloudFormation
AWS 资源(EC2、VPC、Lambda…)

CDK 不替代 CloudFormation 引擎——它是 模板生成器 + 部署 CLI。SAM 类似,靠 Transform 宏扩展。

最小 VPC(TypeScript 概念)

import * as cdk from 'aws-cdk-lib';
import * as ec2 from 'aws-cdk-lib/aws-ec2';

export class LabStack extends cdk.Stack {
  constructor(scope: cdk.App, id: string) {
    super(scope, id);
    new ec2.Vpc(this, 'CoderoadmapVpc', {
      maxAzs: 2,
      cidr: '10.0.0.0/16',
    });
  }
}
cdk synth > cfn-out.yaml    # 打开文件找 AWS::EC2::VPC
cdk diff                    # 类似 ChangeSet 预览
cdk deploy                  # 需 cdk bootstrap

三者分工(CodeRoadMap)

工具适用
Terraform推荐:VPC、RDS、EKS、CI plan/apply
CDKAWS-only、强类型、Construct 复用
裸 CFN YAML读文档、SAM、Stack 排障

团队已学 TF 时 优先 TF;深度 AWS-only 或已有 CDK 基线时选 CDK。本 track 的 YAML 是 三者的共同下游语言。

练习

  • 运行 aws-cdk 练习中的 cdk synth,定位 AWS::EC2::VPC
  • 对比 cf-resources 手写 VPC 与 CDK 生成 Properties 差异
  • 说明为何 CodeRoadMap 文档以 TF 为主、CDK 何时更合适

小结

CDK 写代码,CFN 跑 Stack;读懂 YAML = 读懂 deploy 真相。 下一课失败回滚。

加载本节练习…
← 上一课SAM 与 Lambda下一课 →失败回滚