翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ジョブにアプリケーションを提供する
キュー環境を使用して、ジョブを処理するアプリケーションをロードできます。Deadline Cloud コンソールを使用してサービスマネージドフリートを作成する場合、conda パッケージマネージャーを使用してアプリケーションをロードするキュー環境を作成するオプションがあります。
別のパッケージマネージャーを使用する場合は、そのマネージャーのキュー環境を作成できます。Rez の使用例については、「」を参照してください別のパッケージマネージャーを使用する。
Deadline Cloud は、選択したレンダリングアプリケーションを環境にロードするための conda チャネルを提供します。Deadline Cloud がデジタルコンテンツ作成アプリケーションに提供する送信者をサポートします。
ジョブで使用する conda-forge 用のソフトウェアをロードすることもできます。次の例は、Deadline Cloud が提供するキュー環境を使用してジョブを実行する前にアプリケーションをロードするジョブテンプレートを示しています。
conda チャネルからアプリケーションを取得する
選択したソフトウェアをインストールする Deadline Cloud ワーカーのカスタムキュー環境を作成できます。このサンプルキュー環境の動作は、 コンソールでサービスマネージドフリートに使用される環境と同じです。conda を直接実行して環境を作成します。
環境は、ワーカーで実行される Deadline Cloud セッションごとに新しい conda 仮想環境を作成し、完了すると環境を削除します。
Conda はダウンロードしたパッケージをキャッシュするため、再度ダウンロードする必要はありませんが、各セッションではすべてのパッケージを環境にリンクする必要があります。
環境は、Deadline Cloud がワーカーでセッションを開始するときに実行される 3 つのスクリプトを定義します。最初のスクリプトは、onEnterアクションが呼び出されたときに実行されます。他の 2 つを呼び出して環境変数を設定します。スクリプトの実行が完了すると、指定されたすべての環境変数が設定された conda 環境を使用できます。
この例の最新バージョンについては、GitHub の deadline-cloud-samples
conda チャネルで使用できないアプリケーションを使用する場合は、Amazon S3 で conda チャネルを作成し、そのアプリケーション用に独自のパッケージを構築できます。詳細については、「S3 を使用して conda チャネルを作成する」を参照してください。
conda-forge からオープンソースライブラリを取得する
このセクションでは、conda-forgeチャネルからオープンソースライブラリを使用する方法について説明します。次の例は、Python polars パッケージを使用するジョブテンプレートです。
ジョブは、パッケージを取得する場所を Deadline Cloud に指示するキュー環境で定義された CondaPackagesおよび CondaChannelsパラメータを設定します。
パラメータを設定するジョブテンプレートの セクションは次のとおりです。
- name: CondaPackages description: A list of conda packages to install. The job expects a Queue Environment to handle this. type: STRING default: polars - name: CondaChannels description: A list of conda channels to get packages from. The job expects a Queue Environment to handle this. type: STRING default: conda-forge
ジョブテンプレートの完全な例の最新バージョンについては、「stage_1_self_contained_template/template.yaml
期限クラウドチャネルBlenderから取得する
次の例は、deadline-cloudconda チャネルBlenderから取得するジョブテンプレートを示しています。このチャネルは、Deadline Cloud がデジタルコンテンツ作成ソフトウェアに提供する送信者をサポートしますが、同じチャネルを使用して独自の使用のためにソフトウェアをロードできます。
deadline-cloud チャネルによって提供されるソフトウェアのリストについては、AWS 「Deadline Cloud ユーザーガイド」の「デフォルトキュー環境」を参照してください。
このジョブは、キュー環境で定義された CondaPackagesパラメータを設定して、環境にロードするように Deadline Cloud Blenderに指示します。
パラメータを設定するジョブテンプレートの セクションは次のとおりです。
- name: CondaPackages type: STRING userInterface: control: LINE_EDIT label: Conda Packages groupLabel: Software Environment default: blender description: > Tells the queue environment to install Blender from the deadline-cloud conda channel.
ジョブテンプレートの完全な例の最新バージョンについては、「Blender_render/template.yaml
別のパッケージマネージャーを使用する
Deadline Cloud のデフォルトのパッケージマネージャーは conda です。などの別のパッケージマネージャーを使用する必要がある場合はRez、代わりにパッケージマネージャーを使用するスクリプトを含むカスタムキュー環境を作成できます。
このサンプルキュー環境は、サービスマネージドフリートのコンソールで使用される環境と同じ動作を提供します。conda パッケージマネージャーを に置き換えますRez。
環境は、Deadline Cloud がワーカーでセッションを開始するときに実行される 3 つのスクリプトを定義します。最初のスクリプトは、onEnterアクションが呼び出されたときに実行されます。他の 2 つを呼び出して環境変数を設定します。スクリプトの実行が完了すると、Rez環境は指定されたすべての環境変数セットで使用できます。
この例では、Rez パッケージに共有ファイルシステムを使用するカスタマーマネージドフリートがあることを前提としています。
この例の最新バージョンについては、 の deadline-cloud-samples
Python 専用パッケージに pip を使用する
ジョブに必要なアプリケーションまたはライブラリが PyPI で利用可能な純粋な Python パッケージである場合は、conda または の代わりに pip と Python 標準ライブラリvenvモジュールを使用できますRez。このアプローチは、パッケージが conda チャネルに公開されていない場合、または conda が作成するよりも小さな仮想環境が必要な場合に適しています。conda や とは異なりRez、pip と venvは Python 自体に含まれているため、ワーカーホストに必要なのは python3 のインタープリタのみですPATH。Deadline Cloud サービスマネージドフリートは 1 つを提供します。
ジョブが PipPackagesパラメータを設定し、リクエストされたパッケージを pip でインストールしてアクティブ化すると、 はセッション作業ディレクトリに Python 仮想環境Deadline Cloud の Pip キュー環境を作成します。これにより、ジョブのステップが使用可能なパッケージで実行されます。環境はセッション作業ディレクトリに作成されるため、セッションが終了すると Deadline Cloud によって自動的にクリーンアップされるため、独自のクリーンアップロジックを記述する必要はありません。ジョブが を設定しない場合PipPackages、キュー環境は何もしないため、使用していないジョブも実行するキューに追加できます。
パブリック PyPI インデックスの代わりに AWS CodeArtifact リポジトリなどのプライベートインデックスからパッケージをインストールするには、キュー環境が提供する PipIndexUrlおよび PipExtraIndexUrlsパラメータを設定します。
キュー環境を設定しない場合は、代わりにジョブバンドルで同じ pip 環境をインラインで定義できます。各アプローチの例については、 の deadline-cloud-samples
本番キューの場合、毎回最新のリリースをインストールするのではなく、 PipPackagesパラメータ値にパッケージバージョンを固定します。バージョンピン留めは、再現可能な環境を提供し、パッケージが新しいバージョンを発行する際の予期しない破損を回避します。ジョブが一致する送信者バージョンとアダプターバージョンに依存している場合は、両方を同じリリースに固定します。
カスタマーマネージドフリートワーカーが複数のデジタルコンテンツ作成 (DCC) アプリケーションのジョブを実行し、pip で Deadline Cloud アダプターをインストールする場合は、各アダプターを独自の仮想環境にインストールします。同じ仮想環境に複数のアダプターを一緒にインストールすると、pip が共有依存関係をいずれかのアダプターと競合するバージョンに解決する可能性があります。
ワーカーホストは、セッションの開始時にパッケージをインストールするために、PyPI やプライベートミラーなどのパッケージソースへのネットワークアクセスが必要です。カスタマーマネージドフリートワーカーがインターネットアクセスのないプライベートサブネットで実行されている場合は、代わりにパッケージソースへの VPC エンドポイント、プライベート pip ミラーを使用するか、ワーカー AMI にパッケージをインストールします。
次の表は、使用するパッケージマネージャーの選択に役立つ各パッケージマネージャーのトレードオフをまとめたものです。
| パッケージマネージャー | 次の用途に適しています | トレードオフ |
|---|---|---|
| Conda (デフォルト) | DCC アプリケーション、複雑なネイティブ依存関係、クロスプラットフォームパッケージ | より大きな環境。パッケージは conda チャネルに発行する必要があります |
| Rez | 既存のRezインフラストラクチャを持つ Studio パイプライン | ワーカーホストとパッケージリポジトリの共有ファイルシステムにRezインストールする必要があります |
| Pip | Python 専用パッケージ、PyPI がホストするライブラリ、軽量インストール | Python パッケージに限定。ネイティブ依存関係解決なし |
キュー環境を選択したら、キューにアタッチします。Deadline Cloud コンソールのキューのキュー環境タブから YAML テンプレートを追加するか、 deadline:CreateQueueEnvironment オペレーションを使用できます。コンソールの手順については、AWS 「Deadline Cloud ユーザーガイド」の「キュー環境の作成」を参照してください。CLI AWS を使用してキュー環境をアタッチするには:
aws deadline create-queue-environment \ --farm-idFARM_ID\ --queue-idQUEUE_ID\ --priority 1 \ --template-type YAML \ --template file://queue-environment.yaml