Azure を使用したレンダリングRendering using Azure

レンダリングとは、3D モデルを取得して 2D 画像に変換するプロセスです。Rendering is the process of taking 3D models and converting them into 2D images. 3D シーン ファイルの作成には、Autodesk 3DS Max、Autodesk Maya、Blender などのアプリケーションが使用されます。3D scene files are authored in applications such as Autodesk 3ds Max, Autodesk Maya, and Blender. Autodesk Maya、Autodesk Arnold、Chaos Group V-Ray、Blender Cycles などのレンダリング アプリケーションでは、2D 画像が生成されます。Rendering applications such as Autodesk Maya, Autodesk Arnold, Chaos Group V-Ray, and Blender Cycles produce 2D images. 単一の画像がシーン ファイルから作成されることもあります。Sometimes single images are created from the scene files. しかし、一般的には、複数の画像がモデル化およびレンダリングされた後、それがアニメーションに結合されます。However, it's common to model and render multiple images, and then combine them in an animation.

レンダリング ワークロードは、メディアおよびエンターテイメント業界で特殊効果 (VFX) によく使用されています。The rendering workload is heavily used for special effects (VFX) in the Media and Entertainment industry. また、広告、小売、石油とガス、製造など、他にもレンダリングが使用されている業界は多数あります。Rendering is also used in many other industires such as advertising, retail, oil and gas, and manufacturing.

レンダリングのプロセスは演算の負荷が大きく、生成されるフレームや画像が大量になるため、各画像をレンダリングするのに何時間もかかることがあります。The process of rendering is computationally intensive; there can be many frames/images to produce and each image can take many hours to render. このため、レンダリングは、Azure および Azure Batch を利用して多数のレンダーを並列実行できる、最適なバッチ処理ワークロードです。Rendering is therefore a perfect batch processing workload that can leverage Azure and Azure Batch to run many renders in parallel.

レンダリングに Azure を使用する理由Why use Azure for rendering?

