期間限定の巨大プロジェクト・米国大統領選の裏側をAWSの中の人に聞いた:AWS情報アップデート 短期決戦プロジェクトの立ち上げ方(2/2 ページ)
200アプリ、サーバ台数数千、数約TBのデータ処理をこなしながら、数十万同時接続ユーザーに耐えるシステムを期間限定で構築するには?
「OFAプロジェクトの募金システムは世界第30番目に大きなECサイトでもありました」(ワード氏)
選挙戦で必ず必要となるのが、募金を受け付けるシステムだ。OFAプロジェクトではAmazon Flexible Payments Service(FPS)を利用して決済部分もクラウド環境下に構築している。
“大陸横断”3000Km向こうへのデータ転送は9時間で
システムを最初に立ち上げたのは、東海岸のAWSデータセンター。約3カ月で選挙戦に使う全てのシステムを東海岸データセンター上に構築完了したという。
東海岸のボルチモアにあるデータセンターで全てのシステムを構築、今度は西海岸のデータセンターに対して一部のシステムを冗長化させている。データセンター間の物理的な距離は約3000Km。北米大陸の東から西へのまさしく“大陸横断”でのデータ転送だ。
「この作業は約9時間で完了した」(ワード氏)
データ転送には、TCPではなくUDPをベースにした高速転送プロトコルである「Tsunami UDP Protocol」を採用している。
失敗できない日のためのオペレーショントレーニングを実施
トラフィックがピークに達する選挙当日にシステムダウンすることは絶対に避けなければならない問題であったことから「OFAプロジェクト内で、ゲームデイを設定、攻撃者と防御者に分かれて、課題の洗い出しと対策を定期的に実施した」という。
「選挙当日のシステムダウンは何があっても避けなければならない。だからこそ、事前にどれだけ多くの失敗ができるかが重要だった」(ワード氏)
短期決戦アプリケーションなら雲の上が優位か
前回の大統領選挙が行われた2008年ごろはまだクラウドサービスが少ない時期だったこともあり、いずれの陣営も自前でサーバを調達してシステムを構築していたという。
「当時はシステム立ち上げに時間がかかったのはもちろんだが、選挙終了後のシステム撤収には数カ月の時間が必要だった。プロジェクトそのものが終わった後に、サーバ機を売り払い、全てのIT資産を整理するのに4カ月くらいの時間が必要だったのを記憶している」(ワード氏)
ワード氏は、今回AWSサービスを採用したことで「参加者が少ないスタート時点で最小構成で立ち上げ、ユーザー数の増加や負荷動向を見ながらインスタンスを追加していく方法を採用できた。立ち上がりも、プロジェクト終了後のコストも最小限に抑えられた」と、プロジェクトを振り返る。
立ち上がりスピードを重視して個々のシステムの独立性を高め、疎結合とすることで、個別システムの障害の影響範囲を最小限にすること、ボランティアベースの開発者に学習コストを掛けさせずにスキルを発揮させること、極端なピークがあることを想定し、事前に(余裕のある時点で)ゲーム形式の攻撃シミュレーションや負荷テストを実施したこと、インフラ全体をクラウド上に置くことでハードウェア資産管理に関わる工数を不要にしたことなどは、同様に「瞬発力」が求められるプロジェクトで大いに参考になる内容だろう。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- AWSでリージョン間のマシンイメージコピーができるように
AWSは、リージョンを越えたマシンイメージコピー機能を提供する。先に発表済みの転送料金の値下げと併せ、利用シーンに併せたリージョン選択や分散を容易にする。 - Elastic BeanstalkはNode.jsに対応:AWS、VPCをEC2のデフォルトに
米Amazon Web Services(AWS)は3月11日、Elastic Compute Cloud(EC2)のユーザーに仮想プライベートクラウド(VPC)をデフォルトで提供すると発表した。 - CloudStackによるプライベートクラウド構築術(10):Apache CloudStack開発用クラウド環境の構築
Apache CloudStackの開発に参加してみる? CloudStackそのものへの理解を深める情報源も紹介していきます。 - ユカイ、ツーカイ、カイハツ環境!(30):DevOps時代の開発者のためのOSSクラウド運用管理ツール5選まとめ
DevOpsという観点で、クラウドに使えるオープンソースの運用管理ツールとして、Zabbix、Hinemos、Hyperic HQ、Scalr、Aeolusの特徴をまとめて紹介します。