다음을 통해 공유


Azure Batch 런타임 환경 변수

Azure Batch 서비스는 컴퓨팅 노드에서 다음 환경 변수를 설정합니다. 작업 명령줄 및 명령줄에서 실행하는 프로그램 및 스크립트에서 이러한 환경 변수를 참조할 수 있습니다.

Batch에서 환경 변수를 사용하는 방법에 대한 자세한 내용은 작업에 대한 환경 설정을 참조하세요.

환경 변수 가시성

이러한 환경 변수는 태스크가 실행되는 노드의 사용자 계정인 태스크 사용자의 컨텍스트에서만 표시됩니다. RDP(원격 데스크톱 프로토콜) 또는 SSH(Secure Shell)를 통해 컴퓨팅 노드에 원격으로 연결 하고 환경 변수를 나열할 때는 이러한 변수가 표시되지 않습니다. 원격 연결에 사용되는 사용자 계정이 태스크에서 사용하는 계정과 동일하지 않기 때문입니다.

환경 변수의 현재 값을 얻으려면 Windows 컴퓨팅 노드에서 cmd.exe를 실행하거나 Linux 노드에서 /bin/sh를 실행하십시오.

cmd /c set <ENV_VARIABLE_NAME>

/bin/sh -c "printenv <ENV_VARIABLE_NAME>"

환경 변수의 명령줄 확장

컴퓨팅 노드의 태스크에서 실행하는 명령줄은 셸에서 실행되지 않습니다. 즉, 이러한 명령줄은 환경 변수 확장(포함 PATH)과 같은 셸 기능을 기본적으로 사용할 수 없습니다. 이러한 기능을 사용하려면 명령줄에서 셸을 호출해야 합니다. 예를 들어 cmd.exe를 Windows 컴퓨팅 노드에서 시작하거나 /bin/sh를 Linux 노드에서 시작합니다.

cmd /c MyTaskApplication.exe %MY_ENV_VAR%

/bin/sh -c "MyTaskApplication $MY_ENV_VAR"

환경 변수

비고

AZ_BATCH_AUTHENTICATION_TOKEN 는 더 이상 사용되지 않으며 2024년 9월 30일에 사용 중지됩니다. 자세한 내용 및 대체 구현은 공지 사항을 참조하세요.

