Media CDN と Google Cloud ロードバランサを使用したライブ配信
Google Cloud Japan Team
※この投稿は米国時間 2023 年 12 月 16 日に、Google Cloud blog に投稿されたものの抄訳です。
ライブ配信アプリケーションは、エンドユーザーのデバイスに質の高いエクスペリエンスを提供するため、ストリーミングを途切れさせることなく、遅延を最小限に抑える必要があります。ライブ配信のレンダリングで遅延が生じると、動画の品質やバッファリング処理が低下し、視聴率に悪影響を及ぼします。高品質のライブ配信を実現するには、信頼性の高いコンテンツ配信ネットワーク(CDN)インフラストラクチャが必要です。
Media CDN は、ストリーミング メディアを低レイテンシで世界中に配信するために設計されたコンテンツ配信ネットワーク(CDN)プラットフォームです。とりわけ、Media CDN は、YouTube のインフラストラクチャを使用して、動画ストリーミング(オンデマンド動画およびライブ)や大きなファイルのダウンロードをユーザーの近くから実行できるようにすることで、高速で信頼性に優れた配信を実現します。CDN の機能として、地理的に分散したサーバー ネットワークからユーザーの位置に基づいてコンテンツを配信することで、配信元サーバーから離れた場所にいるユーザーにより良いパフォーマンスを提供し、レイテンシも削減しています。
このブログ投稿では、ライブ配信プロバイダが動画コンテンツをより適切に提供するために、Media CDN インフラストラクチャをどのように利用できるかをご紹介します。Google Cloud やオンプレミス、あるいはまったく別のクラウド プロバイダなど、どこでライブ配信アプリケーションが実行されているかは問いません。Media CDN を送信元として Google Cloud 外部アプリケーション ロードバランサと統合すると、ライブ配信インフラストラクチャの場所に関係なく、ストリームのレンダリングに利用できます。さらに、質の高い視聴体験を提供するため、サービスの中断や停止が起こってもほとんどの種類にはライブ ストリームが耐えられるように Media CDN を構成することもできます。以下で詳しくご説明します。
ライブ配信
ライブ配信は、動画や音声コンテンツを放送局や再生デバイスでリアルタイムにストリーミングするプロセスです。通常、ライブ配信アプリケーションには、以下のコンポーネントが含まれます。
- エンコーダー: 動画を複数の解像度 / ビットレートに圧縮し、ストリームをパッケージャに送信します。
- パッケージャとオリジネーション サービス: コード変換されたコンテンツをさまざまなメディア形式に転送し、HTTP エンドポイント経由でレンダリングされる動画セグメントを保存します。
- CDN: レイテンシを最小限に抑えながら、オリジネーション サービスから動画セグメントを世界中の再生デバイスにストリーミングします。
Media CDN
Media CDN には、大きく分けて 2 つの重要なコンポーネントがあります。
エッジ キャッシュ サービス: パブリック エンドポイントを提供し、トラフィックを特定の送信元にルーティングするためのルート構成を有効にします。
エッジ キャッシュ送信元: Cloud Storage バケットまたは Google 外部アプリケーション ロードバランサを送信元として構成します。


上図は、アプリケーション ロードバランサとの統合により、Media CDN が Google Cloud、オンプレミス、外部のクラウド インフラストラクチャで実行されるライブ配信オリジネーション サービスを提供できるアーキテクチャを示しています。アプリケーション ロードバランサは、複数のバックエンド サービスへの接続を可能にし、それらのバックエンド サービスに接続するためのパスベースおよびホストベースの高度なルーティングを提供します。これにより、ライブ配信プロバイダは Media CDN を使用して、ライブ チャンネルを視聴するエンドユーザーの近くでストリーミングをキャッシュに保存できるようになります。
インフラストラクチャ全体の接続を容易にするためにロードバランサによって提供されるバックエンド サービスには、以下のようなタイプがあります。
- インターネット / ハイブリッド NEG バックエンド: 別のクラウド プロバイダやオンプレミスで実行されるライブ配信オリジネーション サービスに接続します。
- マネージド インスタンス グループ: 複数のリージョンにまたがる Compute Engine で実行されるライブ配信オリジネーション サービスに接続します。
- ゾーン ネットワーク エンドポイント グループ: GKE で実行されるライブ配信オリジネーション サービスに接続します。
障害復旧(プライマリ / フェイルオーバー送信元)


ライブ配信トラフィックの中断は視聴率に影響を与える可能性があるため、ゾーンやリージョンの障害に対する障害復旧計画が不可欠です。Media CDN は、障害復旧を容易にするプライマリ / セカンダリ送信元フェイルオーバーを提供します。
上図は、リージョン間でのフェイルオーバーを提供するアプリケーション ロードバランサの送信元を備えた Media CDN を表しています。これは、同じアプリケーション ロードバランサを参照する 2 つの「EdgeCacheOrigin」ホストを、異なる「ホストヘッダー」値で作成することで実現しています。それぞれの EdgeCacheOrigin は、ホストヘッダーを特定の値に設定するように構成されています。アプリケーション ロードバランサは、ホストベースのルーティングを行い、ホストヘッダーの値に基づいてライブ配信のトラフィック リクエストをルーティングします。
再生デバイスが Media CDN からストリームをリクエストすると、ホストヘッダーをプライマリ送信元の値に設定することで、アプリケーション ロードバランサを呼び出します。ロードバランサはホストヘッダーを参照して、トラフィックをプライマリ ライブ配信オリジネーション サービスに転送します。プライマリ ライブ配信プロバイダに障害が発生すると、フェイルオーバー送信元はホストヘッダーをフェイルオーバー送信元の値に書き換え、アプリケーション ロードバランサにリクエストを送信します。ロードバランサはホストを照合し、別のゾーンやリージョンのセカンダリ ライブ配信オリジネーション サービスにリクエストをルーティングします。
以下に、EdgeCacheOrigin の URL ホストの書き換え構成のスニペットを示します。
まとめ
Media CDN は、ライブ配信のエコシステムの重要な部分であり、ライブ配信のパフォーマンス向上、レイテンシ短縮、品質確保に役立ちます。このブログ投稿では、ライブ配信アプリケーションが複数の環境やインフラストラクチャにわたって Google Media CDN をどのように利用できるかをご紹介しました。Media CDN の詳細については、以下をご覧ください。
ー クラウド インフラストラクチャ エンジニア Kishore Jagannath