⑧動画配信用にクラウドストレージの設定を変更(AWS)
前回の記事はこちら
はじめに
AWS S3上にアップロードされたMPEG2-TSファイルをHLS(HTTP Live Streaming)で配信するには、これらの動画ファイルをHTTPで公開する必要があります。
本章では、MPEG2-TSファイル保存用に作成したAWS S3バケットを、公開する為の設定を行います。
公開の為に実施する設定は以下の2点です。
静的ウェブサイトホスティングの有効化
バケットをパブリックアクセス許可に設定する
静的ウェブサイトホスティングの有効化
まずは、バケットの静的ウェブサイトホスティング設定を有効にします。
この設定を有効にすると、設定したS3バケットに固有のURLが付与され、静的なHTTPコンテンツを公開する準備ができます。
S3のページで、対象のバケットを選択し、「プロパティ」タブを開きます。
スクロールさせていくと、ページの下の方に「静的ウェブサイトホスティング」の項目がありますので、「編集」ボタンを押します。
「静的ウェブサイトホスティング」の設定画面が開きますので、下記のように設定してください
「静的ウェブサイトホスティング」を「有効」に設定
「ホスティングタイプ」を「静的ウェブサイトをホストする」に設定
「インデックスドキュメント」に「index.html」と入力
設定が完了すると、「静的ウェブサイトホスティング」が「有効」に変更され、「バケットウェブサイトエンドポイント」の箇所に、このバケットにアクセスする為のURLが表示されます。
このURLをメモしておいてください。
バケットをパブリックアクセス許可に設定する
静的ウェブサイトホスティングを有効にしただけでは、バケットに保存されたファイルを取得することはできません。
公開するには、さらに以下の2つの設定を行う必要があります。
パブリックアクセスのブロック設定を無効にする
バケットポリシーを記述する
パブリックアクセスのブロック設定を無効にする
S3のページで、対象のバケットを選択し、「アクセス許可」タブを開き、「ブロックパブリックアクセス(バケット設定)の「編集」を押します。
ブロックパブリックアクセス設定画面が開き、最初は「パブリックアクセスをすべてブロック」にチェックが付いていると思いますので、そのチェックを外して、すべての項目にチェックが付いていない状態にします。
この状態で「変更の保存」を押すと、確認画面が表示されます。
入力欄に「確認」と入力して「確認」ボタンを押すと、パブリックアクセスのブロックが解除されます。
バケットポリシーを記述する
次に、どのようなアクションを許可するかをバケットポリシーとして記述します。
すぐ下の「バケットポリシー」項目の「編集」ボタンを押すと、「バケットポリシー」の入力画面が表示されます。
この入力欄に下記のJSONを入力します。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::[バケット名]/*"
}
]
}
このポリシーでは、対象バケット内に保存されたオブジェクトに対するHTTP GETのみを許可する設定です。
上記のJSONの [バケット名] の箇所に、対象バケットの名称を入れて、入力欄に転記して、保存してください。
設定確認
以上の設定ができたら、実際に公開されているか確認してみます。
対象のバケットに保存されているMPEG2-TSファイルをブラウザでダウンロードしてみます。
MPEG2-TSファイルが保存されていなければ、何か別のファイルをバケットにアップロードしてください。
静的ウェブサイトホスティングの所に記載されたURLに、ダウンロードするファイルのパスを追加したURLを、ブラウザに入力して、ダウンロード(もしくはブラウザ上で表示)できれば、設定は完了です。