6
0

More than 1 year has passed since last update.

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」をクリックしてプロジェクトを生成します

image.png

Step.2 「Select folder」をクリックし、テンプレートファイルを保存する場所を選択します

image.png

Step.3 保存する場所を選択すると許可を求めるダイアログが表示されるので、「ファイルを表示する」をクリックします

image.png

Step.4 「Create」をクリックし、今度は編集の許可を求めるダイアログが表示されるので「変更の保存」をクリックします

image.png

これにてプロジェクトの作成が完了し、ブラウザ上にはアプリケーションを構築するためのキャンバスが表示されていると思います。
また、キャンバス上の変更は接続をしているフォルダにリアルタイムに保存されていくと思います。便利ですね!

Composer tour

実際に使いながらスクリーンショットを取って説明を書くのも良いのですが、ここは手抜きをして最初に表示されるツアーガイドを翻訳していきます。

1. リソースをドラッグ&ドロップする

step1.gif

リソースパレットでリソースを探し、キャンバスにドラッグ&ドロップすることでアーキテクチャを拡張します。

2. リソースのプロパティを設定する

step2.gif

リソースをダブルクリックすると、そのリソースのプロパティパネルが表示されます。ここでは、リソースの命名と設定を行うことが出来ます。

注意
リソースの全てのプロパティが編集可能なわけではありません

3. リソースを接続する

step3.gif

リソースファセットをクリックし、別のリソースファセットまでドラッグすることでリソースを接続します。
この操作によって、リソースが相互に作用するための権限が自動的に構成されます。

4. テンプレートの表示と編集

step4.gif

Template を選択するとインフラのコードを表示および編集することができます。
変更はキャンバスビューに自動的に反映されます。

5. IDE との併用

step5.gif

Connected mode では IDE のようなローカルのツールで Application Composer を使うことが出来ます。
ローカルでの変更は自動的に反映されます。

まとめ

本記事では re:Invent 2022 で発表された AWS Application Composer をさっそく触ってみました。
シンプルに開発体験の向上につながるサービスで良いなと感じましたし、どんどん対応するサービスが増えてくると嬉しいなと思いました。

個人的には GUI の変更がすぐにテンプレートファイルに反映されるのが気持ちよく、Connected mode の優秀さが際立つサービスだなと感じています。

すぐにでも業務で活用できるツールなので是非積極的に使っていきたいと思います。

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0