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

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

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

学习

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

更多

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

© 2026 CodeRoadMap

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

参数与映射

Parameters、Mappings、Conditions。

30 分钟

参数与映射

Parameters 让模板可配置;Mappings 按 Region/环境查表;Conditions 按布尔表达式决定是否创建资源。三者合起来实现 dev/prod 分环境,类似 Terraform 的 variable + *.tfvars。

学习目标

  • 声明 Parameters 与 AllowedValues
  • 用 Mappings 解决 Region 差异(AMI、实例类型)
  • 对照 tf-variables

Parameters 示例

Parameters:
  Environment:
    Type: String
    Default: dev
    AllowedValues: [dev, staging, prod]
    Description: 部署环境

  InstanceType:
    Type: String
    Default: t3.micro

  DbPassword:
    Type: String
    NoEcho: true
    MinLength: 8
    Description: RDS 主密码(生产应接 Secrets Manager)

部署时可在控制台、CLI 或 CI 传入:

aws cloudformation deploy \
  --template-file template.yaml \
  --stack-name coderoadmap-dev \
  --parameter-overrides Environment=dev InstanceType=t3.micro

Mappings 与 Conditions

Mappings:
  RegionMap:
    ap-southeast-1:
      AMI: ami-0abc111
    ap-northeast-1:
      AMI: ami-0def222

Conditions:
  IsProd: !Equals [!Ref Environment, prod]

Resources:
  AppInstance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: !FindInMap [RegionMap, !Ref 'AWS::Region', AMI]
      InstanceType: !Ref InstanceType
      # prod 可配合 Condition 创建不同资源(略)
CFNTerraform
Parametersvariable
--parameter-overrides-var-file=*.tfvars
Mappingslocals + map
Conditionscount / 三元表达式

与 Helm values 对照

Parameters 像 Chart 的 values.yaml 键;Outputs 像 helm get notes 暴露的连接信息。CodeRoadMap Helm 管应用、TF/CFN 管 RDS 层——参数不要混进 backend Chart。

练习

  • 增加 ProjectName Parameter,用 写入所有资源的 Name 标签
!Sub
  • 写 Condition:仅 prod 时 DeletionPolicy: Retain
  • 对比 dev/prod 两份 parameter-overrides 与 tf-variables 的 tfvars
  • 小结

    Parameters 输入,Mappings 查表,Conditions 分支。 下一课 Stack 生命周期。

    加载本节练习…
    ← 上一课资源声明下一课 →Stack 生命周期