AWS Infrastructure Composer 新服务2022年起

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

它能做什么

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

使用场景

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

日常类比

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

什么是 Infrastructure Composer

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

可视化设计

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

与模板的双向同步

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

开始使用

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

注意事项

  • Infrastructure Composer 本身免费使用,仅对通过生成的模板部署的资源收费
  • 画布可视化设计较为完善的主要是无服务器相关资源,请提前确认要使用的资源类型是否受支持
  • 生成的模板为 SAM 格式,部署需要安装 SAM CLI
分享XB!