TL

Cloud Service

AWS Application Composer (Infrastructure Composer)

サーバーレス構成をキャンバス上でドラッグ&ドロップで設計し、CloudFormation/SAM テンプレートを自動生成。インフラ初心者でも構成図とコードを同時に作れるビジュアル設計ツール。

基礎DVA-C02SAA-C03DOP-C02運用上の優秀性
最終更新: 2026-06-28公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.リソースをキャンバスに並べて線でつなぐと、対応する CloudFormation/SAM テンプレートが自動生成される
  • 2.図とテンプレートが双方向に同期し、コードを書いても図に、図を変えてもコードに反映される
  • 3.ブラウザのコンソールでも、ローカルの VS Code 拡張でもオフラインで設計できる

AWS Application Composer(現在は Infrastructure Composer へ名称が変わりつつあります)は、サーバーレスを中心とした AWS アプリケーションの構成を、ブラウザ上のキャンバスでビジュアルに設計するためのツールです。Lambda・API Gateway・DynamoDB などのリソースをドラッグ&ドロップで並べてつなぐだけで、対応する CloudFormation または AWS SAM のテンプレートが自動生成されます。図とコードが双方向に同期するため、構成図とインフラのコード(IaC)を別々に保守する必要がなくなります。

解決する課題

  • CloudFormation や SAM のテンプレートを ゼロから手書き するのは初心者にとって難しく、リソース間の参照や IAM 権限の書き方でつまずきやすい → 視覚的に組み立てて自動生成したい
  • 設計時に描いた 構成図と実際のテンプレートがすぐ食い違う → 図とコードを常に同期させたい
  • どのリソースが何を呼び出しているかが、テンプレートの記述だけでは 全体像が把握しづらい → 関係を線で見えるようにしたい
  • サーバーレス特有の IAM ポリシーやイベントソースの結線 を毎回調べて書くのが面倒 → よくある接続は自動で補完してほしい

主要概念と用語

  • キャンバス(Canvas): リソースを配置して線でつなぐビジュアル設計領域。ここでの操作がそのままテンプレートに反映される
  • カード(Card): キャンバス上に置く個々のリソース。Lambda 関数・API・データベース・キューなどがカードとして表現される
  • 拡張カード(Enhanced component card): Application Composer が IAM 権限やイベント設定などの定型部分を補完してくれる、よく使うサーバーレス向けの高機能カード
  • 標準カード(Standard IaC resource): 拡張カードが用意されていないリソースを、CloudFormation の生のリソース定義として扱うカード
  • コネクション(Connection): カード同士を結ぶ線。接続すると、必要な参照や IAM 権限、イベントソースマッピングなどがテンプレートに自動的に書き加えられる
  • テンプレート(Template): 自動生成される CloudFormation/SAM の定義(YAML)。キャンバスと双方向に同期する
  • ローカル同期(Local sync): ローカルのプロジェクトフォルダとキャンバスをつなぎ、編集を即座にファイルへ書き出す機能
  • Infrastructure Composer: Application Composer の新名称で、サーバーレス以外も含めた幅広い構成設計をうたう。VS Code 拡張としても提供される

仕様・制限・クォータ

  • 出力されるテンプレートは CloudFormation または AWS SAM(YAML)。実際のデプロイは CloudFormation や SAM CLI、CI/CD パイプラインなど別の仕組みで行う
  • ブラウザ(AWS マネジメントコンソール)VS Code 拡張(ローカル) の2つの利用形態がある。ローカルではインターネット接続なしでも設計できる
  • 拡張カード(自動で権限や結線を補完する高機能カード)が用意されているのは主にサーバーレス系リソース。それ以外は標準の IaC リソースカードとして扱う
  • 既存の CloudFormation/SAM テンプレートを 読み込んで可視化 することもでき、ゼロからの新規設計だけでなく既存構成の編集にも使える
  • ツール自体は 設計・生成 が役割で、状態管理やデプロイのオーケストレーションは行わない

具体的な対応リソースや機能は拡張されていくため、最新の対応範囲は公式ドキュメントで確認してください。

内部の仕組み

Application Composer はキャンバス上の操作を、内部で保持する テンプレートのモデル に逐次反映します。カードを置くと対応するリソース定義が追加され、カード同士をつなぐと、片方のリソースを参照する記述(Ref や GetAtt 相当)、呼び出しに必要な IAM ポリシー、イベントを受け取るための イベントソース設定 などがまとめて書き込まれます。

逆に、テンプレートのコードを直接編集すると、その変更がキャンバスの図にも反映されます。この 双方向同期 により、図とコードのどちらを正としても破綻しません。

  • ブラウザ利用時: 設計データはブラウザ内で扱われ、保存先としてローカルファイルへの書き出しや、プロジェクトフォルダとの同期を選べる
  • ローカル同期: プロジェクトフォルダを接続すると、キャンバスの変更がそのままファイルに書き込まれ、Git でのバージョン管理や他ツールとの併用がしやすくなる
  • VS Code 拡張: エディタ内に同じキャンバスを表示し、テンプレートファイルを開いた状態で図と往復しながら編集できる
