今回お問い合わせが急増したコロナの影響による既存の動画配信をCDNで負荷分散するためには、どのような構成で何に注意すべきかご紹介します。
近年コロナ騒動で世界経済が混乱しています。外出禁止や海外からの渡航者を入国禁止にするなど、日々各国が対策に追われていますが、日本も例外ではなくテレワーク・学校休校という事態が続いており、ここで打撃を受ける事業の一つが教育関連です。日本は海外と異なりまだまだオンライン授業というものが普及しているとはいえません。
大学や学習塾などは一部オンラインで既に授業を展開している所も散見されています。オンライン授業は主にVOD配信で視聴することがおおいでしょうが、設備が整っている所はライブでの授業も行えるでしょう。ここで重要になってくるのはカメラなどの撮影機材の他に現状のサーバーや回線(インフラ)で十分なのか?ということです。学校はいつまでも休校にすることはできず、なにかしらの手段で授業を再開せざる終えません。コロナをきっかけでオンライン授業も手段として検討する学校・塾が増えてきました。
動画配信(VOD)の種類
VOD配信は様々な形式があります。ダウンロードが完全に完了してから視聴するダウンロード配信、ダウンロードしながら動画を視聴するプログレッシブ配信、RTMP形式のTCP配信。そして今主流のHLSストリーミング配信です。HLSはAppleが主導したストリーミング方式でHTTP/HTTPSで細かいTSとセグメントファイルを配信します。HLS形式はCDNと相性がよく、負荷分散もとてもしやすい形式ですがそれぞれの特徴を簡単にご紹介します。
ダウンロード配信
ダウンロード配信は、その名の通り動画ファイルを完全にPC/スマホにダウンロードしてから視聴する従来の方式です。ダウンロード方式の最大の利点はなんといってもシンプルなこと。そしてダウンロード完了してしまえばインターネットが繋がっていないオフラインの環境でも再生できることです。最近ではオフライン再生というくくりで利用されることがあり、Webサーバーやストレージさえあれば直ぐに実現できますが、1ファイルが大容量高画質となった場合以下の様な課題があります。
- ダウンロード完了時間=視聴開始時間である
- 途中からの視聴が難しい
- 視聴者のデバイスは動画の容量分ストレージが必要(容量が限られたスマホなどに対してデバイスフレンドリーではない)
- 動画ファイルがデバイスに残るためセキュアコンテンツは難しい
このような課題あがるため、ダウンロード配信は1ファイルそこまで大きくない且つpublicなコンテンツに適しているといえます。
プログレッシブ配信
プログレッシブ配信は、ダウンロード配信の強化版のようなものです。昔のYoutubeやNetflixなどに代表される動画配信サービスで多く利用されています。
ダウンロード配信は視聴者のデバイスに完全な動画が保存される形式でしたが、プログレッシブ配信は少しつづ動画をダウンロードして再生する動作となります。よって、再生開始まで待たされることも無く、動画の途中から再生を開始することが出来ます。
ダウンロード配信のように完全な動画を取得してから視聴するわけではないのである程度セキュアといえますが、プログレッシブダウンロードしている部分(再生している箇所の動画)はそのデバイスにダウンロードされるためやはりあまりセキュアなコンテンツの配信には不向きです。
ストリーミング 配信(HLS)について
ストリーミング配信にも様々種類がありますが、現在主流はAppleが提唱したHLS形式の配信です。
HLSはMP4(H264・AAC)でエンコードされた元動画からFFMPEG等を利用しコンバートが可能です。
コンバートしたファイル一式をWebサーバーやオブジェクトストレージ等に保存したものをプレイヤーまたはiphone/ipad等でマニフェストファイルのURLにアクセスするとプレイヤーレスでそのまま視聴できます。
ストリーミングですのでデバイスに動画ファイルが残らないこと、複数のビットレート動画を用意しておき遅い回線の場合は低ビットレート・早い回線の場合は高ビットレートの動画を見せるということが簡単にできます。そして標準では10秒区切りのTSというファイルを順次配信していくためCDNとの相性もとってもよい形式です。
動画配信(HLS形式)をCDNで負荷分散する場合の注意点
HLS形式はファイルを作成し、そのまま視聴する分には特別問題がおこることはありません。しかしCDNはキャッシュし負荷分散する仕組みのため、コンテンツ更新時キャッシュを削除する必要があるということを考慮する必要があります。その上でキャッシュ削除についてどのようなことに注意すべきか2つほどご紹介します。
キャッシュ削除待ち時間
マニフェスト・または動画ファイルを更新した場合基本的には関連する全てのファイルのキャッシュ削除を行う必要があります。このキャッシュ削除までの時間はCDNベンダーによって様々で場合によっては反映までに数分かかることもあります。キャッシュ削除までに時間がかかると、その間アクセスしているユーザーは一部更新された動画が配信され途中で古い動画に切り替わるというようなちょっとよく分からない見え方になってしまいます。
よってキャッシュ削除が1秒以下で実施できるCDNが動画配信の負荷分散では必須といえます。弊社エッジキャッシュでは、管理画面またはAPI経由で1秒以下のキャッシュ削除を実現しているため、キャッシュ反映待ちに影響されません。
キャッシュ削除の指定方法
キャッシュ削除の時間以外にもどのような基準で指定できるのかという点も注目する機能の一つです。たとえばマニフェストファイルだけ更新している場合、全てのキャッシュを削除するのは非効率です。よって、 動画自体はキャッシュを温存するためにも、キャッシュ削除は以下の様な正規表現での指定が必要不可欠です。
^[^?]*(\.m3u8)(\?.*)?$
弊社エッジキャッシュでは、以下の3つのキャッシュ削除方法をご提供しておりもちろん正規表現にも対応しています。
- シングルパージ(単一ファイルのキャッシュ削除)
- 正規表現パージ(正規表現で特定ファイルのみ・全てのファイルなど細かく指定可能)
- タグパージ(コンテンツのレスポンスヘッダにタグを指定し、そのタグベースでグループ化されたキャッシュ削除を行う)
CDNの負荷分散対象リソースをしっかり把握
教育機関や学習塾の場合、動画のURLを生徒に直接連絡するというより大体生徒の個別認証後に動画のリンクが掲載されているページを表示するケースが多いと思います。
動画のURLだけCDNのドメインにすれば動画のトラフィック負荷は削減できます。しかし、教育関連の動画は大体決まった時間に生徒が一斉アクセスして視聴するため、動画がリンクされているサイトや認証後のページについても負荷分散を検討しておくほうが望ましいです。 動画配信で重要なのは本当に動画だけ負荷分散するだけで大丈夫なのか、ということです。どのドメイン(領域)をCDNの対象とするか提供サービスによって十分検討する必要があります。
動画配信用とWebサイトのドメインはわけるべきか
動画配信するドメインと動画を公開・埋込むWebサイトのドメインは同じでよいか、別々にすべきかという質問をよく頂きます。CDNは動画や画像などのSTATICコンテンツ以外にも動的なコンテンツもキャッシュ配信できます。そして、技術的には「動画は長くキャッシュ、動的コンテンツは短めにキャッシュ・またはキャッシュさせない」というハンドリングが可能ですので、Webサイトと動画配信は同じドメインで運用できます。ただし、どちらを選ぶかはお客様のサービス状況によってケースバイケースだと考えます。
例えば既に動画配信をWebサイトと同一ドメインで実施しており、そこにCDNを導入する場合、既存のWebサイトが複雑で特殊な構造ですと動作を理解した上でキャッシュさせる・させないというハンドリングを実施しなければいけません。
- /user/login /contact/formはキャッシュしない
- 認証Cookieが付与されている場合はキャッシュしない
- JPG・PNG・MP4はキャッシュ(ただしクエリがついているときはキャッシュを分ける等)
逆にWebサイトと動画配信用のドメインを分けた場合は、既存のWebサイトには一切影響がないため切り分けや導入が楽です。ただし、動画配信用のリンクされたドメインだけ別のドメインに書き換える必要があるためコンテンツ書き換えの手間が発生します。
Webサイトのドメイン:www.redbox.ne.jp
動画配信用ドメイン:movie.redbox.ne.jp
CDNで全て解決するコンサルティングをご提供
レッドボックスでは様々なケースを想定してお客様に一番負担にならない方法を一緒に考えながらCDNの設定を固めていきます。今回の例では既存のWebサイトに合わせた設定をがんばるのか、頑張ってコンテンツを張り替えるのかというどちらも頑張る前提の2択しかないように見えますが、弊社のエッジキャッシュは色々な条件の下キャッシュさせる・させないというルール指定が可能なため、Webサイトと動画配信のドメインを同一にし、CDNの設定で動画に関連するコンテンツだけキャッシュしそれ以外はキャッシュさせないという第3の選択肢をご提案しています。
これにより、既存のWebサイトも実質CDNを経由することになりますが、キャッシュの影響をうけないため今までと同じ運用で且つコンテンツの修正もすることなく動画だけ負荷分散が可能です。
ストリーミング動画配信(VOD)を定額ワンストップで提供
ストリーミング形式の動画配信はまずMP4をHLSという形式に変換して、変換したリソースを全てWebサーバーやオブジェクトストレージに格納後、CDNで負荷分散するという手順が必要です。よってMP4があったとしても実際に公開するまでの手順が多いのが事実です。さらに、配信コストも無視することは出来ません。レッドボックスではCDNにオプションを組み合わせる事により、簡単にコストをセーブして配信する仕組みをご用意しています。
MP4をアップロードするだけでOK 月額定額配信
エッジS・M・Lの基本プランにスマートストリーミングとHighオリジンを組み合わせることにより、動画変換から配信までワンストップで行える環境を構築できます。※各種料金についてはこちら
お客様は手元にあるMP4ファイルを弊社ストレージにアップロードするだけで、自動的にストリーミング形式に変換され、CDNで最適な設定のもとコンテンツを強力にカバーします。
予算が組みやすい月額定額料金
エッジキャッシュCDNは月額定額料金を採用しています。先ほどのキャッシュ削除リクエストや、HTTPS配信、MP4の変換コストも基本料金に含まれているため、見えないコストが発生することはありません。予算が組みやすい料金体型で提供しています。※1
※1バーストオプションや海外配信・DISK容量など一部オプションは除く
例:エッジキャッシュS + Highオリジン スマートストリーミング
月額定額:¥59,300~( 税別 )
HLSストリーミングのサンプル動画
最後にHLSストリーミング動画のサンプルが御座いますのでご紹介します。PC向け配信はプレイヤーが必要ですがサンプルでは無料のVIDEOJSを利用しております。IOS/Androidは直接動画ファイルのリンクをクリックするとデフォルトのプレイヤーが立ち上がり作成できます。
現在はHLS形式のストリーミング配信が一般的となり普及しておりますが、既存のサービスも新しく始める場合も負荷分散をどうするかというトピックは避けては通れません。CDNを導入する場合においても、ドメインを分けるケースと一緒に配信するケース様々あるとおもいます。既存のサービスにどのような方法で取り入れたらいいか、迷ってる、または相談したい場合はお気軽にお問い合わせ下さい!