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を導入するためのガイドを提供します。

要件

  1. AWSアカウント
  2. コードレポジトリ (例:  GitHub)

Step 1: AWS Amplifyを用いた1クリックでのデプロイ

  1. このオレンジのボタンをクリックしてご利用のAWSアカウントでMAPSをデプロイします。

  1. AWSマネジメントコンソールのAWS Amplifyページにリダイレクトされます。

AWS Amplify Console page for connecting to a GitHub repository.

  1. Connect to GitHub」を選択し、MAPSメインレポジトリのフォークをお客様GitHubアカウント下に作成します。
  2. 過去に承認されたAWS Amplifyをご利用されたことがない場合は、承認のためにGitHubへリダイレクトされます。

In order to connect AWS Amplify and GitHub, you must authorization the Amplify console.

  1. GitHub承認が完了すると、Amplifyコンソールへ自動的にリダイレクトされます。過去にAmplify backend service roleを設定されていない場合、「Create New Role」を選択してください。

In the Amplify console, you provide a name for the deployment and a role so Amplify can deploy resources on your behalf.

  1. Save and deploy」を選択します。
  2. 3つのデプロイメントプロセスステップが完了したら、「Continue」をクリックします。

When you click Save and Deploy, Amplify will fork the repository, create your Amplify console application, and kick-off the build process for the backend.

このデプロイには20分程かかる場合があります。

設定とセットアップ

Step 2: adminユーザーの作成

デフォルトでは、MAPSサインページで登録した全ての新規ユーザーは「editors」ユーザーグループに割り当てられます。

  1. Amazom Cognitoユーザープールコンソールで、mapsuserpool-<your_env>を選択します。

In the Amazon Cognito console, this is the name of the generated User Pool.

  1. Users and Groups」から「Create User」を選択します。

In the Cognito User Pool, select Users and Groups from the General Settings side bar.

  1. 必須情報を入力し、「Create User」をクリックします。

When you create a user in Cognito, you need to specify a username and temporary password for the new user.

 

  1. 上で作成したユーザーを選択し「Add to Group」をクリックします。

Once a user is created, you can add the user to a group by clicking the Add to group button.

  1. ドロップダウンリストからadminを選択し、「Add to Group」をクリックします。

Add the user to the admin group using the drop down. This step is critical or else your access to MAPS will be restricted.

 

注: adminユーザーを「admin group」に追加することは必須です。この設定を行わないとMAPSのインターフェース機能が利用できません。

Step 3: MAPSインターフェースの設定

  1. AWS CloudFormationコンソールで、amplify-maps-<your_env>-<your_app_id>-resMAPSをロケートします。

In CloudFormation, you can see your stacks and nested stacks. We need to locate the resMAPS stack.

  1. Outputs」タブを選択し、MediaBucketNameをコピーします。

Within the resMAPS stack, the Outputs tab has detailed output from the stack including the Media Bucket Name which we need to configure to MAPS user interface.

  1. AWS AmplifyコンソールからMAPSがデプロイされたURLを取得します。When the MAPS deployment has completed, all stages of the process will turn green with a check mark. We can also retrieve the unique URL to access the MAPS user interface.
  1. ウェブブラウザ(Chromeを推奨)からURLを開きます。
  2. サインインページで、上記で作成した「admin」ユーザーの情報でログインします。

When you first open the MAPS URL, you are prompted to log in using your Cognito credentials.

  1. 初回ログインでは、パスワード変更が求められます。

On first log in, you are shown a screen to reset your password.

  1. ログイン後、MAPSインターフェスへアクセスできます。

After you log in, the MAPS user interface is displayed. The interface is not configured yet.

  1. インターフェースの設定は、コントロールツールバーのギアアイコンを選択してください。
  2. 設定ページでMediaBucketNameを入力し保存し、メインビューへ戻ります。これによりバケットがデプロイされたMAPSへ登録されます。この設定はadminで1度だけ行う必要があります。

The Settings page in the MAPS UI. Enter the Media Bucket name and choose Save Settings.

 

注: もしエラーが表示された場合は、バケット名の前後にスペースが入っていないか確認ください。

Step 4: Amazon FSx for Windows ファイルサーバーをMAPSへ登録する

MAPSは、Amazon S3やAmazon FSx for Windowsファイルサーバーなどのストレージボリューム間でのアセットの移動を可能にします。この機能を利用するにはAWSアカウントにEdit in the Cloud環境をデプロイする必要があります。 既存のEdit in the Cloudのデプロイメントがない場合は、このGitHubレポからデプロイすることができます。

  1. コンソールから利用されるAmazon FSx for WindowsファイルサーバーのDNS名を取得します。

In the Amazon FSX console, in the network and security tab. We need to retrieve the DNS name for the file share.

  1. MAPSApiProcessing-<your_env> Lambda functionを開きます。

In the AWS Lambda console, we search for the MAPS API Processing function.

  1. Configuration」設定で、左メニューから「Environment Variables」を選択します。

In the Lambda function configuration tab, we edit the FSX Mount environment variable.

  1. 上のstep 4.1で取得したAmazon FSx DNS名を FSX_MOUNT 環境変数に入力します。

Create a Lambda environment variable FSX_MOUNT and assign its value to the FSX DNS name.

注) 現在、Amazon S3とAmazon FSx間でファイル移動を行うにはパブリックのElastic IPアドレスを持つEC2インスタンスに接続してMAPSを操作する必要があります。

  1. MoveMedia.ps1スクリプトをここからダウンロードし次のEC2インスタンスのディレクトリへ保存します:  C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts:このスクリプトはAWS Systems Manager (SSM)によってメディアファイルをAmazon S3とAmazon FSx間で移動するために必要です。
  2. SSMエージェントが編集インスタンスにインストールされていること、またインスタンスプロファイルにAmazonEC2RoleforSSMポリシーが追加されていることを確認してください。

