Amazon EC2 と NICE DCV を使って、
コンテンツ制作環境を構築してみた
Author : 濵野 栞
みなさん、こんにちは!ソリューションアーキテクトの濵野栞です。
近年、映画やエンターテイメント業界では、コンテンツ制作環境を AWS に移行して、スケーラブルかつ安全に制作を行っています。そこで本記事では、AWS のリソースを使用したコンテンツ制作環境の構築方法をご紹介します。
こちらの環境は、日本最大級のメディア総合イベントである InterBEE 2023 の AWS ブースで展示していたデモとほとんど同じものです。展示ではこの環境に Epic Games 社の Unreal Engine や AWS Thinkbox Deadline 、Adobe Premiere Pro などを乗せていました。
もちろん制作に他のソフトウェアをお使いの方でも、一度この環境を作成していただいたら、ローカル環境と同じようにインスタンス内で様々なソフトウェアをインストールしてお使いいただけます。
はじめに、どのような環境を構築していくのかご紹介します。
目次
ご注意
本記事で紹介する AWS サービスを起動する際には、料金がかかります。builders.flash メールメンバー特典の、クラウドレシピ向けクレジットコードプレゼントの入手をお勧めします。
ゲーム開発者向けのその他の記事はこちら
- 選択
- Amazon DynamoDB で作るサーバーレスなゲーム用アチーブメントマイクロサービス
- AWS の知識ゼロから始める AWS GameKit
- Amazon GameLift を使って「最短」でマルチプレイヤーゲームを作る
- Amazon DynamoDB で作るサーバーレスなゲーム用フレンドマイクロサービス
- Amazon GameSparks でインフラを意識せずにゲームのバックエンドサービスを開発しよう
- 魔法で作る Amazon DynamoDB の 簡単ゲームインベントリ
- レベル 1 から作るゲームのクエスト手帳
- サーバーレスなゲームのギルド検索
- 一緒に学び考える ! ゲームの AI/ML 活用
- 3 ステップで始める AI モデル開発 ! 始める前に知っておくべきコト !
- 実践 ! 機械学習でゲームの休眠ユーザーを予測してみよう
- Amazon GameLift Anywhere でサクッとマルチプレイゲームを開発しよう
- ゲーム分析を Amazon Aurora と Amazon Redshift の Zero-ETL 統合ではじめよう
- Amazon Redshift を活用したゲームの行動ログ分析
- Amazon QuickSight によるゲーム分析ダッシュボードの構築
- 品質管理に生成 AI は使えるのか !? テキストチェックを生成 AI にやらせてみた
- 生成 AI を用いたヘルプソリューションを作成する
- 世界に 1 つだけの AI アシスタント作成 ~オリジナルにカスタマイズ
- マルチモーダルな生成 AI 活用の入門編! - 画像認識と画像生成
- Amazon S3 と Amazon CloudFront を活用したグローバル向けゲームビルドバイナリ共有環境の構築
- Terraform を利用した Amazon EKS の構築
- Amazon Bedrock でゲームの BGM を作ってみました !
- Amazon EC2 ではじめる Unreal Engine Pixel Streaming 入門
- Agones on Amazon EKS で構築するマルチプレイゲームの専用ゲームサーバー
- AWS Summit Japan 2024 Game Industry Booth の舞台裏
このクラウドレシピ (ハンズオン記事) を無料でお試しいただけます »
毎月提供されるクラウドレシピのアップデート情報とともに、クレジットコードを受け取ることができます。
1. 構築するアーキテクチャ図の紹介
図 1
図 1 は本記事で構築する環境のアーキテクチャ図です。
ご自身の端末にインストールしたリモートディスプレイプロトコルの、 NICE DCV を使用してリモート環境にアクセスし、インスタンス上の動画編集ソフトをお使いいただけます。
大まかな実装の流れは以下の 3 ステップです。
- 実行環境の作成と、リモートディスプレイプロトコルの設定
- 共有ストレージの設定
- ソフトウェアをインストール
なお、このサンプルは東京リージョンを使用して構築していきます。
それでは、実際に環境を作っていきましょう !
2. リモートデスクトップ環境を作成する
はじめに、NICE DCV Client から Amazon Elastic Compute Cloud (以降、Amazon EC2) へ UDP でアクセスできる環境を作成します。
2-1. Amazon Virtual Private Cloud を作成
まずは、プライベートな仮想ネットワークを Amazon Virtual Private Cloud (以降、VPC) で作成します。
検索欄に「VPC」と入力し、サービス欄にある「VPC」を選択します。
クリックすると拡大します
VPC ダッシュボードの左上にある「VPC を作成」を押します。
クリックすると拡大します
VPC の作成画面が表示されるので、「VPC など」を選択します。
名前タグの自動生成の欄に任意の名前を入力します。今回は、「content-production」と入力します。
クリックすると拡大します
今回はデモ環境のため、1 つのアベイラビリティゾーンに 1 つのパブリックサブネットを作成していきます。
- アベイラビリティゾーン(AZ)の数 : 1
- パブリックサブネットの数 : 1
- プライベートサブネットの数 : 0
- NAT ゲートウェイ : なし
- VPC エンドポイント : なし
設定が完了したら、画面を一番下までスクロールし、「VPC の作成」を押します。
クリックすると拡大します
2-2. Amazon EC2 インスタンスを作成
先程作成した VPC の中に Amazon EC2 インスタンスを起動させていきます。
マネジメントコンソールの検索窓から「EC2」と検索し、サービス欄にある EC2 を選択します。
クリックすると拡大します
左側のサイドバーで「インスタンス」を選択し、「インスタンスを起動」を押します。
クリックすると拡大します
任意の名前を設定します。今回は「Content Production」としました。
Application and OS Images は、クイックスタートの「Windows」を選択します。
Amazon マシンイメージ (AMI) は「Microsoft Windows Server 2022 Base」を選択します。
インスタンスタイプは「g5.2xlarge」を選択します。
g5 インスタンス は NVIDIA GPU ベースインスタンスで、グラフィック集約型のユースケースや機械学習のユースケースに幅広く使用することができます。
今回は g5.2xlarge を選択しましたが、ワークロードに合わせてインスタンスタイプを選択してください。
クリックすると拡大します
続いて、キーペアの作成を行います。
キーペア名の右側にある「新しいキーペアの作成」を押します。
クリックすると拡大します
キーペアを作成するポップアップが表示されるので、キーペア名を「content production key」と入力します。
他の設定はそのままにして、「キーペアを作成」を押します。
自動的にプライベートキーがダウンロードされるので、安全な場所に保管しておきましょう。
クリックすると拡大します
ここから、ネットワーク設定を行います。
設定欄の右にある「編集」を押します。
クリックすると拡大します
VPC は先はど作成した「content-production-vpc」を選択、パブリック IP の自動割り当ては「有効化」を選択、セキュリティブループ名は「content production SG」とします。
説明にも、セキュリティグループの用途がわかるような名前をつけます。ここではセキュリティーグループ名と同じものを入力しています。
インバウンドセキュリティーグループのルールで、インスタンスに NICE DCV を使用した接続と、RDP 接続をすることができるように設定を行います。
タイプを「カスタム TCP」、ポート範囲を「8443」、ソースタイプを「自分の IP」、説明には「TCP for NICE DCV connection」と入力します。
その後、「セキュリティーグループルールを追加」を押します。
クリックすると拡大します
NICE DCV で UDP を使用して高速に接続できるように設定していくため、UDP のポートも開けておきます。また、NICE DCV をインストールする際に RDP を使用するため、ポートを開けておきます。
タイプを「カスタム UDP」、ポート範囲を「8443」、ソースタイプを「自分の IP」、説明には「UDP for NICE DCV connection」と入力します。
タイプを RDP、ソースタイプを自分の IP、説明には「RDP」と入力します。
クリックすると拡大します
最後に、ストレージの設定を行います。
ボリュームサイズを「40GiB」に増やし、ボリュームタイプを「gp3」に変更します。
クリックすると拡大します
高度な詳細はそのままにして一番下までスクロールし、「インスタンスを起動」を押します。
インスタンスの作成 / 起動には 2 ~ 3 分程掛かりますが、インスタンスの状態が実行中に変わり、ステータスチェックに合格したら作成は完了です。
クリックすると拡大します
2-3. NICE DCV でインスタンスへ接続
NICE DCV Serverをインストールする際に、今回はリモートデスクトップを使用してインスタンスに接続します。
Amazon EC2 インスタンスの画面で、Contents Production のインスタンスにチェックをつけ、「接続」を押します。
クリックすると拡大します
「RDP クライアント」を選択し、リモートデスクトップファイルのダウンロードから RDP ファイルをダウンロードします。
「パスワードを取得」を押します。
クリックすると拡大します
プライベートキーファイルのアップロードを押して、2-2. で作成したキーペア (content production key.pem) を選択します。
パスワードを複合化を押すとパスワードが表示されるため、コピーしておきます。
macOSを使用してインスタンスへリモートデスクトップ接続を行うためには 専用ソフトのインストール が必要です。
クリックすると拡大します
ダウンロードした RDP ファイルを開くと、Password が聞かれるため、コピーしておいたパスワードを貼り付けて「Continue」を押します。
(Windows の方は画面が異なります。)
クリックすると拡大します
こちらのような画面が表示されたらインスタンスへのリモートデスクトップ接続は完了です。
クリックすると拡大します
クリックすると拡大します
2-4. インスタンスへ NVIDIA ドライバーをインストール
NVIDIA 製のグラフィックカードを正常に動作させるには、NVIDIA ドライバーは欠かせません。
NVIDIA GPU が搭載されたインスタンスにはインストールする必要があります。
今回は、3D モデルや高解像度動画などのコンテンツをレンダリングするアプリケーションに最適な GRID ドライバーをインストールします。
詳しいインストール方法は こちら をご覧ください。オプション 3: GRID ドライバー (G5、G4dn、および G3 インスタンス) のみ実行します。
~ ドキュメントの補足 ~
ドキュメントのオプション 3 : 手順 2では、AWS Tools for Powershell の認証に、IAM ユーザーで発行するアクセスキーを指定します。IAMユーザーでアクセスキーを発行していない場合、こちら から使用するユーザー名をクリックし、セキュリティ認証情報の下にあるアクセスキーから作成を行ってください。
以下のコマンドを実行することで、default として認証情報を設定できます。
Set-AWSCredential -AccessKey xxx -SecretKey xxx -StoreAs default
以下のコマンドを実行することで、保存した認証情報を確認できます。
Get-AWSCredential -ListProfileDetail
認証情報を登録できたら、手順 3 のコマンドをコピーして、実行してください。
クリックすると拡大します
オプション 3 の手順が完了したら、Windows アイコンを右クリックし、Task Manager を開きます。
「More Details」をクリックし、Performance を確認すると、GPU が使用されていることを確認できます。
クリックすると拡大します
2-5. データ転送に QUIC (UDP) が接続されるように設定
NICE DCV では、デフォルトで TCP に基づく Websocket プロトコルがデータの転送に使用されます。さらに低レイテンシの通信を行いたい場合、UDP に基づく QUIC プロトコルを使用するように設定を行うことができます。
詳しい設定方法は こちら をご覧ください。
~ ドキュメントの補足 ~
レジストリエディタを開く際は、タスクバーから検索ボックスをクリックし regedit と入力します。
[enable-quic-frontend] パラメータが見つからない場合は、右クリックしてパラメータの作成を行います。
クリックすると拡大します
画像のようにパラメータが表示されたら、設定完了です。
クリックすると拡大します
NICE DCV を使用して接続する場合、お使いの PC で NICE DCV Client を開きます。
Hostname or IP. Address に Amazon EC2 インスタンスのパブリック IPv4 アドレスを入力します。
クリックすると拡大します
Username には Administrator と入力し、Password には Amazon EC2 インスタンスの key を複合化した文字列を使用します。(リモートデスクトップ接続を行った時に使用した Password と同じです。)
「Login」を押して Windows のデスクトップが開かれたら接続成功です。
クリックすると拡大します
3. 共有ストレージを作成する
3-1. AWS Managed Microsoft AD を作成
マネジメントコンソールの検索窓から「Directory Service」と検索し、サービス欄にある Directory Service を選択します。
クリックすると拡大します
左側のサイドバーで「ディレクトリ」を選択し、「ディレクトリのセットアップ」を押します。
クリックすると拡大します
ディレクトリタイプはデフォルトの「AWS Managed Microsoft AD」が選択されていることを確認し、「次へ」を押します。
クリックすると拡大します
続いてディレクトリ情報を入力します。
今回は「Standard Edition」を選択します。従業員数が 5,000人を超える場合は Enterprise Edition の使用を検討してください。ディレクトリの DNS 名には「contentproduction.com」と入力します。
Admin パスワードは下に書かれている条件に一致した任意の文字列を設定します。設定したパスワードは後ほど使用するため、忘れないようにメモしておきましょう。
設定が完了したら「次へ」を押してください。
クリックすると拡大します
続いて、ネットワークの設定を行います。
VPC は先ほど作成した「content-production-vpc」を選択します。サブネットは最低二つ設定する必要があるので、追加のサブネットを作成します。
「新しいサブネットを作成」を押します。
クリックすると拡大します
新しいタブが開かれるので、そこでサブネットの作成を行います。
VPC ID に「content-production-vpc」を選択します。サブネット名には「content-production-subnet-public1-ap-northeast-1c」と入力します。アベイラビリティーゾーンは「ap-northeast-1c」を選択します。IPv4 サブネット CIDR ブロックに「10.0.16.0/20」と入力します。
設定が完了したら「サブネットを作成」を押します。
作成が完了したら、サブネットのタブは閉じて Directory Service の画面へ戻ります。
クリックすると拡大します
これで、content-production-vpc は二つのサブネットを持っている状態になったため、どちらもサブネットに設定します。
「次へ」を押し、確認画面の下の「ディレクトの作成」を押すとディレクトリの作成が行われます。
完了まで 20 分ほど時間がかかるので、ステータスがアクティブになるまでしばらくお待ちください。
クリックすると拡大します
3-2. Amazon FSx を作成
準備として、Amazon FSx に使用するセキュリティグループを作成します。
検索欄に「ec2」と入力し、サービス欄にある「EC2」を選択します。
左側のサイドバーで「セキュリティグループ」を選択し、「セキュリティグループを作成」を押します。
クリックすると拡大します
セキュリティグループ名を「content production FSx SG」として、説明にも「content production FSx SG」と入力します。VPC は「content-production-vpc」を選択します。インバウンドルールには、SMB Client と Administrator が使用する 2 つのポートを開放します。
インバウンドルールの「ルールを追加」を押し、タイプをカスタム「TCP」、ポート範囲を「445」、ソースを「Anywhere-IPv4」に設定します。
もう一度、インバウンドルールの「ルールを追加」を押し、タイプをカスタム「TCP」、ポート範囲を「5985」、ソースを「Anywhere-IPv4」に設定します。
設定が完了したら「セキュリティグループを作成」を押します。
クリックすると拡大します
検索欄に「fsx」と入力し、サービス欄にある「FSx」を選択します。
クリックすると拡大します
左側のサイドバーで「ファイルシステム」を選択し、「ファイルシステムを作成」を押します。
クリックすると拡大します
今回は Amazon FSx for Windows ファイルサーバー を使用します。
ファイルストレージサービスの選択に悩まれている方は、こちら のブログを参照してください。
「次へ」を押します。
クリックすると拡大します
今回は、作成方法に「スタンダート作成」を選択します。
ファイルシステム名に「content-production-storage」と入力します。今回はデモ環境のため、デプロイタイプは「シングル AZ 2」を選択します。
SSDストレージは 100Gib と入力します。VPCは「content-production-vpc」を選択します。VPC セキュリティグループは、先ほど作成した「content production FSx SG」を選択します。サブネットは、「ap-northeast-1a」を選択します。
AWS Managed Microsoft Active Directory には、先ほど作成した「contentproduction.com」を選択します。
「次へ」を押し、確認画面の下の「ファイルシステムを作成」を押すと作成が始まります。ステータスが利用可能になるまでしばらくお待ちください。
クリックすると拡大します
3-3. Managed Microsoft AD の ドメイン情報を VPC の DHCP オプションセットに設定
マネジメントコンソールの検索窓から「Directory Service」と検索し、サービス欄にある「Directory Service」を選択します。
作成したディレクトリ ID をクリックします。
ディレクトリの詳細にあるディレクトリの DNS 名とネットワーキングの詳細にある DNS アドレスをコピーしておきます。
クリックすると拡大します
マネジメントコンソールの検索窓から「vpc」と検索し、サービス欄にある「VPC」を選択します。
左側のサイドバーで「DHCP オプションセット」を選択し、「DHCP オプションセットを作成」を押します。
クリックすると拡大します
DHCP オプションセット名には、分かりやすいように先ほどコピーした AWS Managed Microsoft AD のドメイン名を入力します。ドメイン名も同じく、 AWS Managed Microsoft AD のドメイン名を入力します。ドメインネームサーバーには、先ほどコピーした DNS アドレスを入力します。
設定が完了したら「DHCP オプションセットを作成」を押します。
クリックすると拡大します
左側のサイドバーで「お使いの VPC」を選択し、「content-production-vpc」にチェックを入れます。アクションから 「VPC の設定を編集」を押します。
クリックすると拡大します
DHCP オプションセットに、作成した content-production.com を選択し、「保存」を押します。
これらの手順によって、VPC 内のリソースが Managed Microsoft AD を利用できるようになりました。
クリックすると拡大します
3-4. Managed Microsoft AD ドメインへの参加
左側のサイドバーで「Elastic IP」を選択し、「Elastic IP アドレスを割り当てる」を押します。
クリックすると拡大します
ネットワークボーダーグループに ap-northwast-1 が選択されていることを確認し、「割り当て」を押します。
クリックすると拡大します
作成した Elastic IP アドレスにチェックを入れます。
アクションから「Elastic IP アドレスの関連付け」をクリックします。
クリックすると拡大します
インスタンスに「Content Production」を選択し、プライベート IP アドレスはサジェストされた IP アドレスを選択します。
「関連付ける」を押します。
クリックすると拡大します
Amazon EC2 に接続し、AWS Managed Microsoft AD のドメインに参加させます。Amazon EC2 のパブリック IPv4 アドレスを変更したため、接続する際に再度確認してください。
接続したら、コントロールパネルを開き、System and Security から「System」を押します。
クリックすると拡大します
下にスクロールし、Related settings の「Advancesd system settings」を押します。
クリックすると拡大します
Computer Name を開き、「Change」を押します。
クリックすると拡大します
Domain に AWS Managed Microsoft AD のドメイン名を入力し、「OK」を押します。
クリックすると拡大します
Username に「Admin」と入力し、Password に「AWS Managed Microsoft AD 作成の際に設定したPassword」を入力します。
「OK」を押します。
クリックすると拡大します
画像のようなポップアップが出たら、ドメインへの参加が成功です。
表示に従って「OK」を数回押して、再起動が促されたらそのまま「Restart Now」をクリックします。
クリックすると拡大します
3-5. Amazon FSx と接続
マネジメントコンソールの検索窓から「fsx」と検索し、サービス欄にある「FSx」を選択します。
クリックすると拡大します
左側のサイドバーで「ファイルシステム」を選択し、作成した「ファイルシステム ID」を押します。
右上の「アタッチ」をクリックして、アタッチ手順 - デフォルトの DNS 名を使用の下にあるコマンドをコピーします。
再度 Amazon EC2 に接続し、PowerShell を開きます。PowerShell にコマンドを貼り付けて実行します。
Usernameを聞かれるため、「Admin@AWS Managed Microsoft AD のドメイン名」を入力します。Password は AD を作成した時に設定したパスワードを使用します。
ログインが成功したら、接続完了です。
クリックすると拡大します
File Explorer を開いて、Network locations に共有フォルダがあるかを確認してください。
クリックすると拡大します
4. ソフトウェアをインストールする
Amazon EC2 に接続した状態でブラウザを開き、DaVinci Resolve のダウンロードサイト にアクセスします。
「今すぐダウンロード」をクリックします。
※「DaVinci Resolve」は、Blackmagic Design Pty Ltd の商標または登録商標です。
(DaVinci Resolve より引用)
クリックすると拡大します
種類や OS を選択するポップアップが表示されるので、DaVinci Resolve の「Windows x86」をクリックします。
左の DaVinci Resolve は無料版で、右側の DaVinci Resolve Studio は有料版です。
個人情報の登録が必要になるので、ご自身が所属する会社のポリシーを確認し問題なければ、必要事項を入力した後、「登録 & ダウンロード」を押します。
(DaVinci Resolve より引用)
クリックすると拡大します
ダウンロードした zip フォルダを解凍し、exe ファイルをダブルクリックします。
ダブルクリックすると図のような画面ができるので、「Install」をクリックします。
ここからは画面の表示に合わせて、「Next」をクリック、使用許諾契約書の同意を行ってインストールを行います。
インストールを完了するために、再起動を求められるため「はい」をクリックして再度インスタンスへ接続してください。
(DaVinci Resolve より引用)
クリックすると拡大します
インスタンスへ接続して、DaVinci Resolve を開くと初期セットアップを行う必要があります。設定していただくか、スキップすることで図のような編集画面が開けます。
これで DaVinci Resolve インストールが完了しました。
(DaVinci Resolve より引用)
クリックすると拡大します
5. リソースの削除
これで環境構築は完了となります。最後に、料金が発生するリソースの削除方法をご紹介します。
- Amazon FSx for Windows ファイルサーバー のファイルシステムを削除
- AWS Managed Microsoft AD を削除
- Amazon EC2 インスタンスを終了
- VPC を削除
6. まとめ
最後までご覧いただきありがとうございました。
今回はクラウドのリソースを使って、コンテンツ制作環境を構築していただく手順をご紹介しました。
編集ソフトだけでなく、DCC (Digital Content Creation) ツールをインストールしてクラウド上でレンダリングを行うことも可能です。また、レンダーファームの管理や作成を行うことができる AWS Deadline Cloud というサービスも一般提供を開始しました。
ぜひ、ご自身の環境で構築して操作感を試していただければ幸いです。
筆者プロフィール
濵野 栞 (Shiori Hamano)
アマゾン ウェブ サービス ジャパン合同会社
ソリューションアーキテクト
主にメディア業界のお客様に対して技術支援を行っています。
プライベートでは体を動かすことが好きで、富士山登頂を目指しています!
AWS を無料でお試しいただけます