

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS Batch이란 무엇인가요?
<a name="what-is-batch"></a>

AWS Batch를 사용하면 에서 배치 컴퓨팅 워크로드를 실행할 수 있습니다.AWS 클라우드 배치 컴퓨팅은 개발자, 과학자, 엔지니어가 수많은 컴퓨터 리소스에 액세스할 때 일반적으로 사용하는 방법입니다. AWS Batch는 기존의 배치 컴퓨팅 소프트웨어와 비슷하게 필요한 인프라를 구성하고 관리하는 획일적인 작업에 대한 부담을 덜 수 있습니다. 이 서비스는 제출된 작업에 응답하여 리소스를 효율적으로 프로비저닝함으로써 용량 제한을 해소하고, 컴퓨팅 비용을 줄이며, 결과를 신속하게 제공할 수 있습니다.

종합 관리형 서비스인 AWS Batch를 사용하면 모든 규모의 배치 컴퓨팅 워크로드를 실행할 수 있습니다. AWS Batch는 자동으로 컴퓨팅 리소스를 프로비저닝하고 워크로드의 수량 및 규모에 따라 워크로드 분배를 최적화합니다. AWS Batch를 사용하면 배치 컴퓨팅 소프트웨어를 설치 또는 관리할 필요가 없기 때문에 사용자는 결과 분석과 문제 해결에 집중할 수 있습니다.

