特集
» 2018年12月05日 05時00分 公開

テラbps級のトラフィックに挑んだ「72時間ホンネテレビ」の裏側:総視聴数7400万でも障害ゼロ、AbemaTVが72時間のライブ配信に成功した理由 (1/3)

AbemaTV社が開催した「AbemaTV Developer Conference 2018」で、サイバーエージェント 技術本部 インフラエンジニアの柿島大貴氏は、2017年11月に配信した「72時間ホンネテレビ」を障害なく実現するため、開発本部が取り組んだ施策について説明した。

[石川俊明,@IT]

 会員登録不要で、誰でも無料で視聴できるインターネットテレビ局「AbemaTV」。2017年11月2〜5日、稲垣吾郎さん、草なぎ剛さん、香取慎吾さんの3人が出演した「72時間ホンネテレビ」は総視聴数が7400万を超え、配信内容に関する複数のハッシュタグがTwitterでトレンド入りするなど話題になった。AbemaTV社では、サーバを一度もダウンさせず視聴者へライブ配信を届けるため、開発本部による“総力戦”が行われていたという。

 AbemaTV社が2018年10月13日に開催した「AbemaTV Developer Conference 2018」でサイバーエージェント 技術本部 インフラエンジニアの柿島大貴氏が発表した「『72時間ホンネテレビ』の負荷対策とその裏側」の内容を要約してお伝えする。

ある失敗を基に「配信負荷対策」を開始

 同社では、AbemaTVのシステム本体を「Google Cloud Platform」(以下、GCP)に構築し、連携するシステムを「Amazon Web Services」(以下、AWS)やプライベートクラウドなどに構築している。GCPが配信する番組の動画データ(セグメントファイル)は「Akamai CDN(Content Delivery Network)」を用いてCDNのキャッシュサーバに保存している。

2017年5月時点のAbema TV 簡易全体図 2017年5月時点のAbema TV 簡易全体図

 柿島氏は「このような構成で運用していたが、“ある失敗”を基に負荷対策を始めた」と説明する。“ある失敗”とは、2017年5月7日のライブ配信「亀田興毅に勝ったら1000万円」だ。番組を視聴しようとしたユーザーからのアクセス負荷に耐え切れず、試合開始と同時にサーバがダウンした。

参考記事:「亀田興毅に勝ったら1000万円」AbemaTV史上最多アクセスでサーバダウン(ITmedia NEWS)

 柿島氏は「膨大なアクセスによるサーバダウンが起きないよう、アクセス負荷対策の検討を始めたが、AbemaTV本体システムがあるGCP側で発生した不具合による障害も発生した」と振り返る。

 サーバダウンや障害を受け、柿島氏は、どこが原因でどのような障害が発生したか把握するため、サービスの構成と障害のマッピングを実施。GCP由来の問題への対策が急がれる一方で、年末にも膨大なアクセスが予想される特別番組が控えていたため、社長による決断の下、GCP由来の障害対策よりアクセス負荷対策を優先する方向へ舵を切ったという。

システムの構成図に障害件数、障害時間をマッピングした システムの構成図に障害件数、障害時間をマッピングした

 2017年9月予定の負荷対策プロジェクト始動に向け、柿島氏はアプリやブラウザでAbemaTVの番組を視聴した際にどういったリクエストがサーバへ送られているのか、分析を行った。

 「HTTP通信モニタリングツールの『Charles Web Debugging Proxy』や、ブラウザに搭載されている開発者用ツールを利用して調査した結果、番組視聴中に多数のリクエストがGCPへ送られていると分かった。メトリクス分析からは、『アプリの起動時』と『CMの開始時』という“特定のタイミング”でリクエストが増大すると判明。そこで視聴数に応じて増えるリクエストと、特定のタイミングで増大するリクエストの2種類について、負荷対策を考える必要があった」

負荷対策前の問題2種類のリクエスト クライアントからのリクエストがGCPに多く届いており(左)、2種類のリクエストを減らす必要があった(右)
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。