JAWS-UG九州勉強会レポート 第4回
災害にクラウドとコミュニティはどう役に立つのか?勉強会で明らかに
熊本地震で漏水・給水情報を伝えたmizuderu.info開発の舞台裏
2016年10月19日 07時00分更新
9月18日に行なわれたJAWS-UG熊本の勉強会では、4月に起こった熊本地震で漏水・給水情報を伝えるためコミュニティで開発されたmizuderu.infoの舞台裏が披露された。東日本大震災でのサイト復旧に大きく貢献したクラウドは、今回どのように活用されたのだろうか?
熊本地震のmizuderu.infoはどのようにAWSを活用したか
mizuderu.infoは4月の熊本地震の際、被災地の水の調達場所、漏えい場所を知るために有志によって作られたサービス。スマホアプリの地図上から地点をタップし、写真などで状況を投稿できる。4月16日の本震から30日までの約2週間で、全6205件の水に関する報告(出ない4304件、出る1478件、提供可能87件)、全153件の漏水報告(画像ありが105件)が寄せられたという。熊本大学病院に務めているJAWS-UG熊本の山ノ内祥訓さんは、発起人である崇城大学情報学部 和泉信生助教の代役として、mizuderu.infoの概況やタイムライン、プロジェクトの進捗について説明した。
本震当日:和泉助教のつぶやきから約2時間で初期版がリリース
熊本地震は14日の夜の前震を経て、16日の朝に本震が起こっている。mizuderu.infoは本震直後の和泉助教のつぶやきから有志による開発がスタートし、2時間後の16日15時頃には初期バージョンがリリースされた。
開発は当然ながらすべてリモートで行なわれ、初期バージョンの開発は福岡近くの実家にいた崇城大学2年生の菊川稀玲さんが手がけ、学生の実家にいた和泉助教がプロジェクトマネージャーを担当。その他、和泉研究室の卒業生であるフリーエンジニアの村上卓さんが避難所で、新垣圭祐さんが車の中でメインのプログラミングを行ない、インフラとコミュニティ連携を山ノ内さんが担当するという体制だったという。
初期バージョンはHTMLとPHP直書き+MySQLで実装。機能面ではまず「水が出る」「出ない」を地図上にプロットするというシンプルな実装からスタートし、その後はポップアップや投稿情報を時系列で絞り込めるフィルタ機能などが追加された。バックエンドは、EC2 Classicのt1.microにLAMP環境を載せたシンプルな構成。開発はFacebookのグループでやりとりしながら、「ぶん投げ開発スタイル」「脳内タスク管理」「フィーリング実装」(山ノ内氏)で行なわれたという。もちろん、避難所のメンバーもおり、余震に怯える中で「コーディング時の姿勢がきつい」「バッテリが切れるので、今日はコミットできない」などの劣悪な作業環境だった。
本震翌日:本職の参入とAWS環境の強化
初期バージョンはスピード優先だったが、16日夜からはデプロイを容易にするため、Elastic Beanstalkの導入準備がスタートした。そして、本震の次の日にあたる17日には「第二形態」であるElastic Beanstalk化した初のリリースが行なわれた。アマゾン ウェブ サービス ジャパンからは特別クーポンも提供され、コスト面での憂いもなくなったという。
同時に和泉助教のつながりのあるエンジニアがFacebookグループに招集され、17日の午後にはJAWS-UGや関西PHPグループが開発・運用に参加。本職のエンジニアが次々と参加したことで、開発は一気にスピードアップした。IPアドレスで外部公開され、非VPCだったAWS環境も「第三形態」に進化。17日の夕方から18日の昼にかけて、最新のt2.microの導入、VPC内への移動、MySQLのRDSへの分離、さらにAutoScaling設定とELBの追加などが一気に行なわれ、ドメイン取得とRoute53の運用も開始された。そして同日の夜にはSNSでの拡散がスタートし、投稿もさらに増え始めたという。
本震後2日目以降:NHK砲到来にも耐えたAWSのインフラ
ユーザーグループの参加で、大量のプルリクエストが行き交い、「なにも考えずにマージしたくなる状態」(山ノ内さん)だった18日。負荷対策として、インスタンスがm3.medium 4~8台という構成に変更され、ついにCDNサービスであるCloudFrontまで導入。夜にはmizuderu.infoについて放送したいわゆる「NHK砲」が到来したが、無事にトラフィックをさばくことができた。まさにクラウドの本領発揮と言える。
わずか2日で急成長したmizuderu.info。投稿は4月20日をピークとし、1週間かけて緩やかに収まっていった。現在はサービスを完全に停止しているが、MITライセンスで公開されているため、フォークして利用することが可能だという。
この連載の記事
-
第9回
デジタル
JAWS-UG福岡の青柳さん、AWS Mobile Hubでデスクトップアプリを作る -
第8回
デジタル
オルターブース「マイソースファクトリー」の半分はAWSでできている? -
第7回
デジタル
技術話、脱藩話、採掘話まで楽しめたJAWS-UG福岡勉強会 -
第6回
デジタル
黒い画面とは友達になれない!だから西村さんはサーバーレス -
第5回
デジタル
戸田さんがJAWS-UG大分で語ったコンテナの基礎と活用法 -
第3回
デジタル
なぜクラウド?からサーバーレスまで「はじめて」づくしのJAWS-UG大分 -
第2回
デジタル
今週末はJAWS-UG秋の大分熊本勉強会ツアー、もちろん両方行きますよ! -
第1回
デジタル
JAWS FESTA Kyusyu 2015で聞いた九州のクラウド事情 -
デジタル
JAWS-UG九州勉強会レポート - この連載の一覧へ