LoginSignup
0
0

More than 1 year has passed since last update.

AWS Application Composerを使ってみた

Posted at

先日のre:InventでリリースされたAWS Application ComposerというAWSの新サービスを使ってみました。

そもそもAWS Application Composerってなんぞ

AWS Application Composerはサーバーレスアプリケーションを構築できるビジュアルエディタです。
GUI上でポチポチするだけでテンプレートを生成してくれて、簡単にデプロイできるという代物。

さっそくやってみた

①プロジェクトの作成

まずはコンソールトップからプロジェクトを作成します。
AWS_Application_Composer.png

「Open Demo」を選ぶとAWS公式が用意したデモプロジェクトを使って作業ができます。
今回は自分でゼロから作りたかったので、「Create Project」をクリックします。

すると↓のようなモーダルが立ち上がります。
AWS_Application_Composer.png
すでにSAMテンプレートを持っている場合は「Load Existing Project」をクリック、今回はSAMテンプレートを持っていないので「New Blank Project」を選択

Local file system connection modeについて、「Connected」を選択すると、ローカル上のディレクトリと接続して自動で編集内容を反映してくれます。めっちゃ便利

②ビジュアルエディタからリソースを配置

今回はよくあるS3への画像アップロード時にリサイズをしてくれるアーキテクチャを構成します。
AWS_Application_Composer.png

③SAM CLIを使ってデプロイ

ConnectedモードにしていればローカルにSAMテンプレートが自動で構築されているはずなので、SAM CLIを使ってデプロイします。

SAM CLIの導入は公式ドキュメントを参考にしました。

CLI導入後以下を実行します

sam build
sam deploy --guided

するとCloudformationを使ってリソースを構築するログが流れます。
問題なく完了すればリソースの構築が完了しています。

設定された内容の確認

Lambda関数

image-resize-app-Function-TjeX9Nx2koKD_-_Lambda.png

みた感じ、Lambdaのトリガーは自分で設定しないといけない感じでしょうか・・・
トリガーの設定までやってくれてたら便利そうでしたが、ApplicationComposerのコンソールにもトリガーを設定するような箇所はないので、SAMテンプレートに追記するなりLambdaコンソールから設定するなりする必要があるのかも・・・?

と思ってたところ↓の記事を参考にテンプレートを編集したところLambdaコンソール上でもトリガーが設定されていることを確認。SAMの仕様の問題ぽいね

image-resize-app-Function-TjeX9Nx2koKD_-_Lambda.png

S3

S3_Management_Console.png

Application Composerから設定したバケットが登録されていることを確認

image-resize-app-uploadbuc-957017051518_-_S3_bucket.png

パブリックアクセスをブロックすると画像のようなバケットポリシーが生成される

LambdaとS3を連携しているとイベント通知が設定される
image-resize-app-uploadbuc-957017051518_-_S3_bucket.png

あとはLambda関数に処理を書いて、バケットにオブジェクトをアップロードすればええ感じに使えるんじゃないかな!

感想

めっちゃ便利だけどSAMテンプレートを手動で書けるようになってから使った方が事故った時のデバッグとかしやすい気がするので、こういう便利ツールに頼りきりにならないようにしたい

0
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
0
0