Google Cloud でライブ動画用のネットワークを最適化する方法
Google Cloud Japan Team
※この投稿は米国時間 2021 年 2 月 2 日に、Google Cloud blog に投稿されたものの抄訳です。
世界規模のパンデミックによって非常に多くの業界が影響を受けたように、メディアとエンターテイメント業界も、放送局が「途切れることなく番組を配信できる」ようにするため、アドホック ソリューションを作り出すことを余儀なくされました。この状況に対応するため、メディアの制作、配信、利用体系が大きく変化し、すでに進行中だったバーチャル ワークなどのトレンドの加速化と定着につながりました。Google Cloud は、ライブ TV のサプライ チェーンの長期にわたる進化において重要な役割を果たします。
2020 年には、インターネットも前例のない需要に直面しました。インターネット エクスチェンジ(IXP)は、2020 年第 1 四半期中の、国ごとの利用帯域幅の総量について、最大 60% の増加を記録しました1。Google は、独自の世界規模の光ファイバー ネットワークとクラウドへのアプローチにより、放送局が帯域幅のボトルネックに悩まされないように、メディア サプライ チェーンに、他社と一線を画する機能を提供しています。
さらには、オープン プラットフォームを作り、Google とパートナーとの連携を容易にするという哲学に沿い、著名なメディア テクノロジー企業と共同で包括的なパートナーシップ エコシステムを作り上げました。
本ブログ投稿は、メディア分野のお客様およびパートナー様と日々緊密に連携する Google Cloud チームによるシリーズの第一弾です。今回の記事では、高品質の動画配信に欠かすことのできないネットワークのセットアップと構成に関するベスト プラクティスを共有します。
1. ネットワークと VM の把握、調整
ライブ動画の配信には、一貫性の高いネットワーク パフォーマンスが必要です。動画ストリーミングの制作と配信には、次の要素を考慮することが重要です。
レイテンシ(ポイント A → ポイント B のパケット送信にかかる時間)
ジッター(レイテンシの揺らぎの推移)
パケット ドロップ(ポイント A → ポイント B で失われるパケットの数)
ネットワークと VM を把握し、調整するポイントをご紹介します。
ネットワーク ベースライン: レイテンシ、ジッター、パケット ドロップについて、現在のネットワークのパフォーマンス レベルを把握します。
調整: レイテンシ、ジッター、パケット ドロップを補正するため、次の手順に沿ってクラウド送信エンドポイントを調整します。
パケット ドロップ(特に長距離)を管理するため、適切な量のエラー訂正と冗長性でロスレス オーバーレイ プロトコルを調整します。Secure Reliable Transport(SRT)、Zixi、Reliable Internet Stream Transport(RIST)/ SMPTE 2022-7 などの適切なメディア オーバーレイ転送プロトコルを選択します。
レイテンシとジッターは距離、中間処理の数、転送ステップにより変化します。そのため、両方のパラメータを計測し、必要に応じてアプリまたは VM のネットワーク バッファ受信を調整します。
VM の測定: VM のサイズを最適化し、OS の変更(Linux 環境内)を調整すると、動画の転送パフォーマンスに直接影響します。次のような調整方法があります。
ゲスト OS の「受信」バッファのサイズを変更する。
メディアの転送に使用している VM(上り / 下り(内向き / 外向き)トラフィックを担当)が、継続して 50% 以上の CPU 使用率で稼働している場合、高パフォーマンス(CPU / RAM)のマシンタイプに変更する。どのネットワークでも、ワークロードまたはネットワークのジッターによって、CPU の使用率が一時的に急増することは避けられません。それに対応するため、空き容量を残しておくことをおすすめします。
転送プロトコルに全面的に高度なエラー訂正、バッファリング、冗長性を適用するのは非効率で、ネットワーク トラフィックと CPU のオーバーヘッドが大幅に増加する可能性があります。Google Cloud のネットワークを利用すると、次の 2 つの方法でレイテンシとジッターの小さいシステムを作成できます。
Google の世界規模の光ファイバー ネットワークは、専用バックボーンを経由して、異なる大陸とリージョンを直接接続します。これで、すべてのリージョンが 1 つのネットワーク ホップ内に集結します。余分なネットワーク ホップや、サードパーティの転送に関する同意によって妨げられることがありません。
お使いのアーキテクチャにおけるジッターとレイテンシの理解を深めていただくため、PerfKit Benchmarker を公開しました。
徹底したテストのセットアップと実行については、今後のブログ投稿で解説します。それまでの間は、Google Cloud での一般的なネットワーク測定とインストルメンテーションに関する以前の投稿をご覧ください。
2. クラウドへの取り込み
Google Cloud に未加工のメディア ストリームは、ビジネス要件に従い最適な取り込み方法を定め、公共のインターネットまたは相互接続を経由して取り込むことができます。どちらの場合も、SRT などのロスレス プロトコルを利用することをおすすめします。
公共のインターネット:
公共のインターネットを使用する場合は、ロスレス プロトコル オーバーレイを設定した TCP または UDP を使用する可能性が高くなります。一般的に、ロスレス オーバーレイを設定した UDP(SRT など)をおすすめします。オンプレミスから VPN を経由して Google Cloud にシグナルを転送することもできます。SRT などのセキュアなトランスポートを使用している場合、VPN を使用する必要性は低くなりますが、セキュリティのない他のプロトコルを使用する場合には、引き続き VPN が必要になります。
Google Cloud VPN は VM ベースの単一障害点ではありません。トンネルごとに最大 3 gbps の帯域幅を提供するリージョンのスケールアウト サービスです。さらにトンネルをセットアップして帯域幅を広げることができます。また、99.99% のサービスの可用性を提供する HA 構成でも VPN が利用可能です。Google Cloud VPN はプレミアム ネットワーク ティアを使用します。VPN トンネルの使用率が過大でボトルネックとなる前に、その使用状況の通知を事前に受け取ることで、パケットロスを防止しシステムの復元力を高めることができます。
VPN を使用していない場合は、公共インターネットでの取り込みに Google プレミアム ネットワーク ティアの利用をおすすめします。送信元からのトラフィックが、その送信元に最も近い拠点から Google のネットワークに到達します。
相互接続:
高スループットなストリーミング、特に UDP / RTP ベースの取り込み方法には、専用接続(Dedicated Interconnect またはサービス プロバイダ経由の Partner Interconnect)の利用が一般的です。相互接続タイプを選択するときは、接続ロケーションや必要な容量などの接続要件を考慮してください。どちらのタイプの相互接続も、99.99% の SLA を達成する冗長性で構成されます。Google のピアリング サイトで、Google Cloud の相互接続のベスト プラクティスをご覧ください。
3. 配信
現在、放送局とメディア企業には 2 つの大きな配信のニーズがあります。1 つはリニアなチャネルやストリーミングを他の従来の MVPD、パートナー、オペレーターに送信することで、もう 1 つはアプリケーションやスマート TV を通じて視聴するエンドユーザーに VOD やライブ トラフィックを直接送信することです。
従来の MVPD、パートナー、オペレーターへの配信
Google のグローバル ネットワークは、3 つの重要な分野である到達性、信頼性、パフォーマンスすべてについて、飛躍的に向上したクラウドベースのメディア送信機能を配信事業者に提供する、他社には見られないソリューションです。
到達性: 91 のグローバルな直接相互接続ロケーションを備えた、地球全体で利用できる 1 つのネットワークによって、世界中のどのリージョンから発生したフィードでも、適切なクラウド内の処理とトランスフォーメーション後に,、他のどのリージョンにも転送できます。これにより、メディアを配信パートナーに届けるためのビジネスの要件に確実に応えることができます。
信頼性: グローバル ネットワークは、さまざまな障害や輻輳が起きた場合でも、データ配信に最適な別の方法をインテリジェントに見つけることで、自己修復できるように設計されており、お客様の労力を最小限にとどめます。このオペレーションは自動的に処理されます。Google は、DDoS の脅威などの高度な攻撃から保護するためのメカニズムを考案してきました。Google のインフラストラクチャは、2017 年 9 月に 2.5 Tbps の DDoS 攻撃を吸収できました。これは、今までに報告された中で最も高い帯域幅の攻撃でした。Google Cloud Armor を Google の Cloud Load Balancing サービスに統合してデプロイすることで、大規模な DDoS 攻撃を吸収するようスケールでき、Google Cloud、他のクラウド、オンプレミスにデプロイされたサービスを保護できます。
パフォーマンス: ネットワーク スタックにおける Google のイノベーションによって、リージョン内、リージョン間に非常に高いネットワーク パフォーマンスを提供します。これは、スループットを高め、レイテンシ、パケットロス、ジッターを低減して、パートナーにメディアを送信できることを意味します。
OTT と直接(DTC)配信
ストリーミング メディアの普及に伴い、世界中のエンドユーザーにペタバイト規模のコンテンツを配信する必要性が生まれました。エンドユーザーは、その場所、接続方法、使用機器、ラスト ワンマイル ISP が大きく異なっています。
Google Cloud CDN は、世界のすべての地域に、迅速で効率よく、高い信頼性でコンテンツを配信するために構成されています。Cloud CDN はコンテンツを世界中の 100 を超えるロケーションでキャッシュに保存し、144 のネットワーク エッジのロケーションに渡すことでユーザーの近く(通常、ISP 経由の 1 つのネットワーク ホップ内)にコンテンツを置き、ユーザーに最高水準のコンテンツ エクスペリエンスを届けます。さらに Cloud CDN を使用することで、QUIC を経由する高速 SSL handshake、BBR を経由する高度な輻輳制御、グローバル エニーキャスト IP を経由する効率的な DNS 管理、大規模な DDoS 吸収など、10 年以上にわたるエッジ イノベーションの利益を実感できます。
Cloud CDN はどの配信元からでもコンテンツを提供できますが、マルチリージョン バケットなどの高度な機能を備えた Google Cloud Storage(GCS)を利用すると、Google のイノベーションをさらに活用して、ユーザーの満足度を向上させることができます。
4. 測定、モニタリング、改善
PerfKit Benchmarker は Google で開発されたオープンソース ツールで、複数のクラウド環境やハイブリッド環境にまたがってパフォーマンスの測定と把握ができます。PerfKit Benchmarker を使用すると、レイテンシ、スループット、ジッターなどのパフォーマンス指標を可視化、測定できます。チュートリアルにはこちらからアクセスできます。
Google Cloud はハイブリッド デプロイにまたがる包括的でプロアクティブなモニタリング、トラブルシューティング、最適化機能を備えた Network Intelligence Center を提供します。現在、Network Intelligence Center では接続テスト、ネットワーク トポロジ、パフォーマンス ダッシュボード、ファイアウォール インサイト の 4 つのサービスが利用できます。詳細で、これらのサービスを使用してもっとも一般的なネットワークの問題を解決する方法をご覧ください。
まとめ
クラウドでの高品質の動画配信には、適切なネットワークのセットアップと構成が欠かせません。Google のグローバル ネットワークは、メディアのユースケース向けに適切に調整された高機能システムをお客様に提供し、お客様はブロードキャスト システムで高い信頼性とパフォーマンスを実現できます。
固定、不変のネットワーク システムはありません。Google Cloud のネットワークはモニタリングとインサイト用にすぐに使えるツールを提供します。これにより、お客様のブロードキャスト パートナーとユーザーのニーズが進化を続け、絶えず変化する環境で全体的なパフォーマンスを継続して測定、改善できます。
-メディア配信担当ソリューション リード Anshul Kapoor
-Google Cloud プロダクト マネージャー Manasa Chalasani