[アップデート] AWS Application Composer が GA になったので、追加されたっぽい Change Inspector 機能を使ってみた

2023.03.08

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

いわさです。

今朝 Application Composer が GA になったとアナウンスがありました。

AWS Application Composer は re:Invent 2022 でプレビューリリースされた新サービスで、マネジメントコンソール上のビジュアルキャンバス上でサービスコンポーネントを組み合わせることで SAM テンプレートを自動生成してくれたり、あるいは既存のテンプレートを読み込むことでビジュアルキャンバス上に表示して GUI ベースで変更出来たりします。
本日時点では SAM テンプレートを開発するためのビジュアルエディター的な位置づけのサービスでしょうか。

今回 GA のタイミングで日本語対応されていたり、API Gateway から Lambda を挟まずに直接 SQS へ接続出来るようになっていたりするようです。
また Change Inspector という機能が追加され、接続構成が変わった際にコードの変更箇所がキャンバス上で把握出来るようになったようです。

GA 時の確認とあわせてそのあたりを今回触ってみましたので紹介します。

日本語対応

まずは新しいプロジェクトを作成しサーバーレスアプリケーションっぽいリソース構成を組んでみました。
数秒でこの構成を組んで SAM テンプレートに落としこむことが出来るのは本当に良い体験です。

リソースプロパティなど細かい項目も含めて、各種ユーザーインターフェースの表記がマネジメントコンソールの言語にあわせてローカライズされていることがわかります。

2023 年 2 月 22 日ごろに私が Application Composer を触った際には次のように英語だったので、やはり GA のタイミングで日本語が使えるようになったようです。

Change Inspector

続いて、Change Inspector 機能を試してみます。
ここでは API Gateway に追加したルートを、新しく作成した Lambda 関数に接続してみます。

接続したタイミングでキャンバス下部に通知メッセージのようなものが表示されます。

こちらを展開すると直前の操作でテンプレート上にどういう変更が発生したのかがコード差分で確認することが出来ます。
緑色でハイライトされている部分は追加された行です。削除されたコードは赤色でハイライトされるようなのですが、後述のように切断操作などでは Change Inspector を確認することが出来ませんでした。

ここでは API Gateway と Lambda 関数の接続にあわせて API Gateway の API 定義と、Lambda のイベントソース部分が変更されています。
複数のコンポーネントが変更されてい場合、次のようにページ切り替えする要領で確認箇所を変更出来ます。

Change Inspector が表示される対象操作はまだかなり限定的な様子

作成した接続を切断してみました。
SAM テンプレート上は上記で追加されたコードが期待どおり削除されていましたが Change Inspector は表示されませんでした。

ここで Change Inspector が表示されて削除行を示してくれると思ったのですがそうではないようです。

また、接続に関連しないコンポーネントの新規配置などでも Change Inspector は表示されませんでした。
操作に対する変更点差分だけをハイライト表示してくれるのはかなり良いのではと思ったのですが、サポートされている操作はまだ限定的な印象を受けました。サポート範囲が広がってほしいですね。

さいごに

本日は AWS Application Composer が GA になったので、日本語化などを確認しつつ新機能の Change Inspector 機能を触ってみました。

Application Composer は開発を補助するサービスという位置づけなので GA 前から利用し始めていた方多い気もしますが、GA ということで本格的に採用を検討出来るフェーズになったのは嬉しいです。

一方でまだまだ追加してほしい機能や要望などもたくさんある気がしています。
サポートされているリソースがまだ少ないのと、Lambda のランタイムサポート周りがリッチな機能が出ると特に嬉しいです。ハンドラ自動生成してくれたりランタイムの切り替えやデフォルト設定に対応してくれたりなど。

利用して、以下のフィードバック機能からどんどんフィードバックしましょう。