AWS Application Composer とは?
2022/12/2re:Inventで発表されたプレビュー版サービス
AWSのサービスをキャンバス上にドラッグ&ドロップし、接続していくことで容易にサーバレスアプリケーションの開発が可能で構成図作成、テンプレートを生成することが可能。既存のテンプレートを読み込みすることも可能
2022/12/12現在の対応リージョン・サービス
対応リージョン
- us-east-1
- us-east-2
- us-west-2
- ap-northeast-1
- eu-central-1
- eu-west-1
対応サービス
- 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リソースはRead-onlyと表示されAWS Application Composerでの構築は未対応
マネジメントコンソールで構築
demoがあるのでこちらを実行してみる
1.プロジェクトを作成
2.Rest API を設計
キャンバスで API Gatewayリソースを選択し、 [詳細]を選択して[リソース プロパティ] パネルを表示します。
次のプロパティを入力して、最初のルートを作成
メソッドを選択: GET
パス: /items
3.lambda関数を設計する
キャンバスで 関数リソースを選択し、 [詳細]を選択して[リソース プロパティ] パネルを表示
LogicalIDフィールドに getItemsを入力して、関数を構成、保存を押す
4.リソースを接続する
API Gateway リソースでGET /itemsポートを選択し、それをgetItems Lambda 関数の左側のポートにドラッグして接続
これらの手順を繰り返して、残りの 4 つの Lambda 関数を API Gateway パスに接続
5.図を整理する
雑にアイコンを配置していても、ボタンひとつで整理してくれます!便利ですね
6.グループ化
Shiftを押しながら、キャンバス上の各Lambda関数を選択して[group]を押す
7.テーブルを作成
DynamoDB テーブルを追加
Lambda 関数の右側のポートを選択し、DynamoDB テーブル リソースの左側のポートに接続
8.samテンプレートを読み込む
samテンプレートを読み込みも可能
右上の「Menu」から[Open or CreateProject]を開く
samテンプレートがあるフォルダを選択しTemplatefileでtempate.yamlを選択しCreate
テンプレートが読み込まれ構成図
まとめ
ノーコードでGUIでサクサクとサーバレス構成作成できテンプレートが作成できるのは便利
SAMテンプレートから取り込んで構成を起こすことも可能なので、ちょっとした構成図を作成したい場合などにも使えそう
GAされれば機能追加されていくと思うので、対応範囲が広がりそうと思いました