文化祭でWebアプリを作りました。

「20年後の未来を描く」というテーマで様々な展示を行い、私の班はWebアプリを作って、来場者の方に未来のアイデアを投稿してシェアしてもらおうというコンセプトでございます。

という前置きは置いておいて、自分が担当したバックエンドについて説明したいと思います。大体(というか全部)AWSを使っております.

Webページ

まず,ドメインは,Route53 というサービスで取得し,Webページは, S3 で静的ホスティングをしています.
これによってS3のバケットにhtml(+ css,js etc)を置くだけで,Webページが簡単に作ることができます.(AWSのアカウントがあれば本当にすぐできます.

参考:
独自ドメインを使ってAmazon S3で静的Webサイトをホストする

社会的要請(?)により,https化が望まれたので,CloudFront を使いました.
これが若干高い…

参考:
CloudFront で S3 静的ウェブサイトホスティングを SSL/TLS に対応させる

APIの提供

ユーザーは,アプリ上のjsからAPIを叩くのですが,これには API GateWay を用いました.これによってURL(+ http method)を入り口として,様々なアクションを起こすことができます.
今回のアプリは, Lambda を起動させます.
LambdaとはNodeやGoなどで書かれたプログラムを実行させるためのサービスで,これを利用して,コメント投稿時には,API GateWayを通して送られてきたユーザーのコメントをdynamoDBに挿入します.
dynamoDBを用いて,ユーザーのコメントを記録しておき,ページを開いたときには,jsがAPIを叩いて,API GateWay, Lambda を通して,コメントの内容を全て取得します.

外観

外観

結論

ドメインに10ドル
CloudFrontに0.5ドル
他は0.05ドル
くらいでEC2をずっと立てておくみたいな話よりだいぶお安くすみました.
あとサーバーレスってかっこいいよね.

余談

実は大部分をterraformで構築しました.これくらいの小さめのWebアプリを作ることがあれば,すぐ復元できます.