변수 이름 설명 가용도 예시
AZ_BATCH_ACCOUNT_NAME 태스크가 속한 Batch 계정의 이름입니다. 모든 작업. MyBatch계정
AZ_BATCH_ACCOUNT_URL Batch 계정의 URL입니다. 모든 작업. https://myaccount.westus.batch.azure.com
AZ_BATCH_APP_PACKAGE 모든 앱 패키지 환경 변수의 접두사입니다. 예를 들어 애플리케이션 "FOO" 버전 "1"이 풀에 설치된 경우 환경 변수는 AZ_BATCH_APP_PACKAGE_FOO_1(Linux) 또는 AZ_BATCH_APP_PACKAGE_FOO#1(Windows)입니다. AZ_BATCH_APP_PACKAGE_FOO_1 패키지가 다운로드된 위치(폴더)를 가리킵니다. 앱 패키지의 기본 버전을 사용하는 경우 버전 번호 없이 AZ_BATCH_APP_PACKAGE 환경 변수를 사용합니다. Linux에서 애플리케이션 패키지 이름이 "Agent-linux-x64"이고 버전이 "1.1.46.0"인 경우 환경 이름은 실제로 밑줄과 소문자를 사용하여 AZ_BATCH_APP_PACKAGE_agent_linux_x64_1_1_46_0. 자세한 내용은 설치된 애플리케이션 실행을 참조하세요. 연결된 앱 패키지가 있는 모든 작업입니다. 노드 자체에 애플리케이션 패키지가 있는 경우 모든 작업에도 사용할 수 있습니다. AZ_BATCH_APP_PACKAGE_FOO_1(Linux) 또는 AZ_BATCH_APP_PACKAGE_FOO#1(Windows)
AZ_BATCH_AUTHENTICATION_TOKEN 제한된 Batch 서비스 작업 집합에 대한 액세스 권한을 부여하는 인증 토큰입니다. 이 환경 변수는 작업이 추가되면 authenticationTokenSettings가 설정된 경우에만 존재합니다. 토큰 값은 Batch API에서 BatchClient.Open() .NET API와 같은 Batch 클라이언트를 만들기 위한 자격 증명으로 사용됩니다. 토큰은 프라이빗 네트워킹을 지원하지 않습니다. 모든 작업. OAuth2 액세스 토큰
AZ_BATCH_CERTIFICATES_DIR Linux 컴퓨팅 노드에 대해 인증서가 저장되는 작업 작업 디렉터리 내의 디렉터리입니다. 이 환경 변수는 Windows 컴퓨팅 노드에 적용되지 않습니다. 모든 작업. /mnt/batch/tasks/workitems/batchjob001/job-1/task001/certs
AZ_BATCH_HOST_LIST 형식nodeIP,nodeIP 할당된 노드 목록입니다. 다중 인스턴스 기본 및 하위 작업. 10.0.0.4,10.0.0.5
AZ_BATCH_IS_CURRENT_NODE_MASTER 현재 노드가 다중 인스턴스 작업의 마스터 노드인지 여부를 지정합니다. 가능한 값은 truefalse입니다. 다중 인스턴스 기본 및 하위 작업. true
AZ_BATCH_JOB_ID 태스크가 속한 작업의 ID입니다. 시작 작업을 제외한 모든 작업. 뱃치잡001
AZ_BATCH_JOB_PREP_DIR 노드에 있는 작업 준비 태스크 디렉터리의 전체 경로입니다. 시작 작업 및 작업 준비 태스크를 제외한 모든 작업. 작업이 작업 준비 태스크로 구성된 경우에만 사용할 수 있습니다. AZ_BATCH_JOB_PREP_DIR
AZ_BATCH_JOB_PREP_WORKING_DIR (작업 준비 디렉토리) 노드에서 작업 준비 태스크 작업 디렉터리의 전체 경로입니다. 시작 작업 및 작업 준비 태스크를 제외한 모든 작업. 작업이 작업 준비 태스크로 구성된 경우에만 사용할 수 있습니다. AZ_BATCH_JOB_PREP_WORKING_DIR
AZ_BATCH_MASTER_NODE 다중 인스턴스 태스크의 기본 작업이 실행되는 컴퓨팅 노드의 IP 주소 및 포트입니다. 여기에 지정된 포트를 MPI 또는 NCCL 통신에 사용하지 마세요. Azure Batch 서비스용으로 예약되어 있습니다. 변수 MASTER_PORT 대신 명령줄 인수를 통해 전달된 값으로 설정하거나(포트 6105가 적절한 기본 선택임) AML 집합 값을 사용합니다. 다중 인스턴스 기본 및 하위 작업. 10.0.0.4:6000
AZ_BATCH_NODE_ID 태스크가 할당된 노드의 ID입니다. 모든 작업. TVM-1219235766_3-20160919T172711Z
AZ_BATCH_NODE_IS_DEDICATED 이 경우 true현재 노드는 전용 노드입니다. 이 경우 falseAzure Spot 노드입니다. 모든 작업. true
AZ_BATCH_NODE_LIST 형식nodeIP;nodeIP 할당된 노드 목록입니다. 다중 인스턴스 기본 및 하위 작업. 10.0.0.4;10.0.0.5
AZ_BATCH_NODE_MOUNTS_DIR 노드 수준 파일 시스템 탑재 위치 중 모든 탑재 디렉터리가 있는 곳의 전체 경로입니다. Windows 파일 공유는 드라이브 문자를 사용하므로 Windows의 경우 탑재 드라이브는 디바이스 및 드라이브의 일부입니다. 사용자가 탑재된 디렉터리에 대한 탑재 권한을 알고 있는 경우 시작 작업을 비롯한 모든 작업은 사용자에게 액세스할 수 있습니다. AZ_BATCH_NODE_MOUNTS_DIR
AZ_BATCH_NODE_ROOT_DIR 노드에 있는 모든 Batch 디렉터리 루트의 전체 경로입니다. 모든 작업. AZ_BATCH_NODE_ROOT_DIR
AZ_BATCH_NODE_SHARED_DIR 노드에 있는 공유 디렉터리의 전체 경로입니다. 노드에서 실행되는 모든 작업에는 이 디렉터리에 대한 읽기/쓰기 권한이 있습니다. 다른 노드에서 실행되는 작업은 이 디렉터리에 대한 원격 액세스 권한이 없습니다("공유" 네트워크 디렉터리가 아님). 모든 작업. AZ_BATCH_NODE_SHARED_DIR
AZ_BATCH_NODE_STARTUP_DIR 노드에서 시작 작업 디렉터리의 전체 경로입니다. 모든 작업. AZ_BATCH_NODE_STARTUP_DIR
AZ_BATCH_POOL_ID 태스크가 실행 중인 풀의 ID입니다. 모든 작업. 배치풀001
AZ_BATCH_TASK_DIR 노드에 있는 작업 디렉터리의 전체 경로입니다. 이 디렉터리에는 작업을 위한 stdout.txtstderr.txt, 그리고 AZ_BATCH_TASK_WORKING_DIR이 포함되어 있습니다. 모든 작업. AZ_BATCH_TASK_DIR
AZ_BATCH_TASK_ID 현재 작업의 ID입니다. 시작 작업을 제외한 모든 작업. 작업001
AZ_BATCH_TASK_SHARED_DIR 주 작업 및 다중 인스턴스 작업의 모든 하위 작업에 대해 동일한 디렉터리 경로입니다. 경로는 다중 인스턴스 태스크가 실행되는 모든 노드에 존재하며, 해당 노드에서 실행되는 작업 명령( 조정 명령애플리케이션 명령 모두)에서 읽기/쓰기가 가능합니다. 하위 작업 또는 다른 노드에서 실행되는 기본 작업은 이 디렉터리에 대한 원격 액세스 권한이 없습니다("공유" 네트워크 디렉터리가 아님). 다중 인스턴스 기본 및 하위 작업. AZ_BATCH_TASK_SHARED_DIR
AZ_BATCH_TASK_WORKING_DIR 노드에 있는 작업 디렉터리의 전체 경로입니다. 현재 실행 중인 작업에는 이 디렉터리에 대한 읽기/쓰기 권한이 있습니다. 모든 작업. AZ_BATCH_TASK_WORKING_DIR
AZ_BATCH_TASK_RESERVED_EPHEMERAL_DISK_SPACE_BYTES VM이 DiskFull로 표시될 디스크 공간의 현재 임계값입니다. 모든 작업. 1000000
CCP_NODES 다중 인스턴스 작업에 할당된 노드 및 노드당 코어 수 목록입니다. 노드 및 코어는 형식으로 나열됩니다. numNodes<space>node1IP<space>node1Cores<space>
node2IP<space>node2Cores<space> ...- 노드 수 다음에 하나 이상의 노드 IP 주소와 각 노드의 코어 수가 뒤따릅니다.
다중 인스턴스 기본 및 하위 작업. 2 10.0.0.4 1 10.0.0.5 1

