AWS Infrastructure Composer (旧 AWS Application Composer) でサーバーレスアプリケーションをビジュアル設計 - IaC テンプレートの自動生成

Infrastructure Composer によるサーバーレスアーキテクチャのビジュアル設計、SAM テンプレートの自動生成、VS Code 統合を解説します。

Infrastructure Composer の概要

Infrastructure Composer はサーバーレスアプリケーションのアーキテクチャをビジュアルに設計し、AWS CloudFormation と AWS SAM のテンプレートを自動で作るサービスです。YAML を手書きする代わりに、キャンバス上にリソースを配置して接続すると、Infrastructure Composer が必要な IAM ポリシーとイベントソースの設定を含むテンプレートを AWS のベストプラクティスに沿って組み立てます。

ビジュアル設計と双方向同期

キャンバスに Lambda 関数をドラッグし、API Gateway と接続線で結ぶと、API Gateway のイベントソースマッピングと Lambda の実行ロールが自動生成されます。DynamoDB テーブルと Lambda を接続すると、テーブルの ARN が環境変数に設定され、IAM ポリシーに DynamoDB へのアクセス権限が追加されます。キャンバスとテンプレートのコードの変更は自動で同期し、YAML を手で直した内容も図に表れます。VS Code 拡張機能を使用すると、ローカルの既存 SAM テンプレートをビジュアルに編集できます。

チーム開発での活用と制約

Infrastructure Composer で設計したテンプレートは SAM CLI でローカルテストし、 Git リポジトリにコミットして通常の IaC ワークフローに乗せます。ビジュアルキャンバスで変えた内容はテンプレートにも自動で入るため、差分はコードレビューで確かめます。Infrastructure Composer で扱えるリソースは、Lambda、API Gateway、DynamoDB、S3、SQS、SNS、Step Functions などのサーバーレスのリソースに限りません。 VPC、RDS、ElastiCache などのリソースも、CloudFormation が対応するものはキャンバスに置けます。複雑な Conditions や Mappings を多用するテンプレートでは、ビジュアル編集と手動編集の境界が曖昧になるため、チーム内でどこまでを Composer で管理し、どこからを手書きにするかのルールを決めておくことが重要です。

CloudFormation / SAM との使い分け

Infrastructure Composer は CloudFormation と AWS SAM のテンプレートを図で扱う道具で、CloudFormation や SAM CLI を置き換えるものではありません。新規のサーバーレスアプリケーションを素早くプロトタイピングする場面に向いています。既存の大規模テンプレート (数百リソース) をインポートすると、キャンバスが煩雑になり操作性が低下するため、既存プロジェクトへの適用は慎重に判断します。CDK を使っているプロジェクトでは、CDK のコンストラクトが生成する CloudFormation テンプレートを Composer で可視化することは可能ですが、Composer 上での編集結果を CDK コードに逆変換する機能はないため、読み取り専用の可視化ツールとして使うのが現実的です。SAM Accelerator (sam sync) と組み合わせると、Composer で設計 → sam sync でホットデプロイ → 動作確認というサイクルを短い間隔で回せます。

Infrastructure Composer の料金

Infrastructure Composer の利用そのものには料金がかかりません。AWS コンソールのビジュアルエディター、VS Code 拡張機能、SAM テンプレートの自動生成に追加料金は発生しません。生成されたテンプレートでデプロイされる AWS リソースの利用料金のみがコストです。SAM CLI と組み合わせたローカルのテストも、追加の費用の対象外です。

アイデアからデプロイまでの流れ

Infrastructure Composer は、設計からデプロイまでの一連の流れをなめらかにつなぎます。画面上でリソースを配置 / 接続してアーキテクチャを組み立てると、対応する IaC テンプレートが生成されます。リソース間を線でつなぐと、必要な権限や設定が自動で補われるため、細かな配線を手作業で書く手間が減ります。生成されたテンプレートは、サーバーレス向けの開発ツールと組み合わせて、手元でのテストや本番へのデプロイに進めます。頭の中のアーキテクチャを素早く形にし、そのまま動くものへと展開できる点が、開発の立ち上がりを助けます。

イベントソースと権限の自動配線

サーバーレスアプリケーションでは、関数とデータストア、メッセージキューなど、複数のリソースを正しくつなぐ必要があります。手作業で書くと、必要な権限の付与漏れや、接続設定のミスが起きがちです。ビジュアル設計でリソース同士を接続すると、その関係に必要な権限や参照設定が自動的にテンプレートへ反映されます。これにより、つなぎ込みのミスが減り、動かない原因の切り分けにかかる時間も短く済みます。リソースの関係を視覚的に組み立てると裏側の煩雑な設定が整うため、サーバーレス開発の作業が楽になります。

学習と理解の助けとして

Infrastructure Composer は、サーバーレスの構成を学ぶ入り口としても役立ちます。リソースを配置して接続すると、それがテンプレートのどの記述に対応するかを、図とコードを見比べながら理解できます。これは、IaC の書き方を学んでいる初学者にとって、抽象的なテンプレートを具体的な構成として捉える助けになります。また、既存のテンプレートを読み込んで図にすれば、複雑なアプリケーションの全体像を素早く把握でき、引き継ぎや調査の際に役立ちます。視覚と記述を結びつけて理解できることが、サーバーレス開発の学習と保守を支えます。

まとめ

Infrastructure Composer はサーバーレスアプリケーションの設計を視覚化し、SAM テンプレートの自動生成で IaC の初期構築を加速するツールです。ビジュアルキャンバスと YAML の双方向の同期により、設計と実装をそろえやすくします。プロトタイピングや小〜中規模のサーバーレスのプロジェクトに向いています。

参考資料 (AWS 公式)

本ページの一次情報は AWS 公式サイトと公式ドキュメントです。最新の仕様と料金は次の公式ページで確認できます。

本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。

共有する