AWS Batch의 구성 요소
AWS Batch는 한 리전 내의 여러 가용 영역에 걸쳐 배치 작업 실행 과정을 단순하게 해 줍니다 새 VPC 또는 기존 VPC에서 AWS Batch 컴퓨팅 환경을 생성할 수 있습니다. 컴퓨팅 환경을 실행하고 작업 대기열과 연결하면 작업을 실행할 Docker 컨테이너 이미지를 지정하는 작업 정의를 정의할 수 있습니다. 컨테이너 이미지는 컨테이너 레지스트리에서 저장 및 pull됩니다. 레지스트리는 AWS 인프라 내부 또는 외부에 존재할 수 있습니다.
컴퓨팅 환경
컴퓨팅 환경은 작업을 실행하는 데 사용되는 관리형 또는 비관리형 컴퓨팅 리소스 세트입니다. 관리형 컴퓨팅 환경을 사용하면 원하는 컴퓨팅 유형(Fargate 또는 EC2)을 다양한 세부 수준에서 지정할 수 있습니다. 특정 유형의 EC2 인스턴스인 c5.2xlarge 또는 m5.10xlarge와 같은 특정 모델을 사용하는 컴퓨팅 환경을 설정할 수 있습니다. 또는 최신 인스턴스 유형만 사용하도록 지정할 수도 있습니다. 또한 온디맨드 인스턴스 요금 및 대상 VPC 서브넷 세트의 백분율로 스팟 인스턴스에 대해 지불하려는 금액과 함께 환경에 대한 vCPU의 최소 수, 원하는 수 및 최대 수를 지정할 수 있습니다. AWS Batch는 필요에 따라 컴퓨팅 유형을 효율적으로 시작, 관리 및 종료합니다. 사용자 고유의 컴퓨팅 환경을 관리할 수도 있습니다. 이 경우 AWS Batch가 생성한 Amazon ECS 클러스터 인스턴스의 설정 및 규모 조정은 사용자가 책임져야 합니다. 자세한 내용은 AWS Batch에 대한 컴퓨팅 환경 섹션을 참조하세요.
작업 대기열
사용자가 AWS Batch 작업을 제출하면 작업이 특정 작업 대기열에 제출되고 컴퓨팅 환경에서 작업이 예약될 때까지 대기열에 상주합니다. 하나의 작업 대기열에 하나 이상의 컴퓨팅 환경을 연결할 수 있습니다. 또한 이러한 컴퓨팅 환경과 작업 대기열 자체에도 우선 순위 값을 할당할 수 있습니다. 예를 들어 시간에 민감한 작업을 제출할 때는 우선 순위가 높은 대기열을 가질 수 있습니다. 컴퓨팅 리소스 비용이 더 저렴할 때 언제든지 실행할 수 있는 작업은 우선 순위가 낮은 대기열을 가질 수 있습니다. 자세한 내용은 작업 대기열 섹션을 참조하세요.
작업 정의
작업 정의는 작업이 어떻게 실행될지를 지정합니다. 작업 정의는 작업에 들어가는 리소스에 대한 청사진이라고 할 수 있습니다. 작업에 IAM 역할을 제공하여 다른 AWS 리소스에 대한 액세스를 제공할 수 있습니다. 또한 메모리와 CPU 요구 사항을 모두 지정합니다. 작업 정의는 영구 스토리지의 컨테이너 속성, 환경 변수, 마운트 지점을 제어할 수도 있습니다. 작업 정의의 많은 사양은 개별 작업을 제출할 때 새 값을 지정하여 재정의될 수 있습니다. 자세한 내용은 작업 정의 섹션을 참조하세요.
작업
AWS Batch에 제출한 작업 단위(쉘 스크립트, Linux 실행 파일, Docker 컨테이너 이미지)입니다. 작업에는 이름이 있으며 사용자가 작업 정의에 지정한 파라미터를 사용하여 사용자 컴퓨팅 환경에서 AWS Fargate 혹은 Amazon EC2 리소스로 컨테이너화 된 애플리케이션으로 실행됩니다. 작업은 이름 또는 ID로 다른 작업을 참조할 수 있으며 다른 작업이 성공적으로 완료되었는지 여부 또는 지정한 리소스의 가용성에 따라 달라질 수 있습니다. 자세한 내용은 작업 섹션을 참조하세요.
예약 정책
사용자는 예약 정책을 사용하여 작업 대기열의 컴퓨팅 리소스를 사용자 또는 워크로드에 할당하는 방식을 구성할 수 있습니다. 공정 공유 예약 정책을 사용하면 워크로드 또는 사용자에게 서로 다른 공유 식별자를 할당할 수 있습니다. AWS Batch 작업 스케줄러는 기본적으로 선입선출(FIFO) 전략으로 설정됩니다. 자세한 내용은 공정 공유 예약 정책 섹션을 참조하세요.
소모성 리소스
소모성 리소스는 타사 라이선스 토큰, 데이터베이스 액세스 대역폭, 타사 API에 대한 호출 제한 필요성 등과 같이 작업을 실행하는 데 필요한 리소스입니다. 작업을 실행하는 데 필요한 소모성 리소스를 지정하면 Batch는 작업을 예약할 때 이러한 리소스 종속성을 고려합니다. 필요한 모든 리소스를 사용할 수 있는 작업만 할당하여 컴퓨팅 리소스의 사용 부족을 줄일 수 있습니다. 자세한 내용은 리소스 인식 일정 예약 섹션을 참조하세요.
서비스 환경
서비스 환경은 AWS Batch가 작업 실행을 위해 SageMaker와 통합되는 방식을 정의합니다. 서비스 환경은 AWS Batch의 대기열, 예약 및 우선 순위 관리 기능을 제공하면서 AWS Batch가 SageMaker에서 작업을 제출하고 관리할 수 있게 해 줍니다. 서비스 환경은 SageMaker 훈련 작업과 같은 특정 서비스 유형에 대한 용량 제한을 정의합니다. 용량 제한은 환경의 서비스 작업에서 사용할 수 있는 최대 리소스를 제어합니다. 자세한 내용은 AWS Batch를 위한 서비스 환경 섹션을 참조하세요.
서비스 작업
서비스 작업은 서비스 환경에서 실행하기 위해 AWS Batch에 제출하는 작업 유닛입니다. 서비스 작업은 AWS Batch의 대기열 및 예약 기능을 활용하는 동시에 실제 실행을 외부 서비스에 위임합니다. 예를 들어 서비스 작업으로 제출된 SageMaker 훈련 작업은 AWS Batch에 의해 대기열에 추가되고 우선 순위가 지정되지만 SageMaker 훈련 작업 실행은 SageMaker AI 인프라 내에서 이루어집니다. 이 통합은 데이터 과학자와 ML 엔지니어가 SageMaker AI 훈련 워크로드에 대해 AWS Batch의 자동화된 워크로드 관리 및 우선 순위 대기열을 활용할 수 있게 해 줍니다. 서비스 작업은 이름 또는 ID로 다른 작업을 참조하고 작업 종속성을 지원할 수 있습니다. 자세한 내용은 AWS Batch의 서비스 작업 섹션을 참조하세요.