기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Deadline Cloud로 제출
작업자 호스트에서 Deadline Cloud 작업을 실행하려면 Open Job Description(OpenJD) 작업 번들을 생성하고 사용하여 작업을 구성합니다. 번들은 예를 들어 작업에 대한 입력 파일과 작업의 출력을 작성할 위치를 지정하여 작업을 구성합니다. 이 주제에는 작업 번들을 구성할 수 있는 방법의 예가 포함되어 있습니다.
이 섹션의 절차를 따르려면 먼저 다음을 완료해야 합니다.
AWS Deadline Cloud를 사용하여 작업을 실행하려면 다음 절차를 사용합니다. 첫 번째 AWS CloudShell 탭을 사용하여 개발자 팜에 작업을 제출합니다. 두 번째 CloudShell 탭을 사용하여 작업자 에이전트 출력을 봅니다.
simple_job 샘플 제출
팜을 생성하고 작업자 에이전트를 실행한 후 simple_job 샘플을 Deadline Cloud에 제출할 수 있습니다.
Deadline Cloud에 simple_job 샘플을 제출하려면
-
첫 번째 CloudShell 탭을 선택합니다.
-
GitHub에서 샘플을 다운로드합니다.
cd ~ git clone https://github.com/aws-deadline/deadline-cloud-samples.git
-
작업 번들 샘플 디렉터리로 이동합니다.
cd ~/deadline-cloud-samples/job_bundles/
-
simple_job 샘플을 제출합니다.
deadline bundle submit simple_job
-
두 번째 CloudShell 탭을 선택하여 호출
BatchGetJobEntities
, 세션 가져오기 및 세션 작업 실행에 대한 로깅 출력을 봅니다.... [2024-03-27 16:00:21,846][INFO ] 🔷 Session.Starting 🔷 [session-053d77cef82648fe2] Starting new Session. [queue-3ba4ff683ff54db09b851a2ed8327d7b/job-d34cc98a6e234b6f82577940ab4f76c6] [2024-03-27 16:00:21,853][INFO ] 📤 API.Req 📤 [deadline:BatchGetJobEntity] resource={'farm-id': 'farm-3e24cfc9bbcd423e9c1b6754bc1', 'fleet-id': 'fleet-246ee60f46d44559b6cce010d05', 'worker-id': 'worker-75e0fce9c3c344a69bff57fcd83'} params={'identifiers': [{'jobDetails': {'jobId': 'job-d34cc98a6e234b6f82577940ab4'}}]} request_url=https://scheduling.deadline.us-west-2.amazonaws.com/2023-10-12/farms/farm-3e24cfc9bbcd423e /fleets/fleet-246ee60f46d44559b1 /workers/worker- 75e0fce9c3c344a69b /batchGetJobEntity [2024-03-27 16:00:22,013][INFO ] 📥 API.Resp 📥 [deadline:BatchGetJobEntity](200) params={'entities': [{'jobDetails': {'jobId': 'job-d34cc98a6e234b6f82577940ab6', 'jobRunAsUser': {'posix': {'user': 'job-user', 'group': 'job-group'}, 'runAs': 'QUEUE_CONFIGURED_USER'}, 'logGroupName': '/aws/deadline/farm-3e24cfc9bbcd423e9c1b6754bc1/queue-3ba4ff683ff54db09b851a2ed83', 'parameters': '*REDACTED*', 'schemaVersion': 'jobtemplate-2023-09'}}], 'errors': []} request_id=a3f55914-6470-439e-89e5-313f0c6 [2024-03-27 16:00:22,013][INFO ] 🔷 Session.Add 🔷 [session-053d77cef82648fea9c69827182] Appended new SessionActions. (ActionIds: ['sessionaction-053d77cef82648fea9c69827182-0']) [queue-3ba4ff683ff54db09b851a2ed8b/job-d34cc98a6e234b6f82577940ab6] [2024-03-27 16:00:22,014][WARNING ] 🔷 Session.User 🔷 [session-053d77cef82648fea9c69827182] Running as the Worker Agent's user. (User: cloudshell-user) [queue-3ba4ff683ff54db09b851a2ed8b/job-d34cc98a6e234b6f82577940ac6] [2024-03-27 16:00:22,015][WARNING ] 🔷 Session.AWSCreds 🔷 [session-053d77cef82648fea9c69827182] AWS Credentials are not available: Queue has no IAM Role. [queue-3ba4ff683ff54db09b851a2ed8b/job-d34cc98a6e234b6f82577940ab6] [2024-03-27 16:00:22,026][INFO ] 🔷 Session.Logs 🔷 [session-053d77cef82648fea9c69827182] Logs streamed to: AWS CloudWatch Logs. (LogDestination: /aws/deadline/farm-3e24cfc9bbcd423e9c1b6754bc1/queue-3ba4ff683ff54db09b851a2ed83/session-053d77cef82648fea9c69827181) [queue-3ba4ff683ff54db09b851a2ed83/job-d34cc98a6e234b6f82577940ab4] [2024-03-27 16:00:22,026][INFO ] 🔷 Session.Logs 🔷 [session-053d77cef82648fea9c69827182] Logs streamed to: local file. (LogDestination: /home/cloudshell-user/demoenv-logs/queue-3ba4ff683ff54db09b851a2ed8b/session-053d77cef82648fea9c69827182.log) [queue-3ba4ff683ff54db09b851a2ed83/job-d34cc98a6e234b6f82577940ab4] ...
참고
작업자 에이전트의 로깅 출력만 표시됩니다. 작업을 실행하는 세션에 대한 별도의 로그가 있습니다.
-
첫 번째 탭을 선택한 다음 작업자 에이전트가 작성하는 로그 파일을 검사합니다.
-
작업자 에이전트 로그 디렉터리로 이동하여 내용을 확인합니다.
cd ~/demoenv-logs ls
-
작업자 에이전트가 생성하는 첫 번째 로그 파일을 인쇄합니다.
cat worker-agent-bootstrap.log
이 파일에는 플릿에서 작업자 리소스를 생성하기 위해 Deadline Cloud API를 호출한 다음 플릿 역할을 수임한 방법에 대한 작업자 에이전트 출력이 포함되어 있습니다.
-
작업자 에이전트가 플릿에 조인할 때 로그 파일 출력을 인쇄합니다.
cat worker-agent.log
이 로그에는 작업자 에이전트가 수행하는 모든 작업에 대한 출력이 포함되지만 해당 리소스의 IDs를 제외하고 작업을 실행하는 대기열에 대한 출력은 포함되지 않습니다.
-
대기열 리소스 ID와 동일한 디렉터리의 각 세션에 대한 로그 파일을 인쇄합니다.
cat $DEV_QUEUE_ID/session-*.log
작업이 성공하면 로그 파일 출력은 다음과 유사합니다.
cat $DEV_QUEUE_ID/$(ls -t $DEV_QUEUE_ID | head -1)
2024-03-27 16:00:22,026 WARNING Session running with no AWS Credentials. 2024-03-27 16:00:22,404 INFO 2024-03-27 16:00:22,405 INFO ============================================== 2024-03-27 16:00:22,405 INFO --------- Running Task 2024-03-27 16:00:22,405 INFO ============================================== 2024-03-27 16:00:22,406 INFO ---------------------------------------------- 2024-03-27 16:00:22,406 INFO Phase: Setup 2024-03-27 16:00:22,406 INFO ---------------------------------------------- 2024-03-27 16:00:22,406 INFO Writing embedded files for Task to disk. 2024-03-27 16:00:22,406 INFO Mapping: Task.File.runScript -> /sessions/session-053d77cef82648fea9c698271812a/embedded_fileswa_gj55_/tmp2u9yqtsz 2024-03-27 16:00:22,406 INFO Wrote: runScript -> /sessions/session-053d77cef82648fea9c698271812a/embedded_fileswa_gj55_/tmp2u9yqtsz 2024-03-27 16:00:22,407 INFO ---------------------------------------------- 2024-03-27 16:00:22,407 INFO Phase: Running action 2024-03-27 16:00:22,407 INFO ---------------------------------------------- 2024-03-27 16:00:22,407 INFO Running command /sessions/session-053d77cef82648fea9c698271812a/tmpzuzxpslm.sh 2024-03-27 16:00:22,414 INFO Command started as pid: 471 2024-03-27 16:00:22,415 INFO Output: 2024-03-27 16:00:22,420 INFO Welcome to AWS Deadline Cloud! 2024-03-27 16:00:22,571 INFO 2024-03-27 16:00:22,572 INFO ============================================== 2024-03-27 16:00:22,572 INFO --------- Session Cleanup 2024-03-27 16:00:22,572 INFO ============================================== 2024-03-27 16:00:22,572 INFO Deleting working directory: /sessions/session-053d77cef82648fea9c698271812a
-
-
작업에 대한 정보를 인쇄합니다.
deadline job get
작업을 제출하면 시스템이 이를 기본값으로 저장하므로 작업 ID를 입력할 필요가 없습니다.
파라미터와 simple_job 함께 제출
파라미터를 사용하여 작업을 제출할 수 있습니다. 다음 절차에서는 사용자 지정 메시지를 포함하도록 simple_job 템플릿을 편집하고 simple_job를 제출한 다음 세션 로그 파일을 인쇄하여 메시지를 확인합니다.
파라미터를 사용하여 simple_job 샘플을 제출하려면
-
첫 번째 CloudShell 탭을 선택한 다음 작업 번들 샘플 디렉터리로 이동합니다.
cd ~/deadline-cloud-samples/job_bundles/
-
simple_job 템플릿의 내용을 인쇄합니다.
cat simple_job/template.yaml
Message
파라미터가 있는parameterDefinitions
섹션은 다음과 같아야 합니다.parameterDefinitions: - name: Message type: STRING default: Welcome to AWS Deadline Cloud!
-
파라미터 값과 함께 simple_job 샘플을 제출한 다음 작업 실행이 완료될 때까지 기다립니다.
deadline bundle submit simple_job \ -p "Message=Greetings from the developer getting started guide."
-
사용자 지정 메시지를 보려면 최신 세션 로그 파일을 확인합니다.
cd ~/demoenv-logs cat $DEV_QUEUE_ID/$(ls -t $DEV_QUEUE_ID | head -1)
파일 I/O를 사용하여 simple_file_job 작업 번들 생성
렌더링 작업은 장면 정의를 읽고 이미지를 렌더링한 다음 해당 이미지를 출력 파일에 저장해야 합니다. 이미지를 렌더링하는 대신 작업 컴퓨팅에 입력의 해시를 지정하여이 작업을 시뮬레이션할 수 있습니다.
파일 I/O를 사용하여 simple_file_job 작업 번들을 생성하려면
-
첫 번째 CloudShell 탭을 선택한 다음 작업 번들 샘플 디렉터리로 이동합니다.
cd ~/deadline-cloud-samples/job_bundles/
-
새 이름을
simple_job
사용하여의 복사본을 만듭니다simple_file_job
.cp -r simple_job simple_file_job
-
다음과 같이 작업 템플릿을 편집합니다.
참고
이 단계에서는 nano를 사용하는 것이 좋습니다. 를 사용하려면를 사용하여 붙여넣기 모드를 설정해야 Vim합니다
:set paste
.-
텍스트 편집기에서 템플릿을 엽니다.
nano simple_file_job/template.yaml
-
다음
type
,objectType
및를 추가합니다dataFlow
parameterDefinitions
.- name: InFile type: PATH objectType: FILE dataFlow: IN - name: OutFile type: PATH objectType: FILE dataFlow: OUT
-
다음
bash
스크립트 명령을 입력 파일에서 읽고 출력 파일에 쓰는 파일의 끝에 추가합니다.# hash the input file, and write that to the output
sha256sum "{{Param.InFile}}" > "{{Param.OutFile}}"
업데이트된는 다음과 정확히 일치해야
template.yaml
합니다.specificationVersion: 'jobtemplate-2023-09' name: Simple File Job Bundle Example parameterDefinitions: - name: Message type: STRING default: Welcome to AWS Deadline Cloud! - name: InFile type: PATH objectType: FILE dataFlow: IN - name: OutFile type: PATH objectType: FILE dataFlow: OUT steps: - name: WelcomeToDeadlineCloud script: actions: onRun: command: '{{Task.File.Run}}' embeddedFiles: - name: Run type: TEXT runnable: true data: | #!/usr/bin/env bash echo "{{Param.Message}}" # hash the input file, and write that to the output sha256sum "{{Param.InFile}}" > "{{Param.OutFile}}"
참고
에서 간격을 조정하려면 들여쓰기 대신 공백을 사용해야
template.yaml
합니다. -
파일을 저장하고 텍스트 편집기를 종료합니다.
-
-
입력 및 출력 파일의 파라미터 값을 제공하여 simple_file_job을 제출합니다.
deadline bundle submit simple_file_job \ -p "InFile=simple_job/template.yaml" \ -p "OutFile=hash.txt"
-
작업에 대한 정보를 인쇄합니다.
deadline job get
-
다음과 같은 출력이 표시됩니다.
parameters: Message: string: Welcome to AWS Deadline Cloud! InFile: path: /local/home/cloudshell-user/BundleFiles/JobBundle-Examples/simple_job/template.yaml OutFile: path: /local/home/cloudshell-user/BundleFiles/JobBundle-Examples/hash.txt
-
상대 경로만 제공했지만 파라미터에는 전체 경로가 설정되어 있습니다. 는 경로의 유형이 일 때 파라미터로 제공되는 모든 경로에 현재 작업 디렉터리를 AWS CLI 조인합니다
PATH
. -
다른 터미널 창에서 실행되는 작업자 에이전트가 작업을 픽업하고 실행합니다. 이 작업은 다음 명령을 사용하여 볼 수 있는
hash.txt
파일을 생성합니다.cat hash.txt
이 명령은 다음과 유사한 출력을 인쇄합니다.
eaa2df5d34b54be5ac34c56a24a8c237b8487231a607eaf530a04d76b89c9cd3 /local/home/cloudshell-user/BundleFiles/JobBundle-Examples/simple_job/template.yaml
-
다음 단계
Deadline Cloud CLI를 사용하여 간단한 작업을 제출하는 방법을 학습한 후 다음을 탐색할 수 있습니다.
-
Deadline Cloud에서 작업 첨부 파일이 있는 작업 제출 다른 운영 체제를 실행하는 호스트에서 작업을 실행하는 방법을 알아봅니다.
-
Deadline Cloud의 개발자 팜에 서비스 관리형 플릿 추가 - Deadline Cloud에서 관리하는 호스트에서 작업을 실행합니다.
-
Deadline Cloud에서 팜 리소스 정리 -이 자습서에서 사용한 리소스를 종료합니다.