View a markdown version of this page

작업에 대한 애플리케이션 제공 - 기한 클라우드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

작업에 대한 애플리케이션 제공

대기열 환경을 사용하여 애플리케이션을 로드하여 작업을 처리할 수 있습니다. Deadline Cloud 콘솔을 사용하여 서비스 관리형 플릿을 생성할 때 conda 패키지 관리자를 사용하여 애플리케이션을 로드하는 대기열 환경을 생성할 수 있습니다.

다른 패키지 관리자를 사용하려면 해당 관리자에 대한 대기열 환경을 생성할 수 있습니다. Rez를 사용하는 예제는 섹션을 참조하세요다른 패키지 관리자 사용.

Deadline Cloud는 다양한 렌더링 애플리케이션을 환경에 로드할 수 있는 conda 채널을 제공합니다. Deadline Cloud가 디지털 콘텐츠 생성 애플리케이션에 제공하는 제출자를 지원합니다.

작업에 사용할 conda-forge용 소프트웨어를 로드할 수도 있습니다. 다음 예제에서는 Deadline Cloud에서 제공하는 대기열 환경을 사용하여 작업을 실행하기 전에 애플리케이션을 로드하는 작업 템플릿을 보여줍니다.

conda 채널에서 애플리케이션 가져오기

원하는 소프트웨어를 설치하는 Deadline Cloud 작업자를 위한 사용자 지정 대기열 환경을 생성할 수 있습니다. 이 예제 대기열 환경은 콘솔에서 서비스 관리형 플릿에 사용하는 환경과 동일한 동작을 합니다. conda를 직접 실행하여 환경을 생성합니다.

환경은 작업자에서 실행되는 모든 Deadline Cloud 세션에 대해 새 conda 가상 환경을 생성한 다음 완료되면 환경을 삭제합니다.

Conda는 다운로드한 패키지를 캐시하므로 다시 다운로드할 필요가 없지만 각 세션은 모든 패키지를 환경에 연결해야 합니다.

환경은 Deadline Cloud가 작업자에 대한 세션을 시작할 때 실행되는 세 가지 스크립트를 정의합니다. 첫 번째 스크립트는 onEnter 작업이 호출될 때 실행됩니다. 나머지 두 개를 호출하여 환경 변수를 설정합니다. 스크립트 실행이 완료되면 지정된 모든 환경 변수가 설정된 상태에서 conda 환경을 사용할 수 있습니다.

최신 버전의 예제는 GitHub의 deadline-cloud-samples 리포지토리에서 conda_queue_env_console_equivalent.yaml을 참조하세요. deadline-cloud-samples

conda 채널에서 사용할 수 없는 애플리케이션을 사용하려는 경우 Amazon S3에서 conda 채널을 생성한 다음 해당 애플리케이션에 대한 자체 패키지를 빌드할 수 있습니다. 자세한 내용은 S3를 사용하여 conda 채널 생성 섹션을 참조하세요.

conda-forge에서 오픈 소스 라이브러리 가져오기

이 섹션에서는 conda-forge 채널에서 오픈 소스 라이브러리를 사용하는 방법을 설명합니다. 다음 예제는 polars Python 패키지를 사용하는 작업 템플릿입니다.

작업은 Deadline Cloud에 패키지를 가져올 위치를 알려주는 대기열 환경에 정의된 CondaPackagesCondaChannels 파라미터를 설정합니다.

파라미터를 설정하는 작업 템플릿의 섹션은 다음과 같습니다.

- 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을 참조하세요. conda 패키지를 로드하는 대기열 환경의 최신 버전은 GitHub의 deadline-cloud-samples 리포지토리에서 conda_queue_env_console_equivalent.yaml을 참조하세요. deadline-cloud-samples

기한 클라우드 채널Blender에서 가져오기

다음 예제는 deadline-cloud conda 채널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을 참조하세요. conda 패키지를 로드하는 대기열 환경의 최신 버전은의 deadline-cloud-samples 리포지토리에서 conda_queue_env_console_equivalent.yaml을 참조하세요GitHub.

다른 패키지 관리자 사용

Deadline Cloud의 기본 패키지 관리자는 conda입니다. 와 같은 다른 패키지 관리자를 사용해야 하는 경우 Rez대신 패키지 관리자를 사용하는 스크립트가 포함된 사용자 지정 대기열 환경을 생성할 수 있습니다.

이 예제 대기열 환경은 콘솔에서 서비스 관리형 플릿에 사용하는 환경과 동일한 동작을 제공합니다. conda 패키지 관리자를 로 대체합니다Rez.

환경은 Deadline Cloud가 작업자에 대한 세션을 시작할 때 실행되는 세 가지 스크립트를 정의합니다. 첫 번째 스크립트는 onEnter 작업이 호출될 때 실행됩니다. 나머지 두 개를 호출하여 환경 변수를 설정합니다. 스크립트 실행이 완료되면 지정된 모든 Rez 환경 변수가 설정된 상태에서 환경을 사용할 수 있습니다.

이 예제에서는 Rez 패키지에 공유 파일 시스템을 사용하는 고객 관리형 플릿이 있다고 가정합니다.

예제의 최신 버전은의 deadline-cloud-samples 리포지토리에서 rez_queue_env.yaml을 참조하세요GitHub.

Python 전용 패키지에 pip 사용

작업에 필요한 애플리케이션 또는 라이브러리가 PyPI 패키지인 경우 conda 또는 대신 pip 및 Python 표준 라이브러리 venv 모듈을 사용할 수 있습니다Rez. 이 접근 방식은 패키지가 conda 채널에 게시되지 않거나 conda가 생성하는 것보다 작은 가상 환경을 원하는 경우에 적합합니다. conda 및와 달리 Rezpip 및 venv는 Python 자체에 포함되어 있으므로 작업자 호스트에는 python3에 인터프리터만 필요합니다PATH. Deadline Cloud 서비스 관리형 플릿은 플릿을 제공합니다.

는 작업이 PipPackages 파라미터를 설정할 때 세션 작업 디렉터리에 Python 가상 환경을 Deadline Cloud용 Pip 대기열 환경 생성하고, pip를 사용하여 요청된 패키지를 설치하고, 사용 가능한 패키지로 작업 단계가 실행되도록 활성화합니다. 환경은 세션 작업 디렉터리에 생성되므로 Deadline Cloud는 세션이 종료될 때 자동으로 정리하므로 자체 정리 로직을 작성할 필요가 없습니다. 작업이를 설정하지 않으면 PipPackages대기열 환경은 아무 작업도 수행하지 않으므로 사용하지 않는 작업도 실행하는 대기열에 추가할 수 있습니다.

퍼블릭 PyPI 인덱스 대신 AWS CodeArtifact 리포지토리와 같은 프라이빗 인덱스에서 패키지를 설치하려면 대기열 환경에서 제공하는 PipIndexUrlPipExtraIndexUrls 파라미터를 설정합니다.

대기열 환경을 구성하지 않으려면 대신 작업 번들에서 동일한 pip 환경을 인라인으로 정의할 수 있습니다. 각 접근 방식의 예는의 deadline-cloud-samples 리포지토리에서 pip_package_jobpip_self_contained_job 작업 번들을 참조하세요GitHub. 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 사용 설명서대기열 환경 생성을 참조하세요. AWS CLI를 사용하여 대기열 환경을 연결하려면

aws deadline create-queue-environment \ --farm-id FARM_ID \ --queue-id QUEUE_ID \ --priority 1 \ --template-type YAML \ --template file://queue-environment.yaml