レンダリングが Azure および Azure Batch に最適なワークロードである理由は多数あります。For many reasons, rendering is a workload perfectly suited for Azure and Azure Batch:

  • レンダリング ジョブを複数の処理に分割し、複数の VM を使って並列実行できる。Rendering jobs can be split into many pieces that can be run in parallel using multiple VMs:
    • アニメーションは多数のフレームで構成され、各フレームを並列レンダリングできます。Animations consist of many frames and each frame can be rendered in parallel. 各フレームの処理に使用できる VM が多いほど、すべてのフレームとアニメーションを速く生成できます。The more VMs available to process each frame, the faster all the frames and the animation can be produced.
    • レンダリング ソフトウェアの中には、1 つのフレームをタイルやスライスなどの複数の部分に分割できるものがあります。Some rendering software allows single frames to be broken up into multiple pieces, such as tiles or slices. 各部分を個別にレンダリングし、すべてのレンダリングが完了した時点で、最終的な画像に結合できます。Each piece can be rendered separately, then combined into the final image when all pieces have finished. 使用できる VM が多いほど、フレームを速くレンダリングできます。The more VMs that are available, the faster a frame can be rendered.
  • レンダリング プロジェクトには膨大なスケールが必要。Rendering projects can require huge scale:
    • 個々のフレームは複雑で、ハイエンドのハードウェアでもレンダリングに相当な時間がかかる場合があります。また、アニメーションは何十万というフレームで構成されていることもあります。Individual frames can be complex and require many hours to render, even on high-end hardware; animations can consist of hundreds of thousands of frames. 高品質のアニメーションを妥当な時間でレンダリングするには、膨大なコンピューティングが必要です。A huge amount of compute is required to render high-quality animations in a reasonable amount of time. 場合によっては、100,000 を超えるコアが、数千のフレームを並列でレンダリングするために使用されています。In some cases, over 100,000 cores have been used to render thousands of frames in parallel.
  • レンダリング プロジェクトはプロジェクト ベースであり、さまざまな量のコンピューティングが必要。Rendering projects are project-based and require varying amounts of compute:
    • 必要に応じてコンピューティングとストレージ容量を割り当て、プロジェクト中に負荷に応じてスケールアップまたはスケールダウンし、プロジェクトが完了したら削除します。Allocate compute and storage capacity when required, scale it up or down according to load during a project, and remove it when a project is finished.
    • 割り当てられている容量に対して課金されます。プロジェクトとプロジェクトの間など、負荷がかかっていない容量については課金されません。Pay for capacity when allocated, but don’t pay for it when there is no load, such as between projects.
    • 予期しない変更によるバーストに対応します。プロジェクトの後半に予期しない変更があり、それらの変更を厳しいスケジュールで処理する必要がある場合は、スケールアップします。Cater for bursts due to unexpected changes; scale higher if there are unexpected changes late in a project and those changes need to be processed on a tight schedule.
  • アプリケーション、ワークロード、および期間に従って、さまざまなハードウェアから選択可能。Choose from a wide selection of hardware according to application, workload, and timeframe:
    • Azure では様々なハードウェアが用意されており、Batch での割り当ておよび管理が可能です。There’s a wide selection of hardware available in Azure that can be allocated and managed with Batch.
    • プロジェクトごとに、要件として最適な価格やパフォーマンスが求められる場合や、最適な全体的パフォーマンスが求められる場合があります。Depending on the project, the requirement may be for the best price/performance or the best overall performance. シーンやレンダリング アプリケーションが違えば、メモリ要件も異なってきます。Different scenes and/or rendering applications will have different memory requirements. レンダリング アプリケーションの中には、最高のパフォーマンスまたは特定の機能を実現するために GPU を活用するものもあります。Some rendering application can leverage GPUs for the best performance or certain features.
  • 低優先度 VM によるコスト削減。Low-priority VMs reduce costs:
    • 低優先度 VM により、通常のオンデマンド VM と比較して大幅な割引が実現します。これは一部のジョブの種類に適しています。Low-priority VMs are available for a large discount compared to regular on-demand VMs and are suitable for some job types.
    • Azure Batch によって低優先度 VM を割り当てることができます。この Batch では、VM を柔軟に使用して広範な要件に対応できます。Low-priority VMs can be allocated by Azure Batch, with Batch providing flexibility on how they are used to cater for a broad set of requirements. Batch プールは専用 VM と低優先度 VM の両方で構成されます。VM の種類の組み合わせはいつでも変更できます。Batch pools can consist of both dedicated and low-priority VMs, with it being possible to change the mix of VM types at any time.

Azure でのレンダリング オプションOptions for rendering on Azure

Azure ではさまざまな機能をレンダリング ワークロードに使用できます。There are a range of Azure capabilities that can be used for rendering workloads. どの機能を使用するかは、既存の環境および要件によって異なります。Which capabilities to use depends on any existing environment and requirements.

レンダー管理アプリケーションを使用した既存のオンプレミス レンダリング環境Existing on-premises rendering environment using a render management application

最もよくあるのは、PipelineFX Qube、Royal Render、Thinkbox Deadline などのレンダー管理アプリケーションによって管理されている既存のオンプレミス レンダー ファームです。The most common case is for there to be an existing on-premises render farm being managed by a render management application such as PipelineFX Qube, Royal Render, or Thinkbox Deadline. 要件は、Azure VM を使用してオンプレミス レンダー ファームの容量を拡張することです。The requirement is to extend the on-premises render farm capacity using Azure VMs.

レンダー管理ソフトウェアには Azure サポートが組み込まれている場合と、Microsoft で Azure サポートを追加するプラグインを利用できるようにする場合があります。The render management software either has Azure support built-in or we make available plug-ins that add Azure support. サポートされているレンダー マネージャーおよび有効な機能の詳細については、レンダー マネージャーの使用に関する記事をご覧ください。For more information on the supported render managers and functionality enabled, see the article on using render managers.

カスタム レンダリング ワークフローCustom rendering workflow

