はじめに
過去に、AWSの提供するメディアサービスである『AWS Elemental MediaPackage』『AWS Elemental MediaLive』、およびライブ配信用のオープンソースソフトウェア『OBS Studio』を利用して、シンプルなライブストリーミング配信システムを構築した。
今回は、大規模なライブストリーミング配信を想定して、AWSの提供するCDN(Content Delivery Network)サービスである『Amazon CloudFront』を統合したシステムを構築する。
システム構成
今回構築したシステムの構成は以下のとおり。
なお、[MediaPackage〜OBS Studio]の部分は、すでに作成してあることを前提とし、本記事ではCloudFrontとの統合のみを取り上げる。
[MediaPackage〜OBS Studio]部分の作成について知りたい方は、上記の過去記事をご参照を。
CloudFrontと統合する
CloudFrontディストリビューションの作成
・CloudFront > ディストリビューション > 作成 と進む。
・「Distribution options」で、「Single website or app」を選択する。
・「Origin type」には、「Elemental MediaPackage」を選択する。
・「MediaPackage v2 ORIGIN」には、MediaPackageで作成したチャネルに設定されている、オリジンエンドポイントのエンドポイントURLのうち、ホスト名のみを入力する。
・今回はあくまでテストなので、オリジンアクセスコントロールの許可のチェックを外す。
・任意でセキュリティ対策としてWAFを設定する。今回はテストなので設定しない。
・レビュー画面で設定内容を確認し、「Create distribution」を押下すると、ディストリビューションが作成される。
実際に動画を配信する
・OBS Studio の「設定」を押下し、設定画面を開く。
・「配信」タブで、「サーバー」と「ストリームキー」を入力し、「OK」を押下する。
※入力内容については、過去記事を参照のこと。
・動画の再生を開始し、配信を開始する。
※開始方法については、過去記事を参照のこと。
・HLS対応ブラウザで、配信を視聴するためのURLを入力してアクセスする。
入力するURLは以下のとおり。
https://<ディストリビューションドメイン名>/out/v1/XYZ123/index.m3u8
「XYZ123」部分は、MediaPackageで作成したチャネルに設定されている、オリジンエンドポイントのエンドポイントURLの後半部分を入力する。
HLS再生にデフォルトで対応しているブラウザSafariで、上記URLにアクセスしたところ、以下のとおり、配信を視聴することができた。
おわりに
AWS Media Services と CloudFront の統合は、予想よりも簡単に実施できた。
今回は、ディストリビューションドメインにアクセスしたら、視聴プレイヤーのみが表示されるという最低限の機能だった。
次は、日頃利用している配信プラットフォームのような、Webページの中に視聴プレイヤーが埋め込まれているようなサイトを作成したい。
また、今回は事前収録した動画を配信するという形態をとったので、次は生配信を実施したい。








