기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
자동 다운로드
Deadline CLI는 동일한 명령이 마지막으로 실행된 이후 완료된 대기열에 있는 모든 작업의 출력을 다운로드하는 명령을 제공합니다. 반복적으로 실행되도록 cron 작업 또는 예약된 작업으로 구성할 수 있습니다. 이렇게 하면 출력이 지속적으로 자동으로 다운로드됩니다.
자동 다운로드를 설정하기 전에 작업 연결을 위한 스토리지 프로필의 단계에 따라 업로드 및 다운로드를 위한 자산 데이터의 모든 경로를 구성합니다. 작업이 스토리지 프로파일에 없는 출력 경로를 사용하는 경우 자동 다운로드는 해당 출력 다운로드를 건너뛰고 경고 메시지를 인쇄하여 다운로드하지 않은 파일을 요약합니다. 마찬가지로 스토리지 프로파일 없이 작업이 제출되면 자동 다운로드는 해당 작업을 건너뛰고 경고 메시지를 인쇄합니다. 기본적으로 Deadline Cloud 제출자는 올바른 구성을 보장하기 위해 스토리지 프로파일 외부에 있는 경로에 대한 경고 메시지를 표시합니다.
AWS 자격 증명 구성
출력 동기화 명령을 수동으로 실행하거나 cron 작업으로 구성하기 전에 출력 동기화 명령의 작동 방식을 이해하려면 Deadline Cloud Monitor 데스크톱 애플리케이션에 로그인할 때 자격 증명을 사용할 수 있습니다.
온프레미스 AWS 자격 증명
온프레미스 작업자는 자격 증명을 사용하여 Deadline Cloud 작업 첨부 파일 출력에 액세스합니다. 가장 안전한 액세스를 위해 IAM Roles Anywhere를 사용하여 작업자를 인증하는 것이 좋습니다. 자세한 내용은 IAM Roles Anywhere를 참조하세요.
테스트를 위해 자격 AWS 증명에 IAM 사용자 액세스 키를 사용할 수 있습니다. 제한적인 인라인 정책을 포함하여 IAM 사용자의 만료를 설정하는 것이 좋습니다.
다음 경고에 주의하세요.
-
계정의 루트 자격 증명을 사용하여 AWS 리소스에 액세스하지 마십시오. 이 보안 인증은 계정 액세스에 제한이 없고 취소하기 어렵습니다.
-
금지 사항. 애플리케이션 파일에 리터럴 액세스 키나 보안 인증 정보를 넣지 않습니다. 이를 어기는 경우, 예를 들어 프로젝트를 퍼블릭 리포지토리에 업로드하면 뜻하지 않게 보안 인증이 노출될 위험이 있습니다.
-
금지 사항. 프로젝트 영역에 보안 인증이 포함된 파일을 포함하지 마세요.
-
액세스 키를 보호합니다. 계정 식별자를 찾는 데 도움이 되더라도 액세스 키를 권한 없는 당사자에게 제공하지 마세요. 이로 인해 다른 사람에게 계정에 대한 영구 액세스를 제공하게 될 수 있습니다.
-
공유 AWS 자격 증명 파일에 저장된 모든 자격 증명은 일반 텍스트로 저장됩니다.
자세한 내용은 AWS 일반 참조의 AWS 액세스 키 관리 모범 사례를 참조하세요.
IAM 사용자를 생성합니다.
https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.
-
탐색 창에서 사용자와 사용자 생성을 차례로 선택합니다.
-
사용자 이름을 로 지정합니다deadline-output-downloader. 에 대한 사용자 액세스 제공 AWS Management Console 확인란의 선택을 취소한 후 다음을 선택합니다.
-
정책 직접 연결을 선택합니다.
-
정책 생성을 선택하여 최소 필수 권한이 있는 사용자 지정 정책을 생성합니다.
-
JSON 편집기에서 다음 권한을 지정합니다.
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid": "DeadlineCloudOutputDownload",
"Effect": "Allow",
"Action": [
"deadline:AssumeQueueRoleForUser",
"deadline:ListQueueEnvironments",
"deadline:ListSessions",
"deadline:ListSessionActions",
"deadline:SearchJobs",
"deadline:GetJob",
"deadline:GetQueue",
"deadline:GetStorageProfileForQueue"
],
"Resource": "*"
}
]
}
-
정책의 이름을 지정DeadlineCloudOutputDownloadPolicy하고 정책 생성을 선택합니다.
-
사용자 생성 페이지로 돌아가 정책 목록을 새로 고치고 방금 생성한 DeadlineCloudOutputDownloadPolicy를 선택한 후 다음을 선택합니다.
-
사용자 세부 정보를 검토한 다음 사용자 생성을 선택합니다.
제한된 기간으로 사용자 액세스 제한
생성하는 모든 IAM 사용자 액세스 키는 장기 자격 증명입니다. 이러한 자격 증명이 잘못 처리된 경우 만료되도록 하려면 키가 더 이상 유효하지 않은 날짜를 지정하는 인라인 정책을 생성하여 자격 증명에 시간 제한을 적용할 수 있습니다.
-
방금 생성한 IAM 사용자를 엽니다. 권한 탭에서 권한 추가를 선택한 다음 인라인 정책 생성을 선택합니다.
-
JSON 편집기에서 다음 권한을 지정합니다. 이 정책을 사용하려면 예제 정책의 aws:CurrentTime 타임스탬프 값을 자신의 시간 및 날짜로 바꿉니다.
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"DateGreaterThan": {
"aws:CurrentTime": "2024-01-01T00:00:00Z"
}
}
}
]
}
액세스 키 생성
-
사용자 세부 정보 페이지에서 보안 자격 증명 탭을 선택합니다. 액세스 키 섹션에서 액세스 키 생성을 선택합니다.
-
기타에 키를 사용할 것인지 표시한 다음 다음을 선택하고 액세스 키 생성을 선택합니다.
-
액세스 키 검색 페이지에서 표시를 선택하여 사용자의 보안 액세스 키 값을 표시합니다. 자격 증명을 복사하거나 .csv 파일을 다운로드할 수 있습니다.
사용자 액세스 키 저장
-
시스템의 AWS 자격 증명 파일에 사용자 액세스 키를 저장합니다.
다음 키를 바꿉니다.
[deadline-downloader]
aws_access_key_id=ACCESS_KEY_ID
aws_secret_access_key=SECRET_ACCESS_KEY
region=YOUR_AWS_REGION
-
이러한 자격 증명을 항상 사용하려면 env 변수를 AWS_PROFILE로 설정합니다deadline-downloader.
사전 조건
자동 다운로드를 위해 cron 작업 또는 예약된 작업을 생성하기 전에 다음 단계를 완료합니다.
-
아직 설치하지 않았다면 Python을 설치합니다.
-
다음을 실행하여 Deadline CLI를 설치합니다.
python -m pip install deadline
-
다음 명령을 사용하여 Deadline CLI의 버전이 0.52.1 이상인지 확인합니다.
$ deadline --version
deadline, version 0.52.1
출력 다운로드 명령 테스트
명령이 환경에서 작동하는지 확인하려면
-
Deadline 경로 가져오기
- Linux and macOS
-
$ which deadline
- Windows
-
C:\> where deadline
- PowerShell
-
PS C:\> Get-Command deadline
-
sync-output 명령을 실행하여 부트스트랩합니다.
/path/to/deadline queue sync-output \
--farm-id YOUR_FARM_ID \
--queue-id YOUR_QUEUE_ID \
--storage-profile-id YOUR_PROFILE_ID \
--checkpoint-dir /path/to/checkpoint/directory \
-
다운로드 머신이 제출 머신과 동일한 경우에만이 단계를 수행하면 됩니다. --storage-profile-id YOUR_PROFILE_ID \ 위의를 로 바꿉니다--ignore-storage-profiles.
-
테스트 작업을 제출합니다.
-
GitHub에서 .zip 파일을 다운로드합니다.
-
deadline-cloud-samples GitHub 리포지토리를 엽니다.
-
코드를 선택한 다음 드롭다운 메뉴에서 ZIP 다운로드를 선택합니다.
-
다운로드한 아카이브의 압축을 로컬 디렉터리로 풉니다.
-
Run
cd /path/to/unzipped/deadline-cloud-samples-mainline/job_bundles/job_attachments_devguide_output
-
Run
deadline bundle submit .
-
기본 기한 구성 설정이 없는 경우 명령줄에 다음을 제공해야 할 수 있습니다.
--farm-id YOUR-FARM-ID --queue-id YOUR-QUEUE-ID
-
다음 단계로 이동하기 전에 작업이 완료될 때까지 기다립니다.
-
sync-output 명령을 다시 실행합니다.
/path/to/deadline queue sync-output \
--farm-id YOUR_FARM_ID \
--queue-id YOUR_QUEUE_ID \
--storage-profile-id YOUR_PROFILE_ID \
--checkpoint-dir /path/to/checkpoint/directory
-
다음을 확인합니다.
예약된 다운로드 설정
운영 체제의 탭을 선택하여 5분마다 자동 다운로드를 구성하는 방법을 알아봅니다.
- Linux
-
-
기한 CLI 설치 확인
기한 실행 파일의 정확한 경로를 가져옵니다.
$ which deadline
plist 파일에 사용할 수 있도록이 경로(예: /opt/homebrew/bin/deadline)를 기록해 둡니다.
-
체크포인트 디렉터리 생성
체크포인트 파일이 저장될 디렉터리를 생성합니다. 사용자가 명령을 실행할 수 있는 적절한 권한이 있는지 확인합니다.
$ mkdir -p /path/to/checkpoint/directory
-
로그 디렉터리 생성
cron 작업 로그용 디렉터리를 생성합니다.
$ mkdir -p /path/to/logs
https://www.redhat.com/en/blog/setting-logrotate 사용하여 로그 파일에 로그 교체를 설정하는 것이 좋습니다.
-
현재 Crontab 확인
현재 crontab을 보고 기존 작업을 확인합니다.
$ crontab -l
-
Crontab 편집
편집을 위해 crontab 파일을 엽니다.
$ crontab -e
처음 사용하는 경우 편집기(nano, vim 등)를 선택하라는 메시지가 표시될 수 있습니다.
-
Cron 작업 항목 추가
다음 줄을 추가하여 5분마다 작업을 실행합니다(경로를 1단계와 2단계의 실제 값으로 바꿉니다).
*/5 * * * * AWS_PROFILE=deadline-downloader /path/to/deadline queue sync-output --farm-id YOUR_FARM_ID --queue-id YOUR_QUEUE_ID --storage-profile-id YOUR_PROFILE_ID --checkpoint-dir /path/to/checkpoint/directory >> /path/to/logs/deadline_sync.log 2>&1
-
Cron 작업 설치 확인
편집기를 저장하고 종료한 후 cron 작업이 추가되었는지 확인합니다.
$ crontab -l
새 작업이 나열됩니다.
-
Cron 서비스 상태 확인
cron 서비스가 실행 중인지 확인합니다.
# For systemd systems (most modern Linux distributions)
$ sudo systemctl status cron
# or
$ sudo systemctl status crond
# For older systems
$ sudo service cron status
실행 중이 아니면 시작합니다.
$ sudo systemctl start cron
$ sudo systemctl enable cron # Enable auto-start on boot
- macOS
-
-
기한 CLI 설치 확인
기한 실행 파일의 정확한 경로를 가져옵니다.
$ which deadline
plist 파일에 사용할 수 있도록이 경로(예: /opt/homebrew/bin/deadline)를 기록해 둡니다.
-
체크포인트 디렉터리 및 로그 디렉터리 생성
체크포인트 파일이 저장될 디렉터리를 생성합니다.
$ mkdir -p /path/to/checkpoint/directory
$ mkdir -p /path/to/logs
https://formulae.brew.sh/formula/logrotate 사용하여 로그 파일에 로그 교체를 설정하는 것이 좋습니다.
-
Plist 파일 생성
다음 콘텐츠~/Library/LaunchAgents/com.user.deadlinesync.plist로에서 구성 파일을 생성합니다(1단계의 실제 경로/path/to/deadline로 대체).
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.deadlinesync</string>
<key>ProgramArguments</key>
<array>
<string>/path/to/deadline</string>
<string>queue</string>
<string>sync-output</string>
<string>--farm-id</string>
<string>YOUR_FARM_ID</string>
<string>--queue-id</string>
<string>YOUR_QUEUE_ID</string>
<string>--storage-profile-id</string>
<string>YOUR STORAGE PROFILE ID</string>
<string>--checkpoint-dir</string>
<string>/path/to/checkpoint/dir</string>
</array>
<key>EnvironmentVariables</key>
<dict>
<key>AWS_PROFILE</key>
<string>deadline-downloader</string>
</dict>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>YOUR_USER_NAME</string>
<key>StandardOutPath</key>
<string>/path/to/logs/deadline_sync.log</string>
<key>StartInterval</key>
<integer>300</integer>
</dict>
</plist>
다운로드 머신이 제출 머신과 동일한 --ignore-storage-profiles 경우 --storage-profile-id YOUR_PROFILE_ID 위의를 로 바꿉니다.
-
Plist 파일 검증
plist 파일의 XML 구문을 검증합니다.
$ plutil -lint ~/Library/LaunchAgents/com.user.deadlinesync.plist
파일이 유효한 경우 "OK"를 반환해야 합니다.
-
기존 시작 에이전트 또는 시작 데몬 확인
시작 에이전트가 이미 로드되었는지 확인합니다.
$ launchctl list | grep deadlinesync
OR
$ sudo launchctl list | grep deadlinesync
존재하는 경우 먼저 언로드합니다.
$ launchctl bootout gui/$(id -u)/com.user.deadlinesync
OR
$ sudo launchctl bootout system/com.user.deadlinesync
-
생성 및 부트스트랩
사용자가 로그인한 상태에서이 작업을 실행하려면 LaunchAgent로 실행합니다. 시스템이 실행될 때마다 사용자가 로그인하지 않고이 작업을 실행하려면 LaunchDaemon으로 실행합니다.
-
LaunchAgent로를 실행하려면
-
아래에 생성된 구성 사용 ~/Library/LaunchAgents/com.user.deadlinesync.plist
-
그런 다음 부트스트랩 명령을 사용하여 구성을 로드합니다.
$ launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.user.deadlinesync.plist
-
LaunchDaemon으로를 실행하려면:
-
다음을 실행하여 Pilst 파일을 이동하고 권한을 변경합니다.
$ sudo mv ~/Library/LaunchAgents/com.user.deadlinesync.plist /Library/LaunchDaemons/
$ sudo chown root:wheel /Library/LaunchDaemons/com.user.deadlinesync.plist
$ sudo chmod 644 /Library/LaunchDaemons/com.user.deadlinesync.plist
-
최신 부트스트랩 명령을 사용하여 시작 에이전트를 로드합니다.
$ sudo launchctl bootstrap system /Library/LaunchDaemons/com.user.deadlinesync.plist
-
상태 확인
LaunchAgent를 부트스트래핑한 경우 다음을 실행하여 로드되었는지 확인합니다.
$ launchctl list | grep deadlinesync
LaunchDaemon을 부트스트래핑한 경우 다음을 실행하여 로드되었는지 확인합니다.
$ sudo launchctl list | grep deadlinesync
출력은 다음과 같아야 합니다.
SOME_PID_NUMBER 0 com.user.deadlinesync
자세한 상태 정보는 다음과 같습니다.
$ launchctl print gui/$(id -u)/com.user.deadlinesync
현재 상태, 프로그램 인수, 환경 변수, 실행 간격 및 실행 기록이 표시됩니다.
- Windows
-
이 지침을 사용하여 생성된 예약된 작업은 사용자가 로그인한 경우에만 작동합니다.
사용자 로그인 없이 시스템 시작 시 설정하려면 공식 Windows 설명서를 참조하세요.
아래 모든 단계에서 명령 프롬프트 - 관리자로 실행을 사용합니다.
-
기한 CLI 설치 확인
기한 실행 파일을 찾습니다.
C:\> where deadline
작업에 사용할 전체 경로(예: C:\Program Files\Amazon\DeadlineCloud\deadline.exe)를 기록해 둡니다.
-
체크포인트 디렉터리 생성
체크포인트 파일이 저장될 디렉터리를 생성합니다.
C:\> mkdir "path\to\checkpoint\directory"
-
로그 디렉터리 생성
작업 로그용 디렉터리를 생성합니다.
C:\> mkdir "path\to\logs"
-
배치 파일 래퍼 생성
다음 콘텐츠로 배치 파일을 생성합니다.
C:\> notepad C:\path\to\deadline_sync.bat
YOUR_PATH_TO_DEADLINE.EXE queue sync-output --farm-id YOUR_FARM_ID --queue-id YOUR_QUEUE_ID --storage-profile-id YOUR_PROFILE_ID --checkpoint-dir path\to\checkpoint\checkpoints > path\to\logs\deadline.log 2>&1
-
배치 파일 테스트
배치 파일을 수동으로 테스트합니다.
C:\> .\path\to\deadline_sync.bat
로그 파일이 생성되었는지 확인합니다.
C:\> notepad path\to\logs\deadline_sync.log
-
작업 스케줄러 서비스 확인
Task Scheduler 서비스가 실행 중인지 확인합니다.
C:\> sc query "Schedule"
서비스가 존재하지 않는 경우 대체 이름을 시도해 보세요.
C:\> sc query "TaskScheduler"
C:\> sc query "Task Scheduler"
실행 중이 아니면 시작합니다.
C:\> sc start "Schedule"
-
예약된 작업 생성
5분마다 실행할 작업을 생성합니다.
C:\> schtasks /create /tn "DeadlineOutputSync" /tr "C:\path\to\deadline_sync.bat" /sc minute /mo 5
명령 분석:
-
작업 생성 확인
작업이 성공적으로 생성되었는지 확인합니다.
schtasks /query /tn "DeadlineOutputSync" /v /fo LIST
다음을 찾습니다.
-
테스트 작업 실행
작업을 수동으로 실행하여 테스트합니다.
schtasks /run /tn "DeadlineOutputSync"
작업 상태 확인:
schtasks /query /tn "DeadlineOutputSync"
설정 확인
자동 다운로드 설정이 성공했는지 확인하려면 다음 단계를 완료하세요.
-
새 테스트 작업을 제출합니다.
-
한 스케줄러 간격이 완료될 때까지 기다립니다.이 경우 5분입니다.
-
새 출력이 자동으로 다운로드되는지 확인합니다.
출력이 다운로드되지 않는 경우 문제 해결 섹션에서 프로세스 로그를 확인합니다.
자동 다운로드 문제 해결
자동 다운로드에 문제가 발생하면 다음을 확인하세요.
스토리지 프로필 문제
-
[Errno 13] Permission denied 로그 파일의 [Errno 2] No such file or directory 또는와 같은 오류는 누락되거나 잘못 구성된 스토리지 프로파일과 관련이 있을 수 있습니다.
-
다운로드 머신이 제출 머신과 다를 때 스토리지 프로파일을 설정하는 방법에 대한 자세한 내용은 스토리지 프로파일을 참조하세요.
-
동일한 시스템 다운로드의 경우 --ignore-storage-profiles 플래그를 사용해 보세요.
디렉터리 권한
-
스케줄러 서비스 사용자에게 다음이 있는지 확인합니다.
-
체크포인트 디렉터리에 대한 읽기/쓰기 액세스
-
출력 대상 디렉터리에 대한 쓰기 액세스 권한
-
Linux 및의 경우 macOSls -la를 사용하여 권한을 확인합니다.
-
의 경우 속성 폴더에서 보안 설정을 Windows검토합니다.
스케줄러 로그 확인
- Linux
-
-
cron 서비스가 실행 중인지 확인합니다.
# For systemd systems
$ sudo systemctl status cron
# or
$ sudo systemctl status crond
# Check if your user has cron job correctly configured
$ crontab -l
-
cron 실행 로그 보기:
# Check system logs for cron activity (most common locations)
$ sudo tail -f /var/log/syslog | grep CRON
$ sudo tail -f /var/log/cron.log | grep deadline
# View recent cron logs
$ sudo journalctl -u cron -f
$ sudo journalctl -u crond -f # On some systems
-
특정 cron 작업 로그를 확인합니다.
# View the log file specified in your cron job
$ tail -100f /path/to/logs/deadline_sync.log
-
시스템 로그에서 cron 작업 실행을 검색합니다.
# Look for your specific cron job executions
$ sudo grep "deadline.*incremental-output-download" /var/log/syslog
# Check for cron job starts and completions
$ sudo grep "$(whoami).*CMD.*deadline" /var/log/syslog
-
체크포인트 파일 업데이트 확인:
# List checkpoint files with timestamps
$ ls -la /path/to/checkpoint/directory/
# Check when checkpoint was last modified
$ stat /path/to/checkpoint/directory/queue-*_download_checkpoint.json
-
로그 파일을 확인합니다.
$ ls -la /path/to/log/deadline_sync.log
- macOS
-
시작 에이전트 실행 로그 보기:
-
시작 에이전트가 실행 중인지 확인합니다.
$ sudo launchctl list | grep deadlinesync
출력 표시: PID Status Label (PID는 현재 실행되지 않을 - 때 이며 간격 작업의 경우 정상임)
-
자세한 시작 에이전트 상태 보기:
$ sudo launchctl print system/com.user.deadlinesync
실행 기록, 마지막 종료 코드, 실행 횟수 및 현재 상태가 표시됩니다.
-
시작 에이전트 실행 로그 보기:
# View recent logs (last hour)
log show --predicate 'subsystem contains "com.user.deadlinesync"' --last 1h
# View logs from a specific time period
log show --predicate 'subsystem contains "com.user.deadlinesync"' --start '2024-08-27 09:00:00'
-
즉시 테스트를 위해 시작 에이전트를 강제 실행합니다.
$ sudo launchctl kickstart gui/$(id -u)/com.user.deadlinesync
이렇게 하면 일정에 관계없이 작업이 즉시 트리거되어 테스트에 유용합니다.
-
체크포인트 파일 업데이트 확인:
# List checkpoint files with timestamps
$ ls -la /path/to/checkpoint/directory/
-
로그 파일을 확인합니다.
$ ls -la /path/to/log/deadline_sync.log
- Windows
-
-
Task Scheduler 서비스가 실행 중인지 확인합니다.
C:\> sc query "Schedule"
서비스가 존재하지 않는 경우 대체 이름을 시도해 보세요.
C:\> sc query "TaskScheduler"
C:\> sc query "Task Scheduler"
-
예약된 작업을 봅니다.
C:> schtasks /query /tn "DeadlineOutputSync"
-
작업의 로그 파일을 확인합니다.
# View the log file created by your batch script
C:> notepad C:\path\to\logs\deadline_sync.log
-
체크포인트 파일 업데이트 확인:
# List checkpoint files with timestamps
C:> dir "C:\path\to\checkpoint\directory" /od