AWS Application Composer 新服务2022年〜

可视化设计无服务器应用架构并自动生成 IaC 模板的服务

它能做什么

AWS Application Composer 是一项通过拖放方式可视化设计无服务器应用架构,并自动生成对应 SAM(Serverless Application Model)模板的服务。只需在画布上放置和连接 LambdaAPI GatewayDynamoDB、S3 等资源,即可生成可部署的 IaC 模板。也可作为 VS Code 扩展使用。

使用场景

用于无服务器应用的设计与原型开发、现有 CloudFormation/SAM 模板的可视化与理解、向团队成员说明架构、作为 IaC 模板的学习工具等。即使不熟悉 YAML 编写的开发者也能可视化地设计基础设施。

日常类比

可以将其比作户型设计软件。建造房屋(应用)时,手绘设计图(IaC 模板)非常费力。使用户型设计软件(Application Composer),只需拖放房间(Lambda、DynamoDB 等)并连接门和走廊(连接),精确的设计图就会自动生成。

什么是 Application Composer

AWS Application Composer 是一个可视化设计无服务器应用架构的工具。通常构建 AWS 基础设施需要手写 CloudFormation 或 SAM 的 YAML 模板。使用 Application Composer,只需在 GUI 上放置和连接资源,即可自动生成正确的 YAML 模板。

可视化设计

在 Application Composer 的画布上,可以通过拖放放置 Lambda 函数、API GatewayDynamoDB 表、S3 存储桶、SQS 队列、SNS 主题等 AWS 资源。用线连接资源后,所需的 IAM 权限和环境变量会自动配置。例如,连接 API Gateway 和 Lambda 后,API 的路由设置和 Lambda 的调用权限会自动生成。

与模板的双向同步

Application Composer 的一大特点是可视化设计与 YAML 模板双向同步。在画布上添加资源会反映到 YAML 中,直接编辑 YAML 也会反映到画布上。还可以导入现有的 SAM/CloudFormation 模板进行可视化,有助于理解复杂模板。 关于模板双向同步的实践方法,也可以通过相关书籍(Amazon)进行学习。

开始使用

在 AWS 控制台中打开 Application Composer,或在 VS Code 中安装 AWS Toolkit 扩展使用。创建新项目或拖放导入现有 SAM 模板。在画布上放置和连接资源后,使用 sam deploy 命令部署生成的模板。VS Code 版本支持与本地文件系统实时同步。

注意事项

  • Application Composer 本身免费使用,仅对通过生成的模板部署的资源收费
  • 支持的资源类型以无服务器相关为主,EC2 和 RDS 等部分资源无法在画布上设计
  • 生成的模板为 SAM 格式,部署需要安装 SAM CLI
共有するXB!