AWS公式のサーバレスWebアプリケーションのチュートリアルをやってみた

明日参加予定のJAWS-UG愛媛のテーマが「サーバレスWebアプリケーション」で、公式のチュートリアルを題材にハンズオンやるよ、となっていたので一足先に予習してみた。

jawsug-ehime.doorkeeper.jp

で、最終的に何ができるのかと思えばユーザーが Wild Rydes のユニコーンへの乗馬をリクエストできるシンプルなサーバーレスウェブアプリケーションらしい。

まったくもって意味がわからん。

f:id:kamonohashiy:20190510205708p:plain

LPの色使いからしてもこれ作ったやつ絶対○リファナキメてんだろとしか。

先日Firebaseのハンズオンが「レストランの評価アプリ」って良くも悪くも実用に徹した題材だっただけに、最初のインパクトがデカすぎるけど、粛々とやってみたので感想をば。

※本編はこちら 出来上がりのサンプルはこちら

完走した感想

完成品の出来はサンプルでも確認できるのでそこについてはノーコメントで、チュートリアルの流れ自体は非常にいいと思った。

コードは既に出来上がっているものをコピペすればいいだけ(変更もコンソール上で作ったリソースのIDを入力するくらい)で、サーバレスアプリを構築するリソースを触ることだけに集中していれば大丈夫。

Lambdaで使うロールを作るときも、最低限のポリシーだけをアタッチするって原則を忠実に守ってるのも好感持てる。

※ちなみに一番好きなポリシーは何ですか?って聞かれたら迷わずAdministratorAccessと答える人間(個人で触る分には、ま多少はね?)。

個人的にはCognito以外はしまの時刻表作る時に触ったこともあるサービスがほとんどだったこともあって、目安時間2時間となっているところを3,40分で完走できた。

(コピペとはいえ)これだけの速さで本番稼働するアプリケーションが作れて、しかもデプロイまで済んでるってインパクトが体感できるのは素直にいい教材じゃないかと思った。

情報の古さと日本語訳の粗さが気になった

一方で↑が原因でつまずきそうなポイントが何箇所かあったので、これからやる人向けにメモ。

まずひとつ、作成したS3にバケットポリシーを適用する箇所があるんだけど、S3がアップデートされてから、デフォルトではポリシーの編集ができなくなっているので、まずはその設定を解除してやる必要があるところ。

qiita.com

やり方は↑の記事に書いてあるのでそれに従ってもらうとして、チュートリアル上ではこの点に一切言及がないので結構なハマりポイントになってるかと思う。

チュートリアルが書かれたのがS3がアップデートされる前っぽいので仕方ない部分はあるにせよ、そこに合わせてチュートリアルの方も改定してくれよな、とは強く思った。

それとLambdaのランタイムではNode.js 6.10が指定されてるんだけど、本家の方ではサポート終了済み

一応8.10を選んでも動作はしてくれたけど、そこの情報知らない人だと戸惑うんじゃないかな。

その他、○○を押して..って指示する箇所がたくさんあるんだけど、そこの日本語訳が英語版の直訳なのか各サービスのアップデートに対応していないのかで読み替えが必要な箇所が多数。

それでも完走はできたからいいものの、そこに脳のリソース使うのは内容がいいだけにもったいないと感じた。

..とまあ、いろんなところで不満は感じたものの、最初に書いたとおりAWSやサーバレスアプリを初めて触る人にとってはいい勉強になると思うので、興味があったら挑戦してみて欲しい。