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

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

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

学习

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

更多

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

© 2026 CodeRoadMap

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

SAM 与 Lambda

Serverless Application Model 概念。

30 分钟

SAM 与 Lambda

AWS SAM(Serverless Application Model) 是 CloudFormation 的 扩展语法:用 AWS::Serverless::* 简化 API Gateway + Lambda + DynamoDB 等 Serverless 拓扑。sam build / sam deploy 最终仍生成 标准 CFN 模板 并创建 Stack。

学习目标

  • 理解 SAM 与裸 CFN 的关系
  • 读懂最小 template.yaml 中的 AWS::Serverless::Function
  • 对照 aws-lambda

SAM 模板示例

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31

Resources:
  HelloFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: app.handler
      Runtime: python3.12
      CodeUri: hello/
      Events:
        ApiEvent:
          Type: Api
          Properties:
            Path: /hello
            Method: get

Outputs:
  HelloApi:
    Description: API Gateway endpoint
    Value: !Sub 'https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod/hello'

Transform 行告诉 CloudFormation:先展开 SAM 宏,再部署。等价于手写 API Gateway、Lambda Permission、RestApi 等多个 AWS::* 资源。

工作流

sam init
sam build
sam deploy --guided    # 首次:Stack 名、Region、IAM 能力确认
sam local invoke HelloFunction
命令作用
sam build打包依赖到 .aws-sam/build
sam deploy上传 S3 + create/update Stack
sam local本地模拟 Lambda(Docker)

与 CodeRoadMap 关系

CodeRoadMap backend 主路径 是 Spring Boot + Docker/K8s + helm-gitops-essentials,非 Lambda 优先。SAM 适合 轻量 API 实验、Webhook、定时任务;平台层 VPC/RDS 仍用 terraform-essentials。

练习

  • sam init 后 sam build && sam deploy --guided(实验账号)
  • 后在 CloudFormation 控制台查看展开后的 Resource 列表
sam deploy
  • 对比裸 CFN 写一个 AWS::Lambda::Function 需多少配套资源
  • 小结

    SAM = CFN + Serverless 宏;deploy 仍是 Stack。 下一课与 CDK 关系。

    加载本节练习…
    ← 上一课CloudFormation vs Terraform下一课 →与 AWS CDK 关系