Step 5: MAPSを使ってメディアの準備を行う

MAPSデプロイメント設定が完了すれば、ワークフローを開始するためにメディアファイルを準備します。

コントロールツールバー

コントロールツールバーでメディアファイルの操作が可能です。以下概要を記載します。

The MAPS UI toolbar with options to download, delete, create new, create new folder, and access the settings.

  1. Download – 登録されたAmazon S3 URLからアセットのダウンロードを行います。
  2. Delete – アセットを削除します。
  3. Create New – 新規アセットをアップロードします。
  4. Create Folder – 新規フォルダを作成します。
  5. Settings – S3バケットの設定を行います。

MAPSユーザーインターフェース

MAPSには2つのレイアウトがあります。1)テーブルレイアウトはフォルダ構造でのビューになります。2)カードレイアウトは技術メタデータと共にメディアのサムネイルを表示します。

This is the MAPS table view which displays all assets in a table.

This is the MAPS card layout. This shows media assets with a thumbnail preview.

フォルダの作成

  1. コントロールツールバーから「Create Folder」ボタンをクリックします。
  2. フォルダ名を入力し「Create Folder」を選択します。

This is the create folder window. You can enter a folder name and choose create folder.

メディアアップロード

  1. ファイルをアップロードするには「Create New」ボタンをクリックします。
  2. Browse」ボタンをクリックし、ファイルを選択します。選択後 「Upload」ボタンをクリックします。

This is the upload media window. You can choose Browse and select the media you want to upload then choose upload to start the upload process.

  1. ファイルのアップデート状況がパーセンテージで表示されます。
    This is the upload progress bar that describes the status of the upload.
  1. ファイルがAmazon S3に転送されると、行がMAPSテーブルビューに追加されます。

This is the MAPS tables view for an asset that has been uploaded but has not been fully processed yet.

  1. バックエンドプロセスが完了すると、ファイルフォーマットが自動的に表示されます。これによりトランスコードが成功しファイルのプレビューやその後のオペレーションが可能になります。

This is the MAPS table view for an asset that has been fully processed.

メディアプレビュー

  1. メディアをプレビューするには、テーブルビューで行をダブルクリックするか、カードビューでサムネイルをダブルクリックします。
  2. メディアプレイヤーはプロキシファイルの再生を行います。技術メタデータの確認も可能です。

The media proxy view shows the user a media player which can play the asset. The view also shows detailed technical metadata about the asset.

メディアファイルを整理する

  1. メディアファイルをフォルダに整理するために、テーブルビューで移動したい全てのアセットを選択します。

In the MAPS table view, users can select multiple assets by selecting the checkbox in each row.

  1. ハイライトされている場所で右クリックし、「Move to Folder」を選択します。

When a user right clicks on any of the selected rows, the options menu appears. The options include Move to folder, Copy to FSx, and Remove from FSx.

  1. フォルダナビゲーションツールで選択されたアセットの移動先を指定し「Move」をクリックします。

When you choose Move to folder, another window opens allowing you to select which folder you want to move the assets to.注:選択されたファイル数、ファイルサイズによっては数秒かかる場合があります。

メディアファイルの移動

  1. Amazon S3とAmazon FSx間でのメディアファイルの移動には、移動したいアセットをテーブルビューで選択します。

In the MAPS table view, users can select multiple assets by selecting the checkbox in each row.

  1. ハイライトされている場所で右クリックし、「Copy to FSx」を選択します。

When a user right clicks on any of the selected rows, the options menu appears. The options include Move to folder, Copy to FSx, and Remove from FSx.

 

  1. Amazon FSxからファイルを削除したい場合、アセットを選択後、ハイライトされている場所で右クリックし、「Remove from FSx」を選択します。
  2. これらの動作が成功すると、ステータスフィールドがアップデートされます。ファイルがAmazon S3に存在し、そのコピーがFSxにある場合、ステータスは「S3_FSX」となり、S3のみに存在する場合は、「S3」となります。

When you copy assets to FSX, their status will change in the MAPS UI to indicate that they are currently copied to FSX.注:ファイルをFSx for Windowsファイルサーバーにコピーし、同じ共有ネットワークから削除する場合、数秒かかることがあります。

フォルダ権限の管理

デフォルトでは、MAPSをデプロイするときに、「admin」と「editors」の2つの権限グループがあります。 ユーザーがフォルダを作成すると、そのフォルダとその中のすべてのアセットはそのユーザーのグループ権限を継承します。 adminグループはすべての新しいフォルダに自動的に追加されます。 adminグループのユーザーは、特定のフォルダーのアクセス許可を更新できる唯一のユーザーです。 グループの追加は、Amazon Cognitoコンソールで行う必要があります。 たとえば、さまざまなプロジェクトの編集者用に個別の権限グループを作成してから、ユーザーをそれらのユーザーグループに追加できます。

  1. フォルダ権限を変更するには、フォルダで右クリックし「Permissions」を選択します。When you right click on a folder, a permissions drop down opens.
  1. 権限を与えたい・除きたいグループを選択・非選択し、「Save」をクリックします。Choosing the permissions option lets you change which Cognito groups have access to the folder.

注: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://thinkwithwp.com/media/supply-chain-archive/ をご覧ください。


参考リンク

AWS Media Services
AWS Media & Entertainment Blog (日本語)
AWS Media & Entertainment Blog (英語)

AWSのメディアチームの問い合わせ先: awsmedia@amazon.co.jp
※ 毎月のメルマガをはじめました。最新のニュースやイベント情報を発信していきます。購読希望は上記宛先にご連絡ください。

翻訳は BD山口とSA小林が担当しました。原文はこちらをご覧ください。