図とコードは常に同期

キャンバスで線をつなぐ操作は、単に図を描くだけでなく、参照・IAM 権限・イベント設定といった「面倒な配線」をテンプレートに自動で書き込む操作です。生成された YAML を読み返すと、何が補完されたかを学べます。

設計パターン / ベストプラクティス

  • 拡張カードを優先して使う: Lambda・API・DynamoDB など拡張カードが用意されているリソースは、IAM 権限やイベント結線の自動補完を活かせる
  • 既存テンプレートの可視化に使う: 引き継いだ SAM/CloudFormation テンプレートを読み込み、全体像の把握やレビューの補助に使う
  • 生成物は必ずレビューする: 自動生成された IAM 権限が広すぎないか、最小権限になっているかを確認してから採用する
  • ローカル同期で IaC 管理下に置く: 生成テンプレートをプロジェクトフォルダに同期し、Git でバージョン管理して CI/CD から SAM/CloudFormation でデプロイする
  • 設計とデプロイを分ける: Application Composer は設計・生成までを担い、デプロイはパイプラインに任せる責務分担にする
自動生成の IAM 権限を過信しない

コネクションが補完する IAM 権限は便利ですが、用途によっては必要以上に広いことがあります。本番に進める前に、生成されたポリシーを最小権限の観点で必ず見直してください。

運用・監視

  • Application Composer 自体は設計ツールのため、実行時のメトリクスやログを持ちません。監視対象は 生成・デプロイされたリソース側(Lambda・API Gateway など)になります
  • デプロイ後の挙動は CloudWatch のメトリクス・ログや X-Ray のトレースで追跡し、設計の妥当性をフィードバックします
  • デプロイそのものの履歴やロールバックは CloudFormation のスタックイベント で確認します
  • 設計の変更履歴は、生成テンプレートを Git でバージョン管理 することで追跡・レビューします

コスト

Application Composer(Infrastructure Composer)の利用そのものに追加料金はかかりません。課金が発生するのは、生成したテンプレートから 実際にデプロイしたリソース(Lambda の実行、API Gateway のリクエスト、DynamoDB のキャパシティなど)の利用料です。設計・可視化の段階ではリソースを作成しないため費用は発生せず、デプロイ後に各サービスの料金体系に従って課金されます。最新の料金は各サービスの公式料金ページで確認してください。

セキュリティ

  • ブラウザのコンソールから利用する場合、操作には実行者の IAM 権限 が前提になります。設計・生成自体はテンプレートの編集が中心です
  • 生成テンプレートには パスワードや鍵を直書きしない。機密値は Secrets Manager や SSM パラメータストアを参照するように手直しします
  • コネクションが自動付与する IAM 権限を、最小権限になるよう必ず見直します
  • ローカル同期で書き出したテンプレートを Git や共有ストレージに置く際は、機密が含まれていないかを確認します
生成 YAML への機密の混入に注意

キャンバスから書き出したテンプレートは Git などで共有されます。設定値として機密を直書きすると漏洩源になります。機密は Secrets Manager や SSM の動的参照に置き換えてください。

関連サービス・比較

サーバーレスの IaC を扱う AWS SAM(および SAM CLI)とよく併用・比較されます。Application Composer は ビジュアルでテンプレートを設計・生成 する役割、SAM CLI は そのテンプレートをビルドしてデプロイ する役割と整理できます。

観点Application ComposerAWS SAM CLI
主な役割ビジュアル設計とテンプレート生成ビルドとデプロイの実行
操作方法キャンバスのドラッグ&ドロップコマンドライン
出力・対象CloudFormation/SAM テンプレートテンプレートからのデプロイ
双方向同期図とコードを相互に同期持たない
典型用途構成設計と可視化CI/CD でのデプロイ自動化

ハンズオン / CLI例

Application Composer の設計操作自体はビジュアルな GUI/VS Code 拡張で行います。生成したテンプレートは、次のように SAM CLI でビルド・デプロイするのが定番の流れです。

# Application Composer で生成・同期した SAM テンプレートをビルド
sam build --template-file template.yaml

# 対話形式でデプロイ設定を作りつつデプロイ(初回はガイド付き)
sam deploy --guided

# 生成テンプレートが CloudFormation として正しいか検証する場合
aws cloudformation validate-template \
  --template-body file://template.yaml

AWS Service

AWS Application Composer (Infrastructure Composer)を実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

管理・ガバナンス

比較で見る軸

クラウド: AWS / カテゴリ: 管理・ガバナンス / 難易度: basic

導入後に効く点

図とテンプレートが双方向に同期し、コードを書いても図に、図を変えてもコードに反映される

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
AWS
カテゴリ
管理・ガバナンス
難易度
basic
関連資格
DVA-C02 / SAA-C03 / DOP-C02
設計柱
operational

判断チェックリスト

  • 自社の用途が「管理・ガバナンス / operational」に近いか確認する。
  • 強みである「リソースをキャンバスに並べて線でつなぐと、対応する CloudFormation/SAM テンプレートが自動生成される」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

管理・ガバナンスoperationalDVA-C02SAA-C03DOP-C02