중요합니다

환경 변수의 경로에 대한 정확한 값은 구현 세부 정보로 간주되며 변경될 수 있습니다. 원시 경로 표현을 생성하는 대신 Batch 제공 환경 변수를 사용합니다.

다음 표에서는 AZ_BATCH_NODE_ROOT_DIR 값 뒤의 각 환경 변수 값 접두사 값을 지정합니다. 자세한 내용은 AZ_BATCH_NODE_ROOT_DIR 참조하세요.

환경 변수 이름 환경 변수 값 디렉터리 접미사
AZ_BATCH_NODE_STARTUP_DIR startup
AZ_BATCH_NODE_SHARED_DIR shared
AZ_BATCH_NODE_MOUNTS_DIR fsmounts

작업 디렉터리에는 단일 실행 작업작업 일정이 다릅니다. 다음 표에서는 단일 실행 작업 및 작업 일정에서 작업 디렉터리의 값을 지정합니다.

작업 유형 AZ_BATCH_NODE_ROOT_DIR 이후 작업 디렉터리 값의 접미사
직업 workitems\{job name}\job-1
작업 일정 workitems\{job schedule name}\{job name}

다음 표에서는 작업 디렉터리 뒤의 각 환경 변수 값 접두사 값을 지정합니다.

환경 변수 이름 작업 디렉터리 뒤에 환경 변수 값을 후위로 추가한 디렉터리
AZ_BATCH_TASK_WORKING_DIR {task name}\wd
AZ_BATCH_TASK_DIR {task name}
AZ_BATCH_TASK_SHARED_DIR {task name}
AZ_BATCH_JOB_PREP_DIR {job prepration task name}
AZ_BATCH_JOB_PREP_WORKING_DIR (작업 준비 디렉토리) {job prepration task name}\wd

다음 단계