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

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

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

学习

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

更多

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

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
AWS 云服务入门/课时/AWS CDK 简介
RawBlame
课时目录12 节

AWS 云服务入门

  1. 01AWS 是什么
  2. 02IAM 与权限
  3. 03VPC 与网络
  4. 04EC2 虚拟机
  5. 05S3 对象存储
  6. 06RDS 托管数据库
  7. 07Lambda 无服务器
  8. 08ECS 与 Fargate
  9. 09AWS CDK 简介
  10. 10AWS 控制台 vs Terraform
  11. 11成本与免费层
  12. 12综合练习

AWS CDK 简介

代码定义基础设施、与 Terraform 对照。

30 分钟

AWS CDK 简介

AWS CDK(Cloud Development Kit) 用 TypeScript、Python、Java 等 编程语言 生成 CloudFormation,再部署 AWS 资源。与 terraform-essentials 同属 IaC,但 AWS 原生、强类型、可单元测试。

学习目标

  • 理解 CDK App → Stack → Construct 层次
  • 对照 HCL 与 CDK 的取舍
  • 知道 CodeRoadMap 推荐 Terraform + GitOps 为主路径

核心内容

CDK vs Terraform

CDKTerraform
语言TS / Java / PythonHCL
状态CloudFormation 栈tfstate
多云主要 AWSAWS/Azure/GCP/K8s
生态AWS 官方HashiCorp 社区

CodeRoadMap 实验拓扑(VPC + RDS + EC2)在 TF 与 CDK 均可描述;团队已学 TF 时 优先 TF,深度 AWS-only 可选 CDK。

最小 Stack(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, props?: cdk.StackProps) {
    super(scope, id, props);
    new ec2.Vpc(this, 'CoderoadmapVpc', { maxAzs: 2 });
  }
}

工作流

cdk init → cdk synth(生成 CFN)→ cdk deploy → CloudFormation 创建资源

CLI 示例

npm install -g aws-cdk
cdk init app --language typescript
cdk synth                    # 预览 CloudFormation 模板
cdk diff                     # 与已部署栈对比
cdk deploy                   # 需 bootstrap:cdk bootstrap aws://ACCOUNT/REGION
cdk destroy                  # 实验结束销毁

与 docker-essentials 构建镜像、kubernetes-essentials 部署 Chart 一样,CDK 是 基础设施层的代码。

练习

  • cdk init 生成空栈,cdk synth 查看 CFN JSON
  • 读生成的模板,找到 VPC 相关 Resource
  • 说明 CodeRoadMap 为何文档以 Terraform 为主、CDK 何时更合适

小结

CDK = 用熟悉语言写 AWS 基础设施。 下一课:控制台点击 vs Terraform。

加载本节练习…
← 上一课ECS 与 Fargate下一课 →AWS 控制台 vs Terraform