要件は、VM で既存のレンダー ファームを拡張することです。The requirement is for VMs to extend an existing render farm. Azure Batch プールでは多数の VM を割り当てて、低優先度 VM の使用を許可し、フルプライスの VM とともに動的に自動スケーリングできます。また、一般的なレンダリング アプリケーションについては従量課金制のライセンスが用意されています。Azure Batch pools can allocate large numbers of VMs, allow low-priority VMs to be used and dynamically auto-scaled with full-priced VMs, and provide pay-for-use licensing for popular rendering applications.

既存のレンダー ファームなしNo existing render farm

クライアント ワークステーションでレンダリングを実行できる場合もありますが、レンダリング ワークロードが増加してしまい、ワークステーションの能力を占有するには時間がかかり過ぎることがあります。Client workstations may be performing rendering, but the rendering workload is increasing and it is taking too long to solely use workstation capacity. Azure Batch を使用すると、レンダー ファームのコンピューティングをオンデマンドで割り当てることも、レンダリング ジョブのスケジュールを Azure レンダー ファームに設定することもできます。Azure Batch can be used to both allocate render farm compute on-demand as well as schedule the render jobs to the Azure render farm.

Azure Batch Rendering の機能Azure Batch rendering capabilities

Azure Batch を使用すると、Azure で並列ワークロードを実行できます。Azure Batch allows parallel workloads to be run in Azure. これにより、アプリケーションがインストールおよび実行されている VM を多数作成して管理することができます。It enables the creation and management of large numbers of VMs on which applications are installed and run. また、これらのアプリケーションのインスタンスを実行するための包括的なジョブ スケジュール機能も用意されており、VM へのタスクの割り当て、キュー登録、アプリケーション監視などが可能です。It also provides comprehensive job scheduling capabilities to run instances of those applications, providing the assignment of tasks to VMs, queuing, application monitoring, and so on.

多くのワークロードで Azure Batch を使用できますが、次の機能は、特にレンダリング ワークロードをよりすばやく簡単に実行するために利用できます。Azure Batch is used for many workloads, but the following capabilities are available to specifically make it easier and quicker to run rendering workloads.

  • 事前インストールされたグラフィックスおよびレンダリング アプリケーションを含む VM イメージ:VM images with pre-installed graphics and rendering applications:
    • Azure Marketplace VM イメージを使用でき、これには一般的なグラフィックスおよびレンダリング アプリケーションが含まれます。自分でアプリケーションをインストールしたり、アプリケーションがインストールされている独自のカスタム イメージを作成したりする必要はありません。Azure Marketplace VM images are available that contain popular graphics and rendering applications, avoiding the need to install the applications yourself or create your own custom images with the applications installed.
  • レンダリング アプリケーション用の従量課金制ライセンス:Pay-per-use licensing for rendering applications:
    • コンピューティング VM に対する支払いに加え、アプリケーションへの分単位での課金を選択できます。これにより、ライセンスを購入したり、アプリケーション用にライセンス サーバーを構成したりする必要がなくなります。You can choose to pay for the applications by the minute, in addition to paying for the compute VMs, which avoids having to buy licenses and potentially configure a license server for the applications. また、従量課金制では、ライセンス数が固定されていないため、負荷の変化や予期しない負荷に対応することもできます。Paying for use also means that it is possible to cater for varying and unexpected load as there is not a fixed number of licenses.
    • 従量課金制ライセンスを使用せずに、事前インストールされたアプリケーションを、ご自身のライセンスで使用することもできます。It is also possible to use the pre-installed applications with your own licenses and not use the pay-per-use licensing. 通常、このためには、オンプレミスまたは Azure ベースのライセンス サーバーをインストールし、Azure 仮想ネットワークを使用して、ライセンス サーバーにレンダリング プールを接続します。To do this, typically you install an on-premises or Azure-based license server and use an Azure virtual network to connect the rendering pool to the license server.
  • クライアント設計およびモデリング アプリケーション用のプラグイン:Plug-ins for client design and modeling applications:
    • プラグインを使用すると、エンドユーザーが、Autodesk Maya などのクライアント アプリケーションから直接 Azure Batch を利用して、プールの作成やジョブの送信を行うことができます。また、より多くのコンピューティング能力を活用すれば、レンダリング処理を高速化できます。Plug-ins allow end-users to utilize Azure Batch directly from client application, such as Autodesk Maya, enabling them to create pools, submit jobs and make use of more compute capacity to perform faster renders.
  • レンダー マネージャーの統合:Render manager integration:
    • Azure Batch がレンダー管理アプリケーションに統合されているか、プラグインを使用して Azure Batch 統合が提供されます。Azure Batch is integrated into render management applications or plug-ins are available to provide the Azure Batch integration.

