이 페이지에서는 Google Cloud용 Batch를 시작하는 방법을 설명합니다.
개요
Batch는 Google Cloud 리소스에서 일괄 처리 워크로드를 예약, 큐에 추가, 실행할 수 있게 해주는 완전 관리형 서비스입니다. 예를 들어 고성능 컴퓨팅(HPC), 머신러닝(ML), 데이터 처리 워크로드에 Batch를 사용하는 것이 좋습니다. Batch는 자동으로 리소스를 프로비저닝하고 용량을 관리하므로 일괄 워크로드를 규모에 맞게 실행할 수 있습니다.
Batch를 사용하면 제3자 작업 스케줄러를 구성 및 관리하거나, 리소스를 프로비저닝 및 프로비저닝 해제하거나, 한 번에 한 영역에 리소스를 요청할 필요가 없습니다. 작업을 실행하려는 경우 워크로드에 필요한 리소스의 매개변수를 지정하면 Batch가 리소스를 가져오고 실행할 작업을 큐에 추가합니다. Batch는 Batch 작업의 예약, 실행, 저장, 분석을 지원하는 다른 Google Cloud 서비스와의 기본 통합을 제공하므로 작업을 제출하고 결과를 사용하는 데 집중할 수 있습니다.
Batch는 다음과 같은 구성요소로 이루어집니다.
작업: 일반적으로 계산 워크로드의 경우 사용자 상호작용 없이 완료할 일련의 태스크를 실행하는 예약된 프로그램입니다. 예를 들어 한 작업은 단일 셸 스크립트이거나 복잡한 멀티파트 계산일 수 있습니다.
특히 Batch 작업은 하나 이상의 태스크 배열과 해당 태스크를 실행할 환경을 나타냅니다. 작업 프로그램을 하나 이상의 실행 가능한 항목에 대한 시퀀스로 정의합니다. 각 태스크는 작업의 리소스에서 실행 가능한 항목에 대한 시퀀스를 실행합니다. 병렬 또는 순차적으로 실행되도록 작업 태스크를 구성할 수 있습니다.
태스크: 실행 가능한 항목의 작업 시퀀스 1회 실행입니다. 작업에 여러 태스크가 있는 경우 작업의 실행 가능한 항목의 태스크 색인에 대한 환경 변수를 참조하여 각 실행의 다양한 방식을 지정합니다.
실행 가능 항목: 작업의 일부로 정의하는 실행 가능한 스크립트 또는 컨테이너입니다.
리소스: 작업을 실행하는 데 필요한 인프라입니다. 최소한 태스크당 필요한 컴퓨팅 리소스(CPU 코어, 메모리, 추가 부팅 디스크 스토리지(필요한 경우))만 지정하면 됩니다. 원하는 경우 작업에 다른 리소스 옵션을 지정할 수도 있습니다. Batch는 작업 실행 시간 동안 사양을 충족하는 리소스를 자동으로 만들고 삭제합니다.
특히 각 Batch 작업은 포함된 영역 중 하나에 각각 위치하는 하나 이상의 일치하는 Compute Engine 가상 머신(VM) 인스턴스 그룹인 리전 관리형 인스턴스 그룹(MIG)에서 실행됩니다. 각 VM에는 작업 성능에 영향을 미치는 CPU 코어 및 메모리 전용 하드웨어와 운영체제(OS) 이미지 및 작업 실행 지침을 저장하는 부팅 디스크가 있습니다. 지정된 경우 작업은 GPU 또는 외부 저장소 볼륨과 같은 추가 리소스를 포함하거나 액세스할 수도 있습니다. 작업에 대해 프로비저닝된 VM 수는 지정한 하드웨어 요구사항 및 태스크 예약 옵션에 따라 다릅니다.
요약하면, Batch를 사용하면 각각 태스크를 실행하는 데 필요한 리소스를 자동으로 프로비저닝하고 활용하는 작업을 만들고 실행할 수 있습니다.
작업 동작 및 옵션에 대한 자세한 내용은 작업 만들기 및 실행 개요 페이지를 참조하세요.
가격 책정
Batch를 사용하는 데 추가 비용이 들지 않습니다. 작업을 실행하는 데 필요한 기본 리소스에 대해서만 요금이 청구됩니다.
Batch와 관련된 비용과 Batch 비용을 보기 위해 Cloud Billing 보고서를 필터링하는 방법에 대한 자세한 내용은 가격 책정을 참조하세요.
제한사항
Batch에는 다음과 같은 제한사항이 있습니다.
- 프로젝트의 Batch 할당량 및 한도를 초과할 수 없습니다.
- 작업당 사전 정의된 머신 유형 또는 커스텀 머신 유형 하나만 지정할 수 있습니다.
- 작업당 2개 이상의 태스크 그룹을 지정할 수 없습니다. 모든 작업에는
group0
이라는 하나의 태스크 그룹만 있습니다.
기본 요건
Batch 사용을 시작하려면 다음 기본 요건을 완료합니다.
- 이전에 프로젝트에서 Batch를 사용하지 않은 경우 프로젝트에 Batch를 사용 설정합니다.
- 각 새 사용자에 Batch를 설정합니다.
프로젝트에 Batch 사용 설정
프로젝트에서 Batch 사용을 시작하려면 다음을 수행하세요.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
프로젝트에 Batch가 사용 설정되어 있는지 확인합니다.
Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 Batch에 API를 사용 설정합니다.
콘솔
Enable the Batch, Compute Engine, and Cloud Logging APIs.
gcloud
Enable the Batch, Compute Engine, and Cloud Logging APIs:
gcloud services enable batch.googleapis.com
compute.googleapis.com logging.googleapis.com 프로젝트에 일괄 작업을 실행하는 데 필요한 리소스를 만들고 액세스하는 데 필요한 권한이 있는 서비스 계정이 하나 이상 있는지 확인합니다.
특히 프로젝트에서 Batch 작업을 만들고 실행하도록 허용하려는 모든 사용자는 이러한 서비스 계정 중 하나를 사용할 수 있는 권한을 부여받아야 합니다. 따라서 이러한 사용자에게 부여하려는 것보다 많은 권한이 있는 서비스 계정을 선택하지 마세요.
각 작업이 기본적으로 사용하는 서비스 계정은 Compute Engine 기본 서비스 계정이지만 작업에서 사용하는 서비스 계정을 맞춤설정할 수도 있습니다.
작업의 서비스 계정에 기본 구성만 사용하려는 경우가 아니라면 프로젝트에서 Batch 작업에 사용하는 서비스 계정에 다음 IAM 역할을 부여합니다.
- 프로젝트에 대한 Batch 에이전트 보고자(
roles/batch.agentReporter
) - 작업이 Cloud Logging에서 로그를 생성하도록 허용: 프로젝트에 대한 로그 작성자(
roles/logging.logWriter
)
작업에 사용할 구성 옵션에 따라 작업에 사용하는 서비스 계정에 추가 역할이 필요할 수도 있습니다. 추가 권한이 필요한지 확인하려면 각 태스크의 문서를 참조하세요. 서비스 계정에 역할 부여에 대한 자세한 내용은 서비스 계정 제한 및 서비스 계정에 대한 액세스 관리를 참조하세요.
- 프로젝트에 대한 Batch 에이전트 보고자(
프로젝트의 Batch 서비스 에이전트를 숙지해야 합니다.
일괄 작업을 만들면 다음 이름을 가진 Batch 서비스 에이전트가 프로젝트에 자동으로 생성됩니다.
service-PROJECT_NUMBER@gcp-sa-cloudbatch.iam.gserviceaccount.com
PROJECT_NUMBER
를 프로젝트의 프로젝트 번호로 바꾸세요.Batch 서비스 에이전트에는 Google Batch 서비스 에이전트(
roles/batch.serviceAgent
) IAM 역할이 자동으로 부여됩니다. 프로젝트에서 Batch를 사용하려면 이 구성이 필요합니다.하지만 특정 사용 사례(예: 공유 VPC 네트워크에서 작업 실행)에서는 프로젝트의 Batch 서비스 에이전트에 추가 권한을 부여해야 합니다.
ㅇ이자세한 내용은 서비스 에이전트를 참조하세요.
새 사용자에 Batch 설정
사용자로 Batch 사용을 시작하려면 다음을 수행하세요.
Batch를 사용하는 데 필요한 권한을 얻으려면 프로젝트에 필요한 IAM 역할을 부여해 달라고 관리자에게 요청하세요. 필요한 권한을 보려면 각 태스크의 문서를 참조하세요.
예를 들어 기본 작업을 만들어 Batch를 사용하는 방법을 알아보려면 다음 태스크에 대한 역할을 요청하는 것이 좋습니다.
- 작업을 만들려면 다음 권한이 필요합니다.
- 프로젝트에 대한 Batch 작업 편집자(
roles/batch.jobsEditor
) - 기본적으로 기본 Compute Engine 서비스 계정인 작업의 서비스 계정에 대한 서비스 계정 사용자(
roles/iam.serviceAccountUser
)
- 프로젝트에 대한 Batch 작업 편집자(
- 작업 표시 및 설명: 프로젝트에 대한 Batch 작업 편집자(
roles/batch.jobsEditor
) 또는 Batch 작업 뷰어(roles/batch.jobsViewer
) - 작업 로그 보기: 프로젝트에 대한 로그 뷰어(
roles/logging.viewer
) - 작업 삭제: 프로젝트에 대한 Batch 작업 편집자(
roles/batch.jobsEditor
)
역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.
- 작업을 만들려면 다음 권한이 필요합니다.
Batch의 명령줄 예시를 사용하려면 다음을 수행하여 Google Cloud CLI를 설정합니다. Google Cloud CLI용 인증에 대해 자세히 알아보세요.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
권장:
gcloud config set project
명령어를 사용하여 기본 프로젝트를 설정합니다.gcloud config set project PROJECT_ID
PROJECT_ID
를 해당 프로젝트의 프로젝트 ID로 바꿉니다.
Batch의 API 예시 또는 클라이언트 라이브러리 예시를 사용하려면 Batch에 인증을 참조하세요.
지원 받기
Cloud 포럼의 Batch 라벨을 사용하여 커뮤니티와 Batch에 대해 토론할 수 있습니다.
Batch에 문제가 있으면 문제 해결 문서를 참조하세요.
Batch에 대한 지원을 받거나 의견을 보내려면 다음 리소스를 사용하세요.
Google Cloud의 결제 문제는 결제 지원에 문의하세요.
유료 서포트 패키지가 있는 경우 Google Cloud 지원팀에 직접 Batch 문제를 문의하세요.
Google Cloud는 다양한 니즈를 충족할 수 있도록 연중무휴 지원, 전화 지원, 기술 지원 관리자 상담과 같은 다양한 서포트 패키지를 제공합니다. 자세한 내용은 Google Cloud 지원을 참조하세요.
Batch에 대한 의견 또는 기능 요청을 제공하거나 유료 서포트 패키지 없이 Batch에 대한 문제를 보고하려면 각 Batch 문서 페이지의 시작과 끝에 있는 의견 보내기 버튼을 클릭하세요. 그리고 나서 다음 중 하나를 선택하세요.
- Batch 문서와 관련된 의견은 '문서 의견'을 선택합니다.
- Batch에 대한 다른 모든 의견은 '제품 의견'을 선택합니다.
다음 단계
Batch에 대해 자세히 알아보기:
작업 만들기에 대해 자세히 알아보세요.
관련 Google Cloud 제품 알아보기: