1クール続けるブログ

とりあえず1クール続けるソフトウェアエンジニアの備忘録

【AWS Re:Inventレポート】SVS201-R - [REPEAT] Build a serverless web app for a theme park

SVS201-R - [REPEAT] Build a serverless web app for a theme park

セッション会場(MGM)まで

初日の朝8時半に滞在先のTreasure Islandを出て、Mirageシャトルバス乗り場に向かいました。 Mirageシャトルバス乗り場は北口にあり、前日に行ったVenetianに比べ遥かにわかりやすかったこともあり、すんなり乗り場までたどり着けました。 シャトルバスも特に混むことなく、ゆったり過ごせた印象があります。

MGMに入った後に荷物検査を行うところがあるのですが、ゲート的なところを通るときにセンサーがあり、それに引っかからなければ荷物検査を受けることになるみたいです。なぜか自分は引っかかってしまい、荷物を見せる形になりました。
階段を上がると、DeepRacerの大きな会場が左手に見えます。自分はそこから右手に行く形となりました。レストラン街を進むとT字路が現れましたが、そこを左に行き、階段を下り右亭に行くと会場が見えました。そこでも荷物検査があったのですが、なぜか引っかかりませんでした(なぜ?)。

Walk-Up初挑戦

行こうと思っていたセッションはReserve出来ていなかったので、Walk-upで入ることにしました。ask meの方にどこがWalk-upの列かを聞き並びました。並ぶと前後の方とかで世間話があったんですが、自分の英語力の無さ故に入れず悔しい思いをしました。これはWorkshopの間続きます(悲しい)。

Workshopの内容

テーマパークのアプリを作成することになります。機能は下記です。

  • アトラクションを地図上に表示する
  • 待ち時間見積もりの更新を受け取り表示する
  • グリーンバックで撮った写真を加工し背景をテーマパーク風に加工する

使用したAWSサービスは下記でした

  • Cloud9
  • Amplify
  • Lambda
  • CodeCommit
  • DynamoDB
  • S3
  • CloudFormation(samを通して)

資料は既にパブリックになっています。

github.com

Workshopの流れ

イベント用のページURLが書かれている紙がテーブルに用意されているので、それを利用する。一緒に書かれているチームハッシュを入力すると、AWSコンソールに入れるようになる。
スピーカーの人がハンズオン用のURLを共有してくれるので、それを手で打って開始。
ほとんどリスニングでなくリーディングになるので、結構楽です。ただテーブルを囲む形で着席するので、会話が活発に起こっているテーブルもありました(自分のいたテーブルです)。

感想

自分が扱っているサービスはコンテナとそれに関わるサービスだけなので、S3以外は初めて触りました。
Lambdaのデプロイはコンソールからとsam-cli経由のものが経験できてよかったです。Cloud9はAWSに買収される前に使っていたので懐かしい気持ちになりました…(見た目の感じはだいぶ変わっていましたが)。

それぞれの連携のされ方は実際触ってみると勉強になりますね。 AmplifyとCodeCommitだと下記のような形です。
CodeCommitの中身(https://innovator-island.s3-us-west-2.amazonaws.com/front-end/theme-park-frontend.zip) -> Vue.jsを使ったPWA

  • CodeCommitでリポジトリを作成する
  • AmplifyのセットアップでCodeCommitのリポジトリ(+ブランチ)を指定する
  • CodeCommitのPushごとにAmplifyのデプロイが走る

f:id:jrywm121:20191203060809p:plain
Amplifyでデプロイされる様子

SAMで色々作っていたのもびっくりしました。DynamoDBからCognitoまで…本番運用されるときにここまでSAMに任して大丈夫なのかはちょっと分かりませんが…。
下記のリソースをデプロイしていました。

  • 2 Lambda functions and a Lambda Layer
  • 3 S3 buckets
  • A DynamoDBTable
  • A Cognito UserPool
  • An AWS IoT thing
  • Several IAM Roles and Policies.

使ったことないサービスを使って実際に動かせるのは得だなーと思いました。