Azure Batch は複数の方法で使用できますが、そのすべての方法が Azure Batch Rendering に適用されます。There are several ways to use Azure Batch, all of which also apply to Azure Batch rendering.

  • API:APIs:
    • REST.NETPythonJava、またはその他のサポートされている API を使用してコードを記述します。Write code using the REST, .NET, Python, Java, or other supported APIs. 開発者は、クラウドかオンプレミス ベースかにかかわらず、既存のアプリケーションまたはワークフローに Azure Batch 機能を統合できます。Developers can integrate Azure Batch capabilities into their existing applications or workflow, whether cloud or based on-premises. たとえば、Autodesk Maya プラグインでは、Batch の呼び出しに Batch Python API が使用され、プールの作成と管理、ジョブおよびタスクの送信、ステータスの監視が行われます。For example, the Autodesk Maya plug-in utilizes the Batch Python API to invoke Batch, creating and managing pools, submitting jobs and tasks, and monitoring status.
  • コマンドライン ツール:Command-line tools:
    • Azure コマンド ラインまたはAzure PowerShell を使用すると、Batch の使用のスクリプトを作成できます。The Azure command line or Azure PowerShell can be used to script Batch use.
    • 特に、Batch CLI テンプレートのサポートにより、プールの作成とジョブの送信が大幅に容易になります。In particular, the Batch CLI template support makes it much easier to create pools and submit jobs.
  • UI:UIs:
    • Batch Explorer は、Batch アカウントを管理および監視することもできるクロス プラットフォーム クライアント ツールですが、Azure portal の UI よりも充実した機能がいくつか用意されています。Batch Explorer is a cross-platform client tool that also allows Batch accounts to be managed and monitored, but provides some richer capabilities compared to the Azure portal UI. サポートされている各アプリケーション用にカスタマイズされた一連のプールおよびジョブ テンプレートがあり、このようなテンプレートを使うことで、プールの作成やジョブの送信を容易に行うことができます。A set of pool and job templates are provided that are tailored for each supported application and can be used to easily create pools and to submit jobs.
    • Azure portal を使用して、Azure Batch を管理および監視できます。The Azure portal can be used to manage and monitor Azure Batch.
  • クライアント アプリケーション プラグイン:Client application plug-in’s:
    • Batch Rendering をクライアント設計およびモデリング アプリケーション内から直接使えるようにするプラグインを使用できます。Plug-ins are available that allow Batch rendering to be used from directly within the client design and modeling applications. このプラグインでは、主に、現在の 3D モデルに関するコンテキスト情報が含まれる Batch Explorer アプリケーションが呼び出されます。The plug-ins mainly invoke the Batch Explorer application with contextual information about the current 3D model.
    • 次のプラグインを使用できます。The following plug-ins are available:

Azure Batch Rendering の使用開始Getting started with Azure Batch rendering

Azure Batch Rendering を試すには、次の入門チュートリアルを参照してください。See the following introductory tutorials to try Azure Batch rendering:

次の手順Next steps

こちらの記事で、Azure Marketplace VM イメージに含まれているレンダリング アプリケーションとバージョンの一覧を確認します。Determine the list of rendering applications and versions included on the Azure Marketplace VM images in this article.