はじめに
re:Invent2022にて発表された新サービスのApplication Composerを使ってみました。
発表の際、現地でのリアクションも非常に良く、注目サービスの1つだと思います。
Application Composerとは
GUI画面でserverless系サービスを構築できるサービスです。
GUI画面での操作がリアルタイムにCloudFormationテンプレートに反映されます。
但し単体でデプロイ機能を持っていない為、CloudFormationに出来上がったテンプレートを投入するか、
SAM CLIにてデプロイすることになります。
特徴①
任意のローカルフォルダとの連携が可能です。
サービス利用時にCloudFormationテンプレートの保存先としてローカルフォルダを選択することで、
ローカルフォルダに生成されたテンプレートがGUI画面の操作をリアルタイムに反映してくれます。
弊社ではBOXを使用していますが、BOXフォルダとの連携も可能でした。
特徴②
GUI画面でサービスアイコン同士を線でつなげることで、接続設定を自動でやってくれます。
ハマりやすい接続設定を自動でやってくれるのは嬉しい所です。
S3監視機能作ってみた
簡単に試せそうな、S3への操作があった際にメール通知する機能を作ってみます。
使用するサービスは「S3」と「SNS」のみです。
プロジェクトの作成
右上の「Create project」ボタン、又は下部「Create a new blank project」を押下します。
ローカルフォルダとの連携をするか否か設定します。
連携する場合は「Select folder」ボタンを押下し、任意のローカルフォルダを選択します。
ローカルフォルダ連携における、確認が表示されます。
臆することなく「ファイルを表示する」「変更を保存」を押下します。
まっさらなプロジェクトが出来上がりました。
この画面を使って構築していきます。
プロジェクトの編集
左ペインから「S3」と「SNS」アイコンをドラッグ&ドロップし、サービス間を線で繋げます。
線で繋げることでサービス間の接続設定を自動でやってくれます。
上記操作以外、この画面での操作は何もしていません。
ローカルに自動生成されたCloudFormationテンプレートを見てみると、いい感じに生成されていそうです。
デプロイ
出来上がったCloudFormationテンプレートを、CloudFormationに投入してデプロイしてみます。
問題なくデプロイできました。
動作確認
メールの宛先(サブスクリプション)だけ手動で設定し、S3にファイルをアップロードしてみると...
無事にメール通知が発報されました。
所感
serverless系サービスは、複雑な構成になってくると接続関係を追うことが大変になるので、
構成図がAWS上に作れる、且つ、CloudFormationテンプレートが自動で生成されるのは非常に便利だと思いました。