AWS Application Composer とは
AWS Application Composer はサーバレスアプリケーションの構築をサポートするツールです。
AWSサービスをドラッグ&ドロップで配置・接続することができ、それをCloudFormationのテンプレートとして自動生成することが出来ます。
アーキテクチャ図の作成とCloudFormationのテンプレート作成が同時に進行するので非常に便利なツールだと思います。
2022/12/08 時点ではまだプレビューとなっており、対応しているサービスは以下の通りです。
- API Gateway
- Cognito UserPool
- Cognito UserPoolClient
- DynamoDB Table
- EventBridge Event Rule
- EventBridge Schedule
- Kinesis Stream
- Lambda Function
- Lambda Layer
- S3 Bucket
- SNS Topic
- SQS Queue
- Step Functions State machine
AWSのサービス数を考えると決して多くはないですが、現時点でも主要なサービスには対応しており充分実用的だと思います。
プロジェクトを作成する
Step.1 「Create project」をクリックしてプロジェクトを生成します
Step.2 「Select folder」をクリックし、テンプレートファイルを保存する場所を選択します
Step.3 保存する場所を選択すると許可を求めるダイアログが表示されるので、「ファイルを表示する」をクリックします
Step.4 「Create」をクリックし、今度は編集の許可を求めるダイアログが表示されるので「変更の保存」をクリックします
これにてプロジェクトの作成が完了し、ブラウザ上にはアプリケーションを構築するためのキャンバスが表示されていると思います。
また、キャンバス上の変更は接続をしているフォルダにリアルタイムに保存されていくと思います。便利ですね!
Composer tour
実際に使いながらスクリーンショットを取って説明を書くのも良いのですが、ここは手抜きをして最初に表示されるツアーガイドを翻訳していきます。
1. リソースをドラッグ&ドロップする
リソースパレットでリソースを探し、キャンバスにドラッグ&ドロップすることでアーキテクチャを拡張します。
2. リソースのプロパティを設定する
リソースをダブルクリックすると、そのリソースのプロパティパネルが表示されます。ここでは、リソースの命名と設定を行うことが出来ます。
注意
リソースの全てのプロパティが編集可能なわけではありません
3. リソースを接続する
リソースファセットをクリックし、別のリソースファセットまでドラッグすることでリソースを接続します。
この操作によって、リソースが相互に作用するための権限が自動的に構成されます。
4. テンプレートの表示と編集
Template
を選択するとインフラのコードを表示および編集することができます。
変更はキャンバスビューに自動的に反映されます。
5. IDE との併用
Connected mode
では IDE のようなローカルのツールで Application Composer を使うことが出来ます。
ローカルでの変更は自動的に反映されます。
まとめ
本記事では re:Invent 2022 で発表された AWS Application Composer をさっそく触ってみました。
シンプルに開発体験の向上につながるサービスで良いなと感じましたし、どんどん対応するサービスが増えてくると嬉しいなと思いました。
個人的には GUI の変更がすぐにテンプレートファイルに反映されるのが気持ちよく、Connected mode の優秀さが際立つサービスだなと感じています。
すぐにでも業務で活用できるツールなので是非積極的に使っていきたいと思います。