Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

自己紹介 • 三浦 耕生(こうき) • Acallのバックエンドエンジニア • JAWS UG名古屋 運営 • Cloudflare Meetup 名古屋運営 @k_miura_io koki.miura05

Slide 3

Slide 3 text

Amplify Gen2 がGA🎉

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

試してみた

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

しかしエラーが…

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

それでもエラーが…

Slide 12

Slide 12 text

間違い探し エラー OK

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

宣伝2 https://cfm-cts.connpass.com/event/321889/

Slide 17

Slide 17 text

END