일반 정보
Q: AWS Batch란 무엇입니까?
AWS Batch는 개발자, 과학자 및 엔지니어가 AWS에서 수많은 배치 컴퓨팅 작업을 효율적으로 손쉽게 실행할 수 있게 해주는 배치 관리 기능 세트입니다. AWS Batch는 제출된 배치 작업의 볼륨 및 특정 리소스 요구 사항에 따라 최적의 수량 및 컴퓨팅 리소스의 유형(예: CPU 또는 메모리 최적화 컴퓨터 리소스)을 동적으로 프로비저닝합니다. AWS Batch에서는 작업 실행을 위한 배치 컴퓨팅 소프트웨어나 서버 클러스터를 설치하여 관리할 필요가 없으므로 결과 분석과 문제 해결에 집중할 수 있습니다. AWS Batch는 Amazon ECS, Amazon EKS 및 AWS Fargate를 사용하여 배치 컴퓨팅 워크로드를 계획, 예약 및 실행하며 스팟 인스턴스를 활용할 수 있는 옵션을 제공합니다.
Q: 배치 컴퓨팅이란 무엇인가요?
배치 컴퓨팅은 수동 개입 없이 하나 이상의 컴퓨터에서 일련의 프로그램("작업")을 실행하는 것을 말합니다. 입력 파라미터는 스크립트, 명령줄 인수, 제어 파일 또는 작업 제어 언어를 통해 사전에 정의됩니다. 해당 배치 작업은 이전 작업의 완료 또는 특정 입력의 가용성에 따라 달라질 수 있으므로 여러 작업의 순서를 정하고 일정을 예약하는 것이 중요하며 대화형 처리와 호환되지 않습니다.
- 배치 컴퓨팅은 작업을 처리하는 시점을 더 큰 용량 또는 더 저렴한 용량을 사용할 수 있는 기간으로 옮길 수 있습니다.
- 이를 통해 빈번한 수동 개임과 감독이 필요한 유휴 컴퓨팅 리소스를 방지할 수 있습니다.
- 또한, 컴퓨팅 리소스의 사용률이 높아짐에 따라 효율성이 증가합니다.
- 작업의 우선순위를 지정할 수 있으므로 비즈니스 목표에 맞춰 리소스를 사용할 수 있습니다.
EKS, Fargate, ECS를 비교할 때 각각에서 작업을 실행해야 하는 경우는 언제인가요?
AWS Batch를 사용해야 하는 이유
Q: AWS Batch를 사용해야 하는 이유는 무엇입니까?
AWS Batch는 작업 실행과 컴퓨팅 리소스 관리를 처리하므로 사용자는 인프라를 설정하고 관리하는 대신 애플리케이션 개발이나 결과 분석에 집중할 수 있습니다. 배치 워크로드를 AWS에서 실행하거나 AWS로의 이전을 고려하고 있다면 AWS Batch를 사용해야 합니다.
Q: AWS Batch가 최적화된 사용 사례에는 어떤 것이 있습니까?
AWS Batch는 여러 작업을 병렬로 실행하여 확장하는 배치 컴퓨팅과 애플리케이션에 최적화되어 있습니다. 딥 러닝, 게놈 분석, 금융 위험 모델, Monte Carlo 시뮬레이션, 애니메이션 렌더링, 미디어 트랜스코딩, 이미지 처리 및 엔지니어링 시뮬레이션은 모두 배치 컴퓨팅 애플리케이션의 좋은 예입니다.
기능
Q: AWS Batch의 주요 기능은 무엇인가요?
AWS Batch는 컴퓨팅 환경 및 작업 대기열을 관리합니다. 따라서 사용자는 스팟 또는 온디맨드 리소스 간에 전환할 수 있는 옵션과 함께 Amazon ECS, Amazon EKS 및 AWS Fargate를 사용하여 규모에 관계없이 수천 개의 작업을 손쉽게 실행할 수 있습니다. 배치 작업을 정의하고 대기열에 이를 제출하기만 하면 됩니다. 그러면 AWS Batch가 작업을 실행할 장소를 선택하고 필요한 경우 AWS 용량을 추가로 시작합니다. AWS Batch는 작업 진행 상황을 신중하게 모니터링하고, 용량이 더는 필요 없게 되면 AWS Batch가 이를 제거합니다. 또한, AWS Batch는 파이프라인 또는 워크플로의 일부로서 작업을 제출할 수 있는 기능을 제공하므로 작업을 제출하면서 작업 간에 존재하는 상호 종속성을 표시할 수 있습니다.
Q: AWS Batch에서는 어떤 유형의 배치 작업을 지원합니까?
AWS Batch에서는 Docker 컨테이너로 실행될 수 있는 모든 작업을 지원합니다. 작업이 자신의 메모리 요구 사항과 vCPU 개수를 지정합니다.
Q: 컴퓨팅 리소스란 무엇입니까?
AWS Batch 컴퓨팅 리소스는 EC2 인스턴스 또는 AWS Fargate 컴퓨팅 리소스입니다.
Q: 컴퓨팅 환경이란 무엇입니까?
AWS Batch 컴퓨팅 환경은 작업이 실행되는 컴퓨팅 리소스 모음입니다. AWS Batch는 AWS에서 프로비저닝하고 관리하는 관리형 컴퓨팅 환경과 고객이 관리하는 비관리형 컴퓨팅 환경이라는 두 가지 유형의 컴퓨팅 환경을 지원합니다. 비관리형 컴퓨팅 환경은 전용 호스트, 규모가 더 큰 스토리지 구성, Amazon EFS 등 특화된 리소스를 활용할 수 있는 메커니즘을 제공합니다.
Q:작업 정의란 무엇입니까?
작업 정의는 실행될 작업, 파라미터, 환경 변수, 컴퓨팅 요구 사항 및 작업 실행을 최적화하는 데 사용되는 기타 정보를 설명합니다. 작업 정의는 작업을 제출하기 전에 정의되고 다른 작업과 공유될 수 있습니다.
Q: Amazon ECS 에이전트는 무엇이고 AWS Batch에서 어떻게 이를 사용합니까?
AWS Batch는 Amazon ECS를 사용하여 컨테이너식 작업을 실행하므로 ECS 에이전트가 AWS Batch 컴퓨팅 환경 내 컴퓨팅 리소스에 설치되어 있어야 합니다. ECS 에이전트는 관리형 컴퓨팅 환경에 미리 설치됩니다.
Q: AWS Batch는 어떻게 스팟 인스턴스 사용을 쉽게 지원합니까?
AWS Batch 컴퓨팅 환경은 EC2 스팟 인스턴스로 구성될 수 있습니다. 관리형 컴퓨팅 환경을 생성할 때 EC2 스팟 인스턴스를 사용할 것을 지정하고 지불할 온디맨드 요금의 백분율을 제공하기만 하면 나머지는 AWS Batch가 처리합니다. 비관리형 컴퓨팅 환경도 EC2 스팟 플릿에서 시작하는 스팟 인스턴스를 비롯하여 사용자가 시작하는 스팟 인스턴스를 포함할 수 있습니다.
요금
Q: AWS Batch의 요금은 어떻게 됩니까?
AWS Batch에 대한 추가 비용은 없습니다. 배치 작업을 저장하고 실행하기 위해 생성한 AWS 리소스(예: EC2 인스턴스 또는 AWS Fargate)에 대한 비용만 지불하면 됩니다.
GPU 일정 설정
Q: AWS Batch를 통해 액셀러레이터를 사용할 수 있습니까?
예. Batch를 사용하여 작업에 필요한 액셀러레이터의 수와 유형을 현재 vCPU 및 메모리 옵션과 함께 작업 정의 입력 변수로 지정할 수 있습니다. AWS Batch는 필요한 액셀러레이터를 토대로 작업에 적합하게 인스턴스의 크기를 확장하고, 적절한 컨테이너만 액셀러레이터에 액세스할 수 있도록 각 작업의 요구에 따라 액셀러레이터를 격리합니다.
Q: 왜 AWS Batch를 통해 액셀러레이터를 사용해야 합니까?
Batch와 함께 액셀러레이터를 사용하면 액셀러레이터 필요성에 따라 작업을 동적으로 예약하고 프로비저닝할 수 있으며 Batch는 작업에 대해 적절한 수의 액셀러레이터가 예약되도록 합니다. Batch는 필요한 경우 EC2 가속화된 인스턴스를 확장하고, 작업이 완료되면 EC2 가속화된 인스턴스를 축소하여 사용자가 애플리케이션에 집중할 수 있도록 합니다. Batch는 EC2 스팟과의 네이티브 통합 기능을 제공합니다. 즉, 가속화된 인스턴스를 사용할 때 가속화된 작업을 통해 최대 90%의 비용 절감 효과를 얻을 수 있습니다.
API에서:
{
"containerProperties": {
"vcpus": 1,
"image": "nvidia/cuda:9.0-base",
"memory": 2048,
"resourceRequirements" : [
{
"type" : "GPU",
"value" : "1"
}
],
Q: 작업 정의의 액셀러레이터 변수를 작업 제출 시에 덮어쓸 수 있습니까?
vCPU 및 메모리 요구 사항과 마찬가지로 작업 제출 시 액셀러레이터의 수와 유형을 덮어쓸 수 있습니다.
Q: 액셀러레이터가 필요 없는 작업에 가속화된 인스턴스를 사용할 수 있습니까?
현재 작업에서 Batch는 가능한 경우 가속화된 인스턴스에 대해 가속화가 필요 없는 작업을 예약하지 않을 것입니다. 이는 장기 실행 작업이 액셀러레이터를 활용하지 않으면서 가속화된 인스턴스를 차지하여 비용을 증가시키는 경우를 방지하기 위한 것입니다. 드물게 스팟 요금과 관련된 경우, 허용되는 유형이 가속화된 인스턴스의 경우, Batch가 액셀러레이터 필요성에 관계없이 가속화된 인스턴스가 작업을 실행하는 데 가장 비용이 적게 드는 방법이라고 판단할 수 있습니다.
CE에 Batch가 가속화된 인스턴스만 시작할 수 있는 작업을 제출할 경우 Batch는 액셀러레이터 필요성에 관계없이 해당 인스턴스에서 작업을 실행합니다.
Q: Batch는 ECS GPU 최적화 AMI를 어떻게 사용합니까?
이제부터는 p 유형 인스턴스가 기본적으로 ECS GPU 최적화 AMI로 시작됩니다. 이 AMI에는 GPU 기반 애플리케이션을 실행하는 데 필요한 라이브러리와 런타임이 포함되어 있습니다. CE를 만들 때 항상 필요에 따라 사용자 지정 AMI를 가리킬 수 있습니다.
시작하기
Q: 시작하려면 어떻게 해야 합니까?
시작하려면 AWS 설명서에서 시작 안내서를 따르십시오.
Q: 시작하려면 무엇을 프로비저닝해야 합니까?
시작하기 위해 자체 컴퓨팅 리소스를 수동으로 시작할 필요는 없습니다. AWS Batch 웹 콘솔이 첫 번째 컴퓨팅 환경과 작업 대기열을 생성하는 프로세스를 안내하므로 이를 따라 첫 번째 작업을 제출하면 됩니다. 컴퓨팅 환경 내 리소스는 추가 작업이 준비되면 확장되고 실행할 수 있는 작업 수가 감소하면 축소됩니다.
AWS Batch를 사용하는 경우에 대해 자세히 알아보기