AWS Deadline Cloudでクラウドレンダリングしてみた

DeadlineCloud

はじめに

MBSでCGを担当しております入社2年目の村井です。

クラウドレンダリングを行うために、AWS Thinkbox Deadline 10を利用して環境を構築している、という方は多いのではないでしょうか。

弊社でもクラウドレンダリングを行うためにDeadline 10を使用しています。
(弊社の市川が作成したDeadline 10の資料はこちら

ただ、従来のDeadline 10では以下のような点が気になりました。

  • 構築がとにかく複雑
  • コスト削減方法として、利用期間外はEC2インスタンスを停止させるなどの方法がある ただし、その場合はEC2インスタンスの起動・停止をユーザ側で管理する必要がある
  • ポート番号管理が煩雑

私も半年ほど前からDeadline10を触っていますが、未だに理解できていない部分が多々あります。。。

そんな中、2024年4月にこれらの点を全てクリアしたAWS Deadline Cloudが発表されました!
先日、ラスベガスで行われた世界最大の放送機器展「NAB Show 2024」でもProduct of the Yearを獲得した、大注目のサービスです。 (「NAB SHOW 2024」の様子はこちら

AWS Deadline Cloudの主なメリットはこちらです。

  • 構築が簡単
  • EC2インスタンスをユーザ側で管理する必要が無いため、停止し忘れる心配が無い
  • ポート番号管理が容易
  • S3やIAMロールなどが自動的に作成される
  • 別アカウント,別支払いが必要だった従量課金ライセンス(UBL)がAWSアカウントに統合
    (費用の支払いをAWSに一元化することが可能)
  • オンプレミスのサーバーが必要無く、オールクラウドで使用可能

まだまだ他にもメリットはありそうですが、私が特に感動した点を挙げました。

元々Deadline 10を使用していたユーザにとっては、信じられないほどお手軽で使いやすくなっています。
また、環境構築にAWSやネットワークの知識がそれほど必要ないため、クラウドレンダリングに興味はあったけど手が出なかったという方にも非常にオススメです。

リリースされたばかりで、開発中の部分も多々ありますが、今のうちからたくさん触ってDeadline Cloudマスターを目指したいと思います!

というわけで今回は、AWS Deadline Cloudを用いて環境構築を行う手順を紹介します。

AWS Deadline Cloudを実際に触ってみる

環境構築からレンダリングまでの流れはこちらです。

  1. Deadline Cloudをセットアップ
    1. Deadline Cloudのコンソール画面へ移動
    2. Deadline Cloudのセットアップを開始
    3. モニターの設定
    4. ファームの設定
    5. キューの設定
    6. フリートの設定
  2. サブミッターとモニターをインストール
    1. 各インストーラのダウンロード
    2. サブミッターのインストール
    3. モニターのインストール
  3. 3DCGソフトからジョブを送信
    1. モニターの設定
    2. サブミッタープラグインの有効化とジョブの送信

1. Deadline Cloudをセットアップ

1-1. Deadline Cloudのコンソール画面へ移動

まずマネジメントコンソールでDeadline Cloudと検索し、Deadline Cloudのページに移動して右上の「Deadline Cloudをセットアップ」をクリックします。

1-2. Deadline Cloudのセットアップを開始

「AWS Deadline Cloudのセットアップへようこそ」と表示されるのでNextをクリック

1-3. モニターの設定

モニターはジョブの進行状況の確認や、使用料の確認などに用いられます。

モニター名を入力します。

1-4. ファームの設定

ファームとは、Deadline Cloudのリソースが置かれる場所です。

Deadline Cloudのリソースへアクセスするグループとアクセスレベルを決めます。
グループを選択し、そこにアクセスレベルを割り当てます。


もしAWS Organizationsを使用していない場合は、以下のような画面になります。
指示通りに内容を入力します。


アクセスレベルは以下の4段階です。(公式ドキュメントを参照し、日本語訳を一部変更)

  • Viewer
    アクセスできるファーム、キュー、フリート、ジョブ内のリソースを表示する権限があります。Viewerはジョブを送信したり変更したりすることはできません。
  • Contributor
    Viewerの権限に加えて、キューまたはファームにジョブを送信する権限があります。
  • Manager
    Contributorの権限に加えて、アクセス権を持つキュー内のジョブを編集し、アクセス権を持つリソースに対する権限を付与する権限を持ちます。
  • Owner
    Managerの権限に加えて、予算を表示および作成し、使用状況を確認できる権限を持ちます。

Viewerが1番弱く、Ownerが1番強い権限となっています。
今回は、システム管理者のOwner、クラウドレンダリングを行うユーザのContributor、という想定で2つのアクセスレベルのグループを作成します。

1-5. キューの設定

レンダリングに使用するS3バケットを選択します。
ここで新たにS3バケットが作られる設定になっているため、手動でS3バケットを作成する必要はありません。

1-6. フリートの設定

インスタンスの購入タイプは、オンデマンドインスタンスに比べ料金が最大90%オフになるスポットインスタンスがオススメです。
(スポットインスタンスは途中で終了する可能性がありますが、その場合は別のスポットインスタンスが立ち上がりレンダリングを継続します。)

自動スケーリング数のデフォルトは、最小インスタンス数が0、最大インスタンス数が10です。
最小インスタンス数を0にしておけば、キューにジョブがない時はフリートが立ち上がらないため、余計な費用がかかりません。


レビューを行い問題なければ、CreateFarmをクリックします。

数分でオンボーディングが完了します。


※AWS Organizationsを使用していない場合
オンボーディング後にユーザパスワードのリセットが必要です。
ユーザーのパスワードをリセットをクリックし、手順に沿ってパスワードリセットを行います。


マネジメントコンソール上での設定は以上です。

2.サブミッターとモニターのインストール

2-1. 各インストーラのダウンロード


ダッシュボード画面へ移動し、画面左のダウンロードをクリックします。


3DCGソフトからジョブを投げるためのサブミッターと、レンダリングの進行状況や費用など確認するためのモニターのインストーラをダウンロードします。
Windows環境の場合は、以下のインストーラを選択します。

2-2. サブミッターのインストール


サブミッターのインストーラを開きます。
指示に従い進めていきます。

この画面で、使用する3DCGソフトに合わせたサブミッターを選択します。

2-3. モニターのインストール


モニターのサブミッターを開きます。
こちらも手順に従い進めていきます。

基本的には全てデフォルトのままで問題ありません。

インストール後、モニターアプリを起動します。

3. 3DCGソフトからジョブを送信

ここからいよいよジョブを送信するための設定をしていきます

3-1 モニターの設定


モニターを開くと以下のようにURLを求められます。


ダッシュボードに表示されているURLをコピーし、貼り付けます。


次にプロフィール名を設定します。
ローカルでのみ使用するプロフィール名なので、デフォルトのままで大丈夫です。


作成して起動をクリックします。


ブラウザに遷移し、認証を行います

これでモニター側の設定は終了です。

3-2. サブミッタープラグインの有効化とジョブの送信


今回はMAYA2024を使用します。
※3DCGソフトを開く前にモニターアプリを立ち上げておいてください。

MAYAを開き
ウィンドウ>設定/プリファレンス>プラグインマネージャ
を選択します。


deadlineと検索し、ロードと自動ロードにチェックを入れ、閉じます。


するとAWS Deadlineというタブが作成されるので、タブを選択しDeadline Cloudのマークをクリックします。


このような画面が出ます。


下の3つの設定(Credential source・Authentication status・AWS Deadline Cloud API)が緑色の状態であればジョブをSubmitできます。

こちらのようにファームとキューが選択されていない場合は、settingsからDefault FarmとDefault Queueを自身で作成したものに変更します。


もしAuthentication Statusに警告が出る場合は、Loginをクリックし、再度モニターを開いてログインし直します。


Submit可能な状態であることを確認しSubmitをクリックします。

警告が出るのでOKをクリックします。
(S3の容量を使うと課金が発生しますがいいですか?という警告)


モニターを開き、ジョブが送信されたことを確認します。


Fleetを確認すると、上限の10個が立ち上がっていることが分かります。


レンダリング終了後、対象のジョブを右クリックし、Download Outputを選択してレンダリング結果をダウンロードします。


レンダリング終了後にフリートを確認すると、ワーカーが1つも立ち上がっていないことが確認できます。 この状態であれば費用は発生しません。(S3の費用は除く)

まとめ

AWS Deadline Cloudを用いてクラウドレンダリングを行う方法を紹介しました。

セットアップからレンダリングまで、数十分で行えました。
ぜひみなさんにもこのお手軽さを感じていただきたいです!

まだ本番環境で使用していないため今回はご紹介できませんでしたが、予算や使用状況の管理などもモニターから簡単に出来そうです。

今後も検証を続け、またご報告いたします!

Next Post Previous Post