「数百万人が同時視聴する大規模配信でも、配信が実施できる限りログも必ず収集する」。2月18日~20日に開催されたウェビナー「TECH+ EXPO 2025 Winter for データ活用 データを知恵へと昇華させるために」で、AbemaTV Development Headquarters Data Engineerの山村英貴氏が「ABEMAログ基盤のクラウドベースリアーキテクチャの内容と運用について」と題して講演。サービス成長の裏側で進化し続ける動画ストリーミングプラットフォーム「ABEMA」のデータ基盤の舞台裏を明らかにした。大規模スポーツイベント配信など、視聴者数が歴代最高を更新するような瞬間でも確実にデータを収集し、迅速な分析を可能にした取り組みの詳細とは。

※なお、資料はSpeakerDeckのサイバーエージェント公式カテゴリで共有されている。

歴代最高視聴数も確実に計測 - 大規模配信を支える3つの要件

山村氏はまず、リアーキテクチャに至った背景として、2022年の世界的スポーツ大会での安定稼働を見据えたログ基盤の要件整理から始めた。

主な要件として挙げられたのは、迅速なプレスリリース配信を可能にするレポーティング要件、「配信が実施できる限りログも必ず収集する」という高い信頼性を確保する安定性要件、そしてスケーラビリティを実現するインフラキャパシティの柔軟性だった。

「データ基盤の最終的なアウトプットであるレポートに関して、日時集計の遅延を最大でも数時間程度に抑え、視聴者数が歴代最高を更新した際にも迅速にプレスリリースを打てるようにするという狙いがありました。また、配信状況が正常にもかかわらず、ログ収集状況が異常になると、仮に歴代最高視聴数を記録していても正確に計測できないという非常にまずい状況になってしまいます。さらに、予想を超える負荷がかかった場合、リソースの追加から実際のスケールアウトまで1日から数日以内で対応できる必要がありました」(山村氏)

リアーキテクチャ以前のABEMAのログ基盤は、各種デバイスからのHTTPリクエストをCloudFrontで受信後、EC2インスタンスで前処理を行い、Kinesis Data Streamsに書き出し、その後サイバーエージェントのプライベートクラウドを経由して最終的にBigQueryに格納する構成だった。

  • リアーキテクチャ前の構成

この構成では、予測不可能な定常負荷の増大に対応することが難しい課題があった。「問題はプライベートクラウドを利用している箇所だった。データセンターの制約を受けるため、リソースの柔軟性はパブリッククラウドに比べて劣るものがあった」と山村氏は振り返る。

フルクラウド化への道 - バッチとストリームの2層構造で実現した安定性

この課題を解決するため、ログ基盤全体をパブリッククラウドで完結させるリアーキテクチャを実施した。新たな構成では、処理をバッチレイヤーとストリームレイヤーの2つに分離。バッチレイヤーでは、CloudFrontのアクセスログをS3に出力し、Lambdaで行動ログに変換後、Google Cloud Storage(GCS)へStorage Transfer Serviceで転送、最終的にBigQueryへ1時間ごとにバッチロードする仕組みを構築した。

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら