2018.03.12

Azure Batch Renderingの紹介&導入ガイド

ようこそ、Azure Batch Rendering!NS-RenderのTrevorです。

Azure Batch Rendering(ABR)とは、Microsoftが提供しているハイブリッドPAASのクラウド上の3D CGコンテンツのレンダリングサービスです。2015年にリリースされたAzure Batchの元で、ABRはAzureのスケーリングと仮想マシンを利用していて、完璧なレンダー環境を客様へ渡せることです。ABRのドキュメンテーションで、詳細情報が書いてあります。

ABRのPAASソリューションはいくつのリソースがあります:
  • レンダーノードのためのAzureのバッチサービスアカウント
  • シーンと結果ファイルのためのAzureのブロブストレージのアカウント
  • ディスパッチャーのアプリケーション
    • Maya 2017のABRプラグイン
    • BatchLabsというサードパーティーツール

Azureのリソースの作成について

ABRでジョブを投げる前に、バッチサービスアカウントと関連されているブロブストレージのコンテイナーを作成する必要があります。Azureで色々な方法でリソースを作成できますが、この紹介では一番簡単なポータル上(ARM)でリソースを作成する方法を案内します!

始める前に、下記の事を確認してください:
  • Azureのポータルをアクセスできます。
  • リソース作成権限を持っています。
  • バッチアカウントを作成できるサブスクリプションがあります。

バッチアカウントとストレージコンテナの作成

勿論、一番重要なステップはレンダリングするためのバッチアカウントを作成するのですね。バッチアカウントを作成するのプロセスは随分簡単ですが、この紹介ガイドを従ったらもっと簡単になりますよ!

  1. Step 1: バッチサービス作成

    Azureでマーケットプレイス(左上の新規ボタン)を開き、英文字で「Batch」を検索します。「Batch サービス」のオプションを選択しして、青い作成ボタンを押したら、作成プロセスが開始されます。
  2. バッチアカウントは必ず唯一の名前が必要です。アカウントの名前は英文字の小文字しか対応できませんので、考慮してから名を入力します。今回、「nsbatchtutorial」の名前を使いますが、事由に決めてもいいです。次は、どちらのサブスクリプションとそのサブスクリプションのどのリソースグループを利用する事を決めます。バッチアカウントを作成したら、後程リジョンを変更できませんので、正しいリジョンを気を付けて選択します。おすすめは西日本です(東日本リージョンより安くて、転送速度は変わらず利用できます)!

    各バッチサービスは繋いでいるストレージアカウントが必要です。ストレージのコンテナでは、レンダーのシーンとアセットファイルも、レンダリングの結果ファイルは保管されます。バッチアカウントとストレージアカウントは同じリジョンではない場合、接続できないことです。一貫性のため、私はできればバッチアカウント名とストレージアカウント名を同じに設定します。
    もう1つのポイントは、ABRを利用するため、バッチアカウントは「Batch service」の「Pool allocation」種類を選択します。「User subscription」の種類ではABRを利用できません。「作成」ボタンを作成します。
  3. Step 2: バッチアカウント&クォータ

    じゃあ、バッチアカウントが無事に作成できたら、左のメニューで「その他のサービス」のアイテムを開き、「Batch accounts」の画面を開きます。バッチアカウント一覧で作成したバッチアカウントを選択します。「Overview」のUIを確認しましょう。こちらで重要な利用情報を確認できます。「Account Usage」の部分は利用状況を軽く表示してくれますので、簡単にバッチのクォータ利用を確認できます。
  4. クォータに関して、左側のナビエリアで「Quotas」メニューアイテムを開くと、一番大事な4つのクォータの種類と数字を確認できます。最後の「Subscription Batch Account Quota」のクォータはサブスクリプションのバッチアカウントの上限です。

    クォータの説明は:
    1. Dedicated Core Quota: 専用マシンのコアクォータ → 普通の仮想マシン単価と同じ、基本のバッチノードのクォータです。
    2. Low priority core quota: 低優先度マシンのコアクォータ → 特別のバッチの仮想マシンで、大体8割引きの単価があります。こちらで詳細を読めます
    3. Active job and job schedule quota:レンダージョブを幾つ同時に実行できる事です。
    4. Pool quota: プールは幾つ同時に存在できる事です。
  5. Step 3: レンダープール作成

    上記の「Pool quota」は1つのバッチアカウントでプール何台を同時に利用できるという上限です。左のナビで「Pools」のメニューを開けば、現在に立ち上がり中のプールステータスを確認できます。プールの管理画面で、プールの状況を確認し、プールを新規作成し、プールを削除する事も出来ます。
  6. プールを作成する場合、適切なレンダリング環境を作るため、下記の情報を入力する事が必要です。先ずはプール一覧画面で、右の方で「Add」ボタンを押します。
    • 覚えやすく、わかりやすいプールIDを記入します
    • 「Image Type」に「Graphics and rendering (Linux/Windows)」を選択します
    • 「Publisher」に「 Microsoft Azure Batch」 を選択します(自動)
    • 「Offer」には、WindowsかLinuxを選択できますが、おすすめはWindowsです。
    • 「SKU」に「rendering」を選択します (自動)
    • 必要なライセンスを選択します。今回はMayaとArnoldです。EULAを確認してからチェックボックスを有効します。
    • 「Node size」の選択肢はレンダーノードのCPUコア数やメモリー量等を設定します。御社のパフォーマンステストの結論で、D15_v2はおすすめです!コストパフォーマンスはD15_v2一番いいです。
    • 必ず「Fixed」スケールModeを選択します。今回1つの専用ノードと1つの低優先度ノードを利用します(デフォルトクォータは20コアだけですので、クォータ依頼するまで1つのD15v2しか使えません!)
      クォータの上限以上のコア数を利用できませんので、超えたらプールは作成してくれません。是非クォータを確認してください。
    • 上記以上はデフォルトでいいです!「Ok」ボタンを押します。
  7. プールは作成されて、レンダーノードは自動に立ち上がられます。このプロセスは大抵3~8分掛かります。
  8. Step 4: レンダープール削除

    ノードが青いから灰色になったら、作成プロセスは完了です。青い状態から従量課金になりますので、お金を無駄に使わないため、早めにプールを削除しましょう!一番上の4つのボタン列の中の「Delete」ボタンを押して、削除画面でプールのIDを記入して、青い「Delete」ボタンを押します。

よくできましたね!Azure Batch Rendering用のはじめのレンダリング環境を作成できました。次の記事でこのアカウントを利用して、MayaとArnoldのシーンのバッチレンダリングを実行してみましょう。

この記事をシェアする