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

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

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

学习

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

更多

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

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
AWS CloudFormation 入门/课时/CloudFormation vs Terraform
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综合练习

CloudFormation vs Terraform

AWS 锁定 vs 多云;本站推荐 Terraform 路径。

30 分钟

CloudFormation vs Terraform

二者都是 声明式 IaC,但 生态边界不同:CFN 仅 AWS、与控制台/Stack 深度集成;Terraform 多云 + K8s Provider、社区 Module 丰富。CodeRoadMap 推荐 Terraform + GitOps 为部署主路径,CFN 用于 AWS 原生理解与读 CDK/SAM 产物。

学习目标

  • 一张表说清 CFN 与 TF 的取舍
  • 明确 CodeRoadMap 为何不默认 CFN 管生产
  • 串联 terraform-essentials 与 aws-essentials

对比

维度CloudFormationTerraform
厂商AWS 官方HashiCorp / OpenTofu 生态
语言JSON/YAML + 内置函数HCL
状态Stack 内资源映射tfstate(可 S3 远程)
多云否AWS/Azure/GCP/K8s
预览ChangeSetterraform plan
模块Nested Stack / RegistryModule Registry

同一 VPC 的两份声明

CloudFormation:

Resources:
  MainVpc:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      Tags:
        - Key: Name
          Value: coderoadmap-lab

Terraform(tf-aws):

resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"
  tags       = { Name = "coderoadmap-lab" }
}

语义相同;CodeRoadMap 仓库与 CI 以 .tf 为准,避免双轨维护。

CodeRoadMap 部署路径

推荐:terraform apply → RDS/VPC/EKS → helm-gitops → github-actions 镜像
补课:cloudformation-essentials → 读懂 AWS 文档、SAM/CDK 合成模板
认知:aws-essentials → Console 理解服务再 IaC 固化
选 CFN选 TF
纯 AWS、StackSet 企业基线多云或 TF 已落地
学 SAM/CDK 底层CodeRoadMap 标准 infra 目录
控制台一键实验 StackPR 上 plan + OIDC apply

练习

  • 把 tf-practice 的 RDS 栈列成 CFN 需哪些 Resource 类型
  • 说明为何 Helm 不能替代二者管 VPC
  • 读 aws-cdk:cdk synth 输出即 CFN

小结

CFN 深 AWS;TF 广平台。CodeRoadMap 生产走 TF,CFN 补 AWS 原生课。 下一课 SAM。

加载本节练习…
← 上一课Drift 检测下一课 →SAM 与 Lambda