AWSを使って HP上でストリーミング再生する環境を構築しました ~続き1/3~
2020.06.30
こんにちは。本記事は前回の記事の続きとなります。詳細部分について解説していきたいと思います。
1.S3の、バケット(Example-bucket-sodane) / input / にmp4ファイルがアップロードされる
AWSの中のサービスの1つ、S3 (Simple Simple Storage Service)というオブジェクトストレージサービスを使用します。
ファイルなどを記憶させる点でいえばHDDもS3も同じですので、始めて聞いた方は容量無制限でデータを置けるサービスと捉えても問題ないかと思います。S3に限らずAWSのサービスは耐久性に優れ、非常にセキュアです。S3は99.999999999%の耐久性を実現しており、データの破損の心配もないので安心して使用できますね。
初めに、AWSのコンソールにログインして、早速S3の画面を開いてみたいと思います。画面左上サービスを押し、
ストレージ>S3をクリックします。すると以下の画面となり、S3のページが開けました。
続いて、バケットの作成するを選んでexample-bucket-sodaneという名前のバケットを作ってみます。
入力する部分はバケット名のみで、その他特段設定は今のところ必要ない(後で設定)ので、次へを連打します。
すると、example-bucket-sodaneが作成されました!
勿論、最初は中身空っぽです。次に、フォルダの作成をクリックし、inputとoutputフォルダを作成しましょう。暗号化の設定を問われますが、なし(バケット設定を使用)で問題ないので、そのまま保存をクリック。
これにて、S3に存在する「example-bucket-sodane」という名前のバケット、inputフォルダにファイルを置く環境が出来ました!
このS3のサービスはいくら料金がかかるのか?という疑問が出るかと思います。公式でのドキュメントを見るのが1番で確かなので、調べてみましょう!
2.mp4ファイルがアップロードされたのをトリガーにLambdaを実行
この後からAWSのサービスを触ってる感覚が強くなります。
次に、Lambdaから設定していきます。サービスのLambdaをクリックし、Lambdaのコンソール画面へ移動。
関数の作成 → オプションは設計図の使用を選択 → 設計図の検索にてs3と入力しEnter → s3-get-object-pythonが選択支で出てくるので、それを選択し、設定をクリックします。また、このときs3-get-object(nodejs)を指定しても問題ないです。好きな言語を指定してください。
次のページでは以下のように設定します。関数名はお好みで。
すると、【 「example-bucket-sodane」という名前のバケットにXXXX.mp4ファイルがPUTされる 】、【】のイベントをトリガーに
example_lambdaが実行されるシステムが出来上がりました!
おわりに
何故Lambdaへ通知させたいか?、、簡単に言うと、Lambdaは〇〇なイベントが発生したら××を実行します。
Lambdaは、S3に.mp4ファイルが置かれたらMediaConvertというサービスを実行するという間に入り、
S3に.mp4ファイルが置かれたらLambdaが立ち上がり、Lambdaの命令でMediaConvertを実行するという流れになります。
S3とMediaConvertを直でつなげばいいのでは?と思いますが、結論としてLambda無しでS3とMediaConvertを繋げる術がないのです。
今回はここまで。次回は今回作成したLambda関数のソースコードの編集し、MediaConvertをLambdaで呼び出す部分の説明をします。
加えて、MediaConvertの設定についても触れていきます。