Batch API 및 도구 개요

Azure Batch를 통한 병렬 워크로드 처리는 일반적으로 Batch API 중 하나를 사용하여 프로그래밍 방식으로 수행됩니다. 클라이언트 애플리케이션 또는 서비스는 Batch API를 통해 Batch 서비스와 통신할 수 있습니다. Batch API를 사용하면 가상 머신 또는 클라우드 서비스 중 하나인 컴퓨팅 노드의 풀을 만들고 관리할 수 있습니다. 그런 다음 해당 노드에서 작업과 태스크를 실행하도록 예약할 수 있습니다.

조직의 대규모 워크로드를 효율적으로 처리하거나 고객에게 서비스 프런트 엔드를 제공할 수 있으므로 요청 시 또는 일정에 따라 작업 및 태스크를 단일, 수백 또는 수천 개의 노드에서 실행할 수 있습니다. 또한 Azure Data Factory와 같은 도구에서 관리하는 대규모 워크플로의 일부로 Azure Batch를 사용할 수도 있습니다.

Azure Batch에서 사용되는 기능 및 워크플로에 대한 자세한 내용은 Batch 서비스 워크플로 및 리소스를 참조하세요.

Batch 개발을 위한 Azure 계정

Batch 솔루션을 개발할 경우 Azure 구독에서는 다음 계정을 사용합니다.

  • Batch 계정: 풀, 컴퓨팅 노드, 작업 및 태스크를 포함하여 Azure Batch 리소스는 Azure Batch 계정과 연결됩니다. 애플리케이션에서 Batch 서비스를 요청할 때는 Azure Batch 계정 이름, 계정의 URL 및 액세스 키 또는 Microsoft Entra 토큰을 사용하여 요청을 인증합니다. Azure Portal 또는 프로그래밍 방식으로 배치 계정을 만들 수 있습니다.
  • 스토리지 계정: Batch는 Azure Storage에서 파일 작업을 기본적으로 지원합니다. 거의 모든 Batch 시나리오에서는 Azure Blob Storage를 사용하여 태스크에서 실행하는 프로그램 및 프로그램에서 처리하는 데이터를 준비하고, 생성되는 출력 데이터를 저장합니다. 일반적으로 각 배치 계정은 하나의 해당 스토리지 계정과 연결됩니다.

서비스 수준 및 관리 수준 API

Azure Batch에는 서비스 수준과 관리 수준을 위한 두 가지 API 세트가 있습니다. 두 API 세트는 대개 유사하게 명명되지만 서로 다른 결과를 반환합니다.

관리 API의 작업만 활동 로그에서 추적됩니다. 서비스 수준 API는 Azure Resource Management 계층(management.azure.com)을 우회하며 기록되지 않습니다.

예를 들어 풀을 삭제하기 위한 Batch 서비스 API는 배치 계정(DELETE {batchUrl}/pools/{poolId})을 직접 대상으로 합니다.

한편 풀을 삭제하기 위한 Batch 관리 API는 management.azure.com 계층(DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName})을 대상으로 합니다.

Batch 서비스 API

애플리케이션과 서비스는 직접 REST API 호출을 실행하거나 다음 클라이언트 라이브러리 중 하나 이상을 사용하여 Azure Batch 워크로드를 실행하고 관리할 수 있습니다.

API API 참조 다운로드 자습서 코드 샘플 추가 정보
Batch REST Azure REST API - Docs 해당 없음 - - 지원되는 버전
Batch .NET .NET용 Azure SDK - Docs NuGet 자습서 GitHub 릴리스 정보
Batch Python Python용 Azure SDK - Docs PyPI 자습서 GitHub 추가 정보
Batch JavaScript JavaScript용 Azure SDK - Docs npm 자습서 - 추가 정보
Batch Java Java용 Azure SDK - Docs Maven - GitHub 추가 정보

Batch 관리 API

Batch용 Azure Resource Manager API는 Batch 계정에 대한 프로그래밍 방식 액세스를 제공합니다. 이러한 API를 사용하면 Microsoft.Batch 공급자를 통해 Batch 계정, 할당량, 애플리케이션 패키지 및 기타 리소스를 프로그래밍 방식으로 관리할 수 있습니다.

API API 참조 다운로드 자습서 코드 샘플
Batch 관리 REST Azure REST API - Docs - - GitHub
Batch 관리 .NET .NET용 Azure SDK - Docs NuGet 자습서 GitHub
Batch 관리 Python Python용 Azure SDK - Docs PyPI - -
Batch Management JavaScript JavaScript용 Azure SDK - Docs npm - -
Batch 관리 Java Java용 Azure SDK - Docs Maven - -

Batch 명령줄 도구

이러한 명령줄 도구는 Batch 서비스 및 Batch 관리 API와 동일한 기능을 제공합니다.

애플리케이션 개발을 위한 기타 도구

다음과 같은 추가 도구는 Batch 애플리케이션 및 서비스를 빌드 및 디버그하는 데 도움이 될 수 있습니다.

  • Azure Portal: Azure Portal에서 Batch 풀, 작업 및 태스크를 만들고 모니터링하고 삭제할 수 있습니다. 작업을 실행하는 동안 해당하는 리소스 풀 및 다른 리소스 풀에 대한 상태 정보를 보고 풀에 있는 컴퓨팅 노드에서 파일을 다운로드할 수 있습니다. 예를 들어 문제를 해결하는 동안 실패한 작업의 stderr.txt를 다운로드할 수 있습니다. 또한 컴퓨팅 노드에 로그인하는 데 사용할 수 있는 RDP(원격 데스크톱) 파일을 다운로드할 수 있습니다.
  • Azure Batch Explorer: Batch Explorer는 Azure Batch 애플리케이션을 만들고, 디버그하고, 모니터링할 수 있는 다양한 기능을 갖춘 무료 독립 실행형 클라이언트 도구입니다. Mac, Linux 또는 Windows의 경우 설치 패키지를 다운로드합니다.
  • Azure Storage Explorer: 엄밀히 말해 Storage Explorer는 Azure Batch 도구가 아니지만 Batch 솔루션을 개발하고 디버깅할 때 유용할 수 있습니다.

추가 리소스

다음 단계