WBS(ワールドビジネスサテライト)砲に備えよ!サイトの安定運用のためにやったことをまとめました
この記事のポイントは…
テレビ番組出演に備え、放送中に一気に流入が来ると予想される自社サイトの安定稼働のためにCDN(コンテンツデリバリーネットワーク) を導入
サッと導入してパッと戻せる、なるべく現構成に手を入れない一時的な負荷対策としてもCDNは有効
放映中とその後一時間ほど、普段より2桁多いトラフィックにも自社サイトを安定稼働できた
9月6日、テレビ東京系列「WBS(ワールドビジネスサテライト)」でシックス・アパートの働き方SAWSについて「出社の必要無し? 驚きの「テレワーク」とは」と題した特集で、8分ほど取り上げていただきました。
昨晩(9/6)放映されたWBS(ワールドビジネスサテライト)のテレワーク特集で、弊社の働き方「SAWS」について取り上げられ、多くの反響をいただきました。
シックス・アパート株式会社さんの投稿 2017年9月7日
WBSといえば、多くのビジネスパーソンが見ている経済ビジネス情報番組。取り上げられた会社やトピックに対して、大量のウェブトラフィックが生み出されます。その反響の凄さは一部で「WBS砲」と言われるほどです。
実際の放映時には、シックス・アパートの公式サイトに普段より2桁多いトラフィックが流れ込んできました。今回は、事前に対策を行っていたので、安定したサイト閲覧ができる状況を保ちつづけることができました。
WBS放映前&放映中にシックス・アパートが行った対策を、エンジニア草野に聞きました。
草野
IT/MIS(経営情報システム) のマネージャー。会社のインフラから、DNSやメールの構築・運用を担当。
爆発的な大量トラフィックに備えるため、CDNを活用
ーー広報から「6日に放映が決まったんで、サイトの安定運用をなんとかよろしく頼みます!!」と、放映の数日前に丸投げしてしまいましたよね。その話を聞いて何から対応しました?
正直あまり時間もなかったので、取材内容などを詳しく聞いて、まずは喜んだ(笑)。
実際にやったこととしては、まず影響範囲を見積もってみました。テレワークというテーマでの取材だったので、トラフィックが増えそうな場所は、会社公式サイトのトップページと、シックス・アパートのテレワークを紹介する SAWS ページ。これらのサイトは、Movable Type を使って AWS 環境で運用しています。
Movable Type はスタティック(静的)にHTMLファイルなどを生成するので、もともと急なトラフィック増加には強いのですが、今回はテレビ放映なので念には念を入れて対策したい。
爆発的に増える時間は、放映が始まって数分から1時間くらいと想定しました。それが過ぎれば、通常時の構成で十分耐えるだろうということで、サッと導入してパッと戻せるよう、なるべく現構成に手を入れない対策を考えました。
ーー最小限の変更で対応出来るようにしたわけですね。具体的には何をやったのですか?
WBS砲の場合、基本的には短時間に大量のアクセスからくるサーバー負荷に対処することになります。
フロントエンドのWebサーバーの台数を増やすとか、Webサーバーの前に CDN(コンテンツデリバリーネットワーク) 入れるとか、いくつか方法があるんですが、今回はCDNの Amazon CloudFront を入れることにしました。
CDNは、多くのキャッシュサーバーにサイトのコンテンツをキャッシュさせておくことで、サイトへのアクセスを軽減させることができ、運用サーバに大きな変更が必要ないのがメリットです。
ーー既存の環境に、CDNを追加。それだけで大丈夫だったんですか?
CDNでキャッシュさせて、負荷を軽減するというのはわかりやすいし、簡単に効果を発揮してくれそうですが、ただ入れただけじゃダメでした。
CDNはあくまでキャッシュサーバーなので、適用させたら逆効果なコンテンツ、動作しないコンテンツが出てきます。それらは事前にリストアップしておく必要があります。
例えば、Movable Type の Data API を使っているところでは、利用方法や更新頻度によっては、キャッシュの効果が期待できない場合もあるし、その場合は別の負荷対策も必要です。
HTTP Authorization(BASIC 認証など)を利用しているページがあれば、そこはCDNはバイパスして、本来のWebサーバと通信させてあげないといけない。
多くのCDNはちゃんとこういうニーズに応えられるようになっています。CDNの導入で大変なのは、導入サイトのコンテンツを把握して、キャッシュすべき場所やその設定を設計する事かもしれません。
ーーなるほど。CDNをどう設定すべきか、Webサイトに関わるチームとの認識合わせが必要ですね。
はい。シックス・アパートの公式サイトも、多くの人が関わり、常にあちこちのページが更新されています。
CDNのキャッシュを入れると、コンテンツを更新してからそれが実際にブラウザに表示されるまでにタイムラグが出るようになります。
キャッシュを1時間に設定したら、1時間はキャッシュされた情報が配信されます。即座に更新したいニュースは、それだと困る。じゃあ5分ならいいかな?15分は?この適正値は本当に難しいです。
今回は一時的に入れるだけなので、関係者全員にCDNを設定したことを共有し、必要に応じて、手動でキャッシュを更新する形で対応しました。
ですが、日常の運用でCDNを上手に活用するには、サイトやそのコンテンツごとに適正値が全く違うはず。運用するみんなで探って行かないといけない部分です。
前日にCDNを設定し動作確認、当日はただ見守る
ーー放映日前日から Web側の対策は始まっていましたね。具体的にはどんなことをしていたのでしょうか?
動作確認も含めて、前日のうちには、キャッシュを5分と短めに設定したCDNを設置しました。
同じく前日にWeb制作チーム側では、WBS放映を見てやってくる訪問者向けにサイトのコンテンツの追加更新を行っています。更新したコンテンツが正しく取得されるか、CDN経由でトラフィックをさばけているかなど、Web制作チームと連携しつつ一通りの動作確認をしておきました。
ーーそして、当日ですね。
放映の1時間前までにサイトの更新をすべて終わらせ、CDNのキャッシュ設定を30分に変更しました。
実際の放映中は、ただ見守っていただけです。
ーー放映中、実際に大量のトラフィックがきましたよね。
シックス・アパートのテレワークの話題になってすぐに、ぐんぐんトラフィックが増えましたね。これがWBS砲か!と興奮しました。テレワークのパートが終わって数分で、あっという間に引いていきました。CDNのおかげで、バックエンドのサーバは爆発的なアクセスもどこ吹く風で、ずっと安定してました。
Google Analytics で見ると、放映中の23時台が突出
ーー大量に検索からアクセスが来てましたね。トップページが多く見られ、次に会社概要、人材募集、製品、SAWSについてなどが見られていたようです。対策のおかげで、ピークの時間もサイトの閲覧は安定していて、安心しました。
終わったら、後片付け
ーー対応お疲れ様でした。終わったら後は、戻せば良いだけでしょうか?
導入するには調査が必要でしたけど、CDNを撤去するのは簡単です。DNSの設定を戻して、CDN側は設定を削除するだけ。今回、バックエンドのサーバは、設定変更をしていなかっため、一切触らずにすみました。
今後も爆発的なアクセスに備える時には、CDNで対応したいと思います。最近は CloudFront や Cloudflare など、気軽に利用出来るCDNサービスが増えて、使いやすくなっていますしね。
まとめ
9月6日23時のWBS放映を前に、シックス・アパートが公式サイトの安定運用のため行った対策については、以上の通りでした。
テレビ取材はスピーディーで、取材から放映までは数時間から数日というのもよくあることです。今回 CDNを活用することで、短期間で対策し、原状復帰することができました。
テレビで取り上げられるような、短時間に大量のトラフィックが来そうなとき、この記事を思い出していただければ幸いです。
Six Apart をフォローしませんか?