Amazon Web Services ブログ
【Edit in the Cloud】AWS Media Asset Preparation System (MAPS)の構築ガイド
はじめに
AWS Media Asset Preparation System (AWS MAPS)の紹介ブログ記事では、MAPSがAWSへのメディアのアップロード、ファイル/フォルダの整理、AWSストレージボリューム上でのファイル移動、メディアの準備、権限の割り当て、検索、フィルタリング、コンテンツ配信などの課題をどのように解決するかについて概要を説明しました。この記事では、MAPSが制作プロセスにおいてどのように重要な役割を果たしているかの概要を説明し、お客様の環境にMAPSを導入する方法を詳細に説明するステップバイステップガイドを提供します。 MAPSを導入した後はこのガイドを参考にして、本番制作環境のパイプライン構築に繋げていただければと思います。
制作でのユースケース
その日の撮影が終わり、プロダクションのコンテンツレイク戦略の一環として、素材がAmazon Simple Storage Service(Amazon S3)にアップロードされたとします。メディアマネージャー・管理者はこれらのアセットを論理的なグループに整理し、翌日に編集者が使用できるように準備しなければなりません。
このワークフローには、いくつかの大きな課題があります。
- メディアマネージャー・管理者はS3バケットに格納されたアセットをどのようにして視覚化するのか?
- メディアマネージャー・管理者はどのようにしてアセットを簡単に移動、整理し、新しいフォルダを作成し、編集者グループに基づいて権限を割り当てるのか?
- 編集者はどのようにしてコンテンツを自分のワークステーションに取り込み、編集作業を完了させるのでしょうか?
そこで登場するのがMAPSです。MAPSはメディアマネージャー・管理者をはじめとするプロダクション関係者が、数回クリックするだけでアセットを視覚化し、直感的に整理できるインターフェースを提供します。このユーザーインターフェースにより、技術的な側面が排除され、メディアマネージャー・管理者はコンテンツと制作要件に集中することができます。アセットが整理されると、メディアマネージャーはパーミッションを追加して、編集者が来るべき編集セッションに向けて準備することができます。編集セッションが終了すると、メディアマネージャー・管理者はMAPSを使用して、様々なストレージボリュームでベストプラクティスを推進しながらファイルをクリーンアップし、整理することができます。このような取り組みにより、プロダクションの規模に関わらず、ストレージの節約とコストの最適化を実現します。
ステップ・バイ・ステップ構築
このセクションではご利用のAWS環境にMAPSを導入するためのガイドを提供します。
要件
- AWSアカウント
- コードレポジトリ (例: GitHub)
Step 1: AWS Amplifyを用いた1クリックでのデプロイ
- このオレンジのボタンをクリックしてご利用のAWSアカウントでMAPSをデプロイします。
- AWSマネジメントコンソールのAWS Amplifyページにリダイレクトされます。
- 「Connect to GitHub」を選択し、MAPSメインレポジトリのフォークをお客様GitHubアカウント下に作成します。
- 過去に承認されたAWS Amplifyをご利用されたことがない場合は、承認のためにGitHubへリダイレクトされます。
- GitHub承認が完了すると、Amplifyコンソールへ自動的にリダイレクトされます。過去にAmplify backend service roleを設定されていない場合、「Create New Role」を選択してください。
- 「Save and deploy」を選択します。
- 3つのデプロイメントプロセスステップが完了したら、「Continue」をクリックします。
このデプロイには20分程かかる場合があります。
設定とセットアップ
Step 2: adminユーザーの作成
デフォルトでは、MAPSサインページで登録した全ての新規ユーザーは「editors」ユーザーグループに割り当てられます。
- Amazom Cognitoユーザープールコンソールで、mapsuserpool-<your_env>を選択します。
- 「Users and Groups」から「Create User」を選択します。
- 必須情報を入力し、「Create User」をクリックします。
- 上で作成したユーザーを選択し「Add to Group」をクリックします。
- ドロップダウンリストからadminを選択し、「Add to Group」をクリックします。
注: adminユーザーを「admin group」に追加することは必須です。この設定を行わないとMAPSのインターフェース機能が利用できません。
Step 3: MAPSインターフェースの設定
- AWS CloudFormationコンソールで、amplify-maps-<your_env>-<your_app_id>-resMAPSをロケートします。
- 「Outputs」タブを選択し、MediaBucketNameをコピーします。
- AWS AmplifyコンソールからMAPSがデプロイされたURLを取得します。
- ウェブブラウザ(Chromeを推奨)からURLを開きます。
- サインインページで、上記で作成した「admin」ユーザーの情報でログインします。
- 初回ログインでは、パスワード変更が求められます。
- ログイン後、MAPSインターフェスへアクセスできます。
- インターフェースの設定は、コントロールツールバーのギアアイコンを選択してください。
- 設定ページでMediaBucketNameを入力し保存し、メインビューへ戻ります。これによりバケットがデプロイされたMAPSへ登録されます。この設定はadminで1度だけ行う必要があります。
注: もしエラーが表示された場合は、バケット名の前後にスペースが入っていないか確認ください。
Step 4: Amazon FSx for Windows ファイルサーバーをMAPSへ登録する
MAPSは、Amazon S3やAmazon FSx for Windowsファイルサーバーなどのストレージボリューム間でのアセットの移動を可能にします。この機能を利用するにはAWSアカウントにEdit in the Cloud環境をデプロイする必要があります。 既存のEdit in the Cloudのデプロイメントがない場合は、このGitHubレポからデプロイすることができます。
- コンソールから利用されるAmazon FSx for WindowsファイルサーバーのDNS名を取得します。
- MAPSApiProcessing-<your_env> Lambda functionを開きます。
- 「Configuration」設定で、左メニューから「Environment Variables」を選択します。
- 上のstep 4.1で取得したAmazon FSx DNS名を FSX_MOUNT 環境変数に入力します。
注) 現在、Amazon S3とAmazon FSx間でファイル移動を行うにはパブリックのElastic IPアドレスを持つEC2インスタンスに接続してMAPSを操作する必要があります。
MoveMedia.ps1
スクリプトをここからダウンロードし次のEC2インスタンスのディレクトリへ保存します:C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts
:このスクリプトはAWS Systems Manager (SSM)によってメディアファイルをAmazon S3とAmazon FSx間で移動するために必要です。- SSMエージェントが編集インスタンスにインストールされていること、またインスタンスプロファイルにAmazonEC2RoleforSSMポリシーが追加されていることを確認してください。
Step 5: MAPSを使ってメディアの準備を行う
MAPSデプロイメント設定が完了すれば、ワークフローを開始するためにメディアファイルを準備します。
コントロールツールバー
コントロールツールバーでメディアファイルの操作が可能です。以下概要を記載します。
- Download – 登録されたAmazon S3 URLからアセットのダウンロードを行います。
- Delete – アセットを削除します。
- Create New – 新規アセットをアップロードします。
- Create Folder – 新規フォルダを作成します。
- Settings – S3バケットの設定を行います。
MAPSユーザーインターフェース
MAPSには2つのレイアウトがあります。1)テーブルレイアウトはフォルダ構造でのビューになります。2)カードレイアウトは技術メタデータと共にメディアのサムネイルを表示します。
フォルダの作成
- コントロールツールバーから「Create Folder」ボタンをクリックします。
- フォルダ名を入力し「Create Folder」を選択します。
メディアアップロード
- ファイルをアップロードするには「Create New」ボタンをクリックします。
- 「Browse」ボタンをクリックし、ファイルを選択します。選択後 「Upload」ボタンをクリックします。
- ファイルのアップデート状況がパーセンテージで表示されます。
- ファイルがAmazon S3に転送されると、行がMAPSテーブルビューに追加されます。
- バックエンドプロセスが完了すると、ファイルフォーマットが自動的に表示されます。これによりトランスコードが成功しファイルのプレビューやその後のオペレーションが可能になります。
メディアプレビュー
- メディアをプレビューするには、テーブルビューで行をダブルクリックするか、カードビューでサムネイルをダブルクリックします。
- メディアプレイヤーはプロキシファイルの再生を行います。技術メタデータの確認も可能です。
メディアファイルを整理する
- メディアファイルをフォルダに整理するために、テーブルビューで移動したい全てのアセットを選択します。
- ハイライトされている場所で右クリックし、「Move to Folder」を選択します。
- フォルダナビゲーションツールで選択されたアセットの移動先を指定し「Move」をクリックします。
注:選択されたファイル数、ファイルサイズによっては数秒かかる場合があります。
メディアファイルの移動
- Amazon S3とAmazon FSx間でのメディアファイルの移動には、移動したいアセットをテーブルビューで選択します。
- ハイライトされている場所で右クリックし、「Copy to FSx」を選択します。
- Amazon FSxからファイルを削除したい場合、アセットを選択後、ハイライトされている場所で右クリックし、「Remove from FSx」を選択します。
- これらの動作が成功すると、ステータスフィールドがアップデートされます。ファイルがAmazon S3に存在し、そのコピーがFSxにある場合、ステータスは「S3_FSX」となり、S3のみに存在する場合は、「S3」となります。
注:ファイルをFSx for Windowsファイルサーバーにコピーし、同じ共有ネットワークから削除する場合、数秒かかることがあります。
フォルダ権限の管理
デフォルトでは、MAPSをデプロイするときに、「admin」と「editors」の2つの権限グループがあります。 ユーザーがフォルダを作成すると、そのフォルダとその中のすべてのアセットはそのユーザーのグループ権限を継承します。 adminグループはすべての新しいフォルダに自動的に追加されます。 adminグループのユーザーは、特定のフォルダーのアクセス許可を更新できる唯一のユーザーです。 グループの追加は、Amazon Cognitoコンソールで行う必要があります。 たとえば、さまざまなプロジェクトの編集者用に個別の権限グループを作成してから、ユーザーをそれらのユーザーグループに追加できます。
- フォルダ権限を変更するには、フォルダで右クリックし「Permissions」を選択します。
- 権限を与えたい・除きたいグループを選択・非選択し、「Save」をクリックします。
注:admin 権限は削除することができません。
クリーンナップ
MAPSデプロイメントをクリーンナップするには、作成された3つのS3バケットを空になる必要があります。バケット名は次の通りです。
- maps-media-<region>-<aws-account-id>-<unique-id>
- maps-metadata-<region>-<aws-account-id>-<unique-id>
- sm-output-<region>-<aws-account-id>-<unique-id>
バケットのコンテンツを削除した後、AWS Amplify MAPSプロジェクトへ移動し、「Actions」ドロップダウンから「Delete App」を選択します。これによりMAPSでデプロイされた全ての関連リソースが削除されます。
Edit in the Cloudソリューションをデプロイされた場合、関連するCloudFormationスタックも削除して下さい。
おわりに
この記事では、MAPSが本番プロセスにどのように適合するかの概要を説明し、MAPSを自分の環境に導入するためのステップを説明しました。今後のコードアップデートや機能リリースについては、MAPSのGitHubリポジトリにアクセスし、スターを付けてアップデートの通知を受けてください。
多くのお客様にインジェストからメディア処理、作成、クラウドへの配信までのサプライチェーン管理でAWSをご活用いただいています。また80以上のAWSパートナーがメディア・サプライチェーン&アーカイブ・アプリケーションを提供しています。詳細は https://aws.amazon.com/media/supply-chain-archive/ をご覧ください。
参考リンク
AWS Media Services
AWS Media & Entertainment Blog (日本語)
AWS Media & Entertainment Blog (英語)
AWSのメディアチームの問い合わせ先: awsmedia@amazon.co.jp
※ 毎月のメルマガをはじめました。最新のニュースやイベント情報を発信していきます。購読希望は上記宛先にご連絡ください。
翻訳は BD山口とSA小林が担当しました。原文はこちらをご覧ください。