Slide 1

Slide 1 text

Amplify Gen2でLambda構築してみた KMiura(@k_miura_io)

Slide 2

Slide 2 text

自己紹介 • 三浦 耕生(こうき) • Acallのバックエンドエンジニア • JAWS UG名古屋 運営 • 好きなAWSのサービス:Lambda, ECS, CDK @k_miura_io koki.miura05

Slide 3

Slide 3 text

ミートにクロスバ イクで行く

Slide 4

Slide 4 text

ミートにクロスバ イクで行く

Slide 5

Slide 5 text

休みなしで5時間はキツイw

Slide 6

Slide 6 text

AWS Amplifyにまつわる自分語り • 新卒時代に何かのきっかけでAmplifyの存在を知り、なんか面白そう と思って会社のテックブログに書いた • 前職では当時勤務してた学生がバックエンドだけAmplifyで組むとい うことをしてたのでAmplifyを勉強してた • ↑の構成をCDKにリプレイスしたりしてた 新卒時代に書いてた テックブログ→

Slide 7

Slide 7 text

Amplify Gen2 がGA🎉

Slide 8

Slide 8 text

Gen2でのアップデート • ローカル開発用のサンドボックス環境構築 • バックエンドやスキーマ定義はすべてTypeScriptで定義 • インフラ構築はCDKベース

Slide 9

Slide 9 text

ということは… CDK慣れてたらAmplify Gen2も余裕 で攻略できる(仮説)

Slide 10

Slide 10 text

試してみた

Slide 11

Slide 11 text

今回のシステム構成 • Amplifyで作成したLambda関数か らあらかじめ別で作成したSNSに トピックをPublishしてSQSにPush する • EventBridge PipesでSQSのトピッ クをSubscribeして、StepFunctions で組んだバッチ処理をする

Slide 12

Slide 12 text

ドンピシャなサンプル発見w https://bit.ly/3YajSFB

Slide 13

Slide 13 text

しかしエラーが…

Slide 14

Slide 14 text

どうやらCDKのモジュールはインストール されてなさそう • Amplifyのバックエンド定義ファイルにCDKのようにリソース定義を追加できても必要なリ ソースの定義モジュールは別途インストールする必要があるよう • 今回のケースであればIAMのモジュールを追加すれば解決した • ドキュメントにそれぐらい書いてくれればいいのに(もし見落としてたらこっそり教えて) ↑アクセスポリシーを付与するときにはCDK使ってねとしか書いてない

Slide 15

Slide 15 text

それでもエラーが…

Slide 16

Slide 16 text

間違い探し エラー OK

Slide 17

Slide 17 text

間違い探し(答え合わせ) エラー OK

Slide 18

Slide 18 text

DEMO

Slide 19

Slide 19 text

まとめ • Amplify Gen2がCDK互換に移行したことでフロントエンドだけではなく、バックエンド、イ ンフラ構成までをすべてTypeScriptで組めるようになった • Lambdaのアクセス権限も簡単に定義できるようになってかなり便利になったと感じた • GAになったとはいえまだまだ伸びしろがある要素もあるのでこれから成長していくところ を見届けたいところ やはりCDK、CDKはすべてを解決する

Slide 20

Slide 20 text

CDKカンファレンス行きたかったよー(T_T)

Slide 21

Slide 21 text

宣伝 https://bit.ly/3RVsKuC

Slide 22

Slide 22 text

END