![\[워크로드, 오케스트레이션 및 용량에 대한 AWS Batch의 레이어 표시\]](http://docs.aws.amazon.com/ko_kr/batch/latest/userguide/images/batch-diagram.png)


AWS Batch는 AWS 관리형 컨테이너 오케스트레이션 서비스, Amazon ECS 및 Amazon EKS를 기반으로 대규모 컴퓨팅 집약적 워크로드를 실행하는 데 필요한 모든 기능을 제공합니다. AWS Batch는 Amazon EC2 인스턴스 및 Fargate 리소스의 컴퓨팅 용량 규모를 조정할 수 있습니다.

AWS Batch는 배치 워크로드에 대한 완전 관리형 서비스를 제공하며 이러한 유형의 워크로드를 처리량, 속도, 리소스 효율 및 비용에 대해 최적화하는 운영 기능을 제공합니다.

AWS Batch는 또한 SageMaker 훈련 작업 대기열을 활성화하여 데이터 과학자 및 ML 엔지니어가 우선 순위가 지정된 훈련 작업을 구성 가능한 대기열에 제출할 수 있게 해 줍니다. 이 기능은 리소스를 사용할 수 있게 되는 즉시 ML 워크로드가 자동으로 실행되도록 하므로 수동 조정이 필요 없고 리소스 사용률을 향상합니다.

기계 학습 워크로드의 경우 AWS Batch는 SageMaker 훈련 작업을 위한 대기열 기능을 제공합니다. 특정 정책과 함께 대기열을 구성하여 ML 훈련 워크로드의 비용, 성능 및 리소스 할당을 최적화할 수 있습니다.

![\[관리자가 역할을 설정하고, 데이터 과학자가 서비스 환경 및 작업 대기열을 생성하고, SageMaker 훈련 작업을 제출하고, AWS Batch 대기열 및 SageMaker AI 실행 모두에서 작업을 모너티랑하는 것을 보여주는 워크플로 다이어그램\]](http://docs.aws.amazon.com/ko_kr/batch/latest/userguide/images/Batch-SageMaker-Diagram-Light-Mode.png)


이는 관리자가 인프라와 권한을 설정하고 데이터 과학자가 ML 훈련 워크로드를 제출하고 모니터링하는 데 집중할 수 있도록 하는 공동 책임 모델을 제공합니다. 작업은 구성된 우선 순위 및 리소스 가용성에 따라 자동으로 대기열에 추가되고 실행됩니다.

## AWS Batch를 처음 사용하십니까?
<a name="first-time-user"></a>

AWS Batch를 처음 사용할 경우 먼저 다음 단원을 읽을 것을 권장합니다.
+ [AWS Batch의 구성 요소](batch_components.md)
+ [IAM 계정 및 관리자 사용자 생성](create-an-iam-account.md)
+ [설정AWS Batch](get-set-up-for-aws-batch.md)
+ [AWS Batch 자습서 시작하기](Batch_GetStarted.md)
+ [SageMaker AI AWS Batch 에서 시작하기](getting-started-sagemaker.md) 

## 관련 서비스
<a name="related-services"></a>

AWS Batch는 Amazon ECS, Amazon EKS, AWS Fargate 및 스팟 또는 온디맨드 인스턴스와 같은 모든 AWS 컴퓨팅 제품에서 컨테이너화된 배치 ML, 시뮬레이션 및 분석 워크로드를 계획, 예약 및 실행하는 완전관리형 배치 컴퓨팅 서비스입니다. 각 관리형 컴퓨팅 서비스에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon EC2 *사용 설명서*](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html)
+ [AWS Fargate* 개발자 안내서*](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html)
+ [Amazon EBS *사용 설명서*](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html)
+ [Amazon SageMaker AI* 개발자 안내서*](https://docs.aws.amazon.com/sagemaker/latest/dg/gs.htm)

## AWS Batch 액세스
<a name="acessing-servicename"></a>

AWS Batch는 다음 방법을 사용하여 액세스할 수 있습니다.

**AWS Batch 콘솔**  
리소스를 생성하고 관리하는 웹 인터페이스.

**AWS Command Line Interface**  
명령줄 쉘에서 명령을 사용하여 AWS 서비스와 상호 작용합니다. AWS Command Line Interface는 Windows, macOS, Linux에서 지원됩니다. AWS CLI에 대한 자세한 내용은 [AWS Command Line Interface 사용 설명서](https://docs.aws.amazon.com/cli/latest/userguide/)를 참조하세요. [AWS CLI 명령 레퍼런스](https://docs.aws.amazon.com/cli/latest/reference/)에서 AWS Batch 명령을 찾아볼 수 있습니다.

**AWS SDK**  
HTTP나 HTTPS 요청을 직접 보내는 대신, 각 언어가 제공하는 고유의 API를 사용하여 애플리케이션을 빌드하는 것을 선호하는 경우, AWS에서 제공하는 라이브러리, 샘플 코드, 자습서 및 기타 리소스를 사용하세요. 이러한 라이브러리는 요청에 암호화 서명, 요청 재시도, 오류 응답 처리 등과 같은 작업을 자동으로 관리하는 기본 함수를 제공합니다. 이러한 함수를 사용하면 더 효율적으로 시작할 수 있습니다. 자세한 내용은 [AWS 기반의 도구](https://aws.amazon.com/developer/tools/)를 참조하세요.

# AWS Batch의 구성 요소
<a name="batch_components"></a>

AWS Batch는 한 리전 내의 여러 가용 영역에 걸쳐 배치 작업 실행 과정을 단순하게 해 줍니다 새 VPC 또는 기존 VPC에서 AWS Batch 컴퓨팅 환경을 생성할 수 있습니다. 컴퓨팅 환경을 실행하고 작업 대기열과 연결하면 작업을 실행할 Docker 컨테이너 이미지를 지정하는 작업 정의를 정의할 수 있습니다. 컨테이너 이미지는 컨테이너 레지스트리에서 저장 및 pull됩니다. 레지스트리는 AWS 인프라 내부 또는 외부에 존재할 수 있습니다.

![\[AWS Batch의 구성 요소와 이들이 함께 통합되는 방식 표시\]](http://docs.aws.amazon.com/ko_kr/batch/latest/userguide/images/batch-components.png)


## 컴퓨팅 환경
<a name="component_compute_environment"></a>

컴퓨팅 환경은 작업을 실행하는 데 사용되는 관리형 또는 비관리형 컴퓨팅 리소스 세트입니다. 관리형 컴퓨팅 환경을 사용하면 원하는 컴퓨팅 유형(Fargate 또는 EC2)을 다양한 세부 수준에서 지정할 수 있습니다. 특정 유형의 EC2 인스턴스인 `c5.2xlarge` 또는 `m5.10xlarge`와 같은 특정 모델을 사용하는 컴퓨팅 환경을 설정할 수 있습니다. 또는 최신 인스턴스 유형만 사용하도록 지정할 수도 있습니다. 또한 온디맨드 인스턴스 요금 및 대상 VPC 서브넷 세트의 백분율로 스팟 인스턴스에 대해 지불하려는 금액과 함께 환경에 대한 vCPU의 최소 수, 원하는 수 및 최대 수를 지정할 수 있습니다. AWS Batch는 필요에 따라 컴퓨팅 유형을 효율적으로 시작, 관리 및 종료합니다. 사용자 고유의 컴퓨팅 환경을 관리할 수도 있습니다. 이 경우 AWS Batch가 생성한 Amazon ECS 클러스터 인스턴스의 설정 및 규모 조정은 사용자가 책임져야 합니다. 자세한 내용은 [컴퓨팅 환경 AWS Batch](compute_environments.md) 섹션을 참조하세요.

## 작업 대기열
<a name="component_job_queue"></a>

사용자가 AWS Batch 작업을 제출하면 작업이 특정 작업 대기열에 제출되고 컴퓨팅 환경에서 작업이 예약될 때까지 대기열에 상주합니다. 하나의 작업 대기열에 하나 이상의 컴퓨팅 환경을 연결할 수 있습니다. 또한 이러한 컴퓨팅 환경과 작업 대기열 자체에도 우선 순위 값을 할당할 수 있습니다. 예를 들어 시간에 민감한 작업을 제출할 때는 우선 순위가 높은 대기열을 가질 수 있습니다. 컴퓨팅 리소스 비용이 더 저렴할 때 언제든지 실행할 수 있는 작업은 우선 순위가 낮은 대기열을 가질 수 있습니다. 자세한 내용은 [작업 대기열](job_queues.md) 섹션을 참조하세요.

## 작업 정의
<a name="component_job_definition"></a>

작업 정의는 작업이 어떻게 실행될지를 지정합니다. 작업 정의는 작업에 들어가는 리소스에 대한 청사진이라고 할 수 있습니다. 작업에 IAM 역할을 제공하여 다른 AWS 리소스에 대한 액세스를 제공할 수 있습니다. 또한 메모리와 CPU 요구 사항을 모두 지정합니다. 작업 정의는 영구 스토리지의 컨테이너 속성, 환경 변수, 마운트 지점을 제어할 수도 있습니다. 작업 정의의 많은 사양은 개별 작업을 제출할 때 새 값을 지정하여 재정의될 수 있습니다. 자세한 내용은 [작업 정의](job_definitions.md) 섹션을 참조하세요.

## 작업
<a name="component_job"></a>

AWS Batch에 제출한 작업 단위(쉘 스크립트, Linux 실행 파일, Docker 컨테이너 이미지)입니다. 작업에는 이름이 있으며 사용자가 작업 정의에 지정한 파라미터를 사용하여 사용자 컴퓨팅 환경에서 AWS Fargate 혹은 Amazon EC2 리소스로 컨테이너화 된 애플리케이션으로 실행됩니다. 작업은 이름 또는 ID로 다른 작업을 참조할 수 있으며 다른 작업이 성공적으로 완료되었는지 여부 또는 지정한 [리소스](resource-aware-scheduling.md)의 가용성에 따라 달라질 수 있습니다. 자세한 내용은 [작업](jobs.md) 섹션을 참조하세요.

## 예약 정책
<a name="component_scheduling_policy"></a>

사용자는 예약 정책을 사용하여 작업 대기열의 컴퓨팅 리소스를 사용자 또는 워크로드에 할당하는 방식을 구성할 수 있습니다. 공정 공유 예약 정책을 사용하면 워크로드 또는 사용자에게 서로 다른 공유 식별자를 할당할 수 있습니다. AWS Batch 작업 스케줄러는 기본적으로 선입선출(FIFO) 전략으로 설정됩니다. 자세한 내용은 [공정 공유 예약 정책](job_scheduling.md) 섹션을 참조하세요.

## 소모성 리소스
<a name="component_consumable_resource"></a>

소모성 리소스는 타사 라이선스 토큰, 데이터베이스 액세스 대역폭, 타사 API에 대한 호출 제한 필요성 등과 같이 작업을 실행하는 데 필요한 리소스입니다. 작업을 실행하는 데 필요한 소모성 리소스를 지정하면 Batch는 작업을 예약할 때 이러한 리소스 종속성을 고려합니다. 필요한 모든 리소스를 사용할 수 있는 작업만 할당하여 컴퓨팅 리소스의 사용 부족을 줄일 수 있습니다. 자세한 내용은 [리소스 인식 일정 예약](resource-aware-scheduling.md) 섹션을 참조하세요.

## 서비스 환경
<a name="component_service_environment"></a>

서비스 환경은 AWS Batch가 작업 실행을 위해 SageMaker와 통합되는 방식을 정의합니다. 서비스 환경은 AWS Batch의 대기열, 예약 및 우선 순위 관리 기능을 제공하면서 AWS Batch가 SageMaker에서 작업을 제출하고 관리할 수 있게 해 줍니다. 서비스 환경은 SageMaker 훈련 작업과 같은 특정 서비스 유형에 대한 용량 제한을 정의합니다. 용량 제한은 환경의 서비스 작업에서 사용할 수 있는 최대 리소스를 제어합니다. 자세한 내용은 [용 서비스 환경 AWS Batch](service-environments.md) 섹션을 참조하세요.

## 서비스 작업
<a name="component_service_job"></a>

서비스 작업은 서비스 환경에서 실행하기 위해 AWS Batch에 제출하는 작업 유닛입니다. 서비스 작업은 AWS Batch의 대기열 및 예약 기능을 활용하는 동시에 실제 실행을 외부 서비스에 위임합니다. 예를 들어 서비스 작업으로 제출된 SageMaker 훈련 작업은 AWS Batch에 의해 대기열에 추가되고 우선 순위가 지정되지만 SageMaker 훈련 작업 실행은 SageMaker AI 인프라 내에서 이루어집니다. 이 통합은 데이터 과학자와 ML 엔지니어가 SageMaker AI 훈련 워크로드에 대해 AWS Batch의 자동화된 워크로드 관리 및 우선 순위 대기열을 활용할 수 있게 해 줍니다. 서비스 작업은 이름 또는 ID로 다른 작업을 참조하고 작업 종속성을 지원할 수 있습니다. 자세한 내용은 [의 서비스 작업 AWS Batch](service-jobs.md) 섹션을 참조하세요.