映画やゲームのCG制作の現場では、膨大な数のレンダリングジョブが毎日動いていると言われています。
1フレームの計算に何分もかかる処理を何千フレーム分、しかも締め切りに間に合わせながら回し続ける。
そのためには、ジョブを効率よく管理する専用のシステムが欠かせません。
AWSはそのレンダリング管理をクラウドで引き受けるサービスとして、AWS Deadline Cloudを提供しています。
そんな AWS Deadline Cloudの4月のアップデートでは、ジョブの送信前後にカスタムスクリプトを実行できる新機能が追加されました。
スタジオ独自のパイプラインをジョブ送信フローに直接組み込めるようになり、
といった作業を自動化できます。
そのアップデートに加え、そもそも「Deadline Cloudって何?」という方向けに、サービスの概要と基本的な使い方から整理します。
AWS Deadline Cloudとは
レンダリングファームとは何か
レンダリングファームとは、CGアニメーションや視覚効果(VFX)の映像を生成するために、大量のコンピュータを束ねて並列処理する仕組みのことです。
映画1本のCGシーンには数百万フレームの計算が発生することもあり、これを1台のPCでこなすのは現実的ではありませんよね。
数百台から数千台のサーバーに処理を分散させて、締め切りまでに仕上げるのがレンダリングファームの役割です。
AWS Deadline Cloudの位置づけ
改めての説明になりますが、AWS Deadline Cloudは、映画・テレビ・ゲーム・デザイン向けのCG制作チームのために、レンダリング管理を簡素化するフルマネージドサービスです。
オンプレミスのレンダリングファームを自前で維持するのは、サーバーの調達・管理・アップデートと手間がかかるのは想像の通りです。
その点、Deadline Cloudを使えば、そのインフラ管理をAWSに任せつつ、必要なときに必要なだけコンピューティングリソースをスケールさせることができます。
もともとDeadlineはThinkbox Software社が開発したレンダリング管理ソフトウェアで、スタジオ向けに広く使われてきたそうです。
AWSが買収後にクラウドネイティブなサービスとして再構築したものが、現在のDeadline Cloudなんですね。
AWS Deadline Cloudの基本的な使い方
Deadline Cloudを使い始めるときの大まかな流れを説明します。
① ファームとキューを作成する
AWSコンソールからDeadline Cloudを開き、
を作成します。
キューには使用するワーカーフリート(EC2インスタンスのグループ)を紐づけます。
オートスケーリングを設定しておくと、ジョブの量に応じてインスタンス数が自動で増減してくれます。
② ジョブをサブミットする
MayaやBlender、Nuke、HoudiniなどのDCCツール(デジタルコンテンツ制作ツール)向けのプラグインや、Deadline CloudのCLIを使ってジョブを送信します。
ジョブには使用するソフトウェア・レンダリングするフレーム範囲・優先度などを設定します。
③ ワーカーが処理を実行する
Deadline Cloudが自動的にジョブをワーカーに割り当て、EC2インスタンス上でレンダリングが実行されます。
進捗はコンソールやモニタリングツールでリアルタイムに確認することができます。
④ 結果ファイルを受け取る
レンダリング済みの画像・動画ファイルはS3などのストレージに自動で出力されます。
完了後に通知を受け取る設定も可能で、アーティストはレンダリング完了を待ちながら別の作業を進められるのは嬉しいですね。
今回のアップデート:カスタムスクリプトで何が変わった?
今回追加されたのは、ジョブの送信前後にカスタムスクリプトを自動実行できる機能です。
の2種類があります。
送信前スクリプト(Pre-submission script)
ジョブの添付ファイルがアップロードされる前に実行されます。
具体的には以下のような処理を自動化できます。
送信後スクリプト(Post-submission script)
ジョブが作成された後に実行されるスクリプトです。
以下のような後処理を自動化できます。
設定方法はシンプルなYAML/JSONファイル
スクリプトはYAMLまたはJSONの設定ファイルで定義します。
そのスクリプトを、ジョブバンドルのディレクトリか、環境変数で指定したスタジオ共有ディレクトリに置くだけで有効になります。
各スクリプトはジョブのメタデータを自動で受け取ることができ、タイムアウト設定も可能です。
パイプラインチームがスクリプトを一度作成しておけば、全アーティストのジョブ送信に一律で適用されます。
個人ごとの設定漏れやミスを防ぎながら、スタジオ全体の標準を維持しやすくなりますね。
CG制作パイプラインの自動化がさらに一歩進んだ
今回のアップデートをひと言でまとめると、
ジョブ送信の前後を自分たちのルールで自動化できるようになった
です。
大規模なスタジオほど「誰がサブミットしても同じ品質・同じフローで動く」ことが重要ですよね。
このカスタムスクリプト機能は、その標準化をコードベースで実現する手段として、パイプラインエンジニアには特に嬉しい追加機能ではないでしょうか。


