작업 실행

이 페이지에서는 Cloud Run 작업 실행 방법을 설명합니다. 작업을 실행하면 작업 실행 성공을 위해 모든 태스크가 완료될 때까지 성공적으로 실행되어야 하는 작업 실행이 생성됩니다. 작업 실행은 로그를 Cloud Logging에 기록하고 모니터링 데이터를 Cloud Monitoring에 전송합니다.

이러한 로깅 기능 외에도 실행 세부정보 창을 사용해서 최근 7일 이내에 발생한 모든 실행 내역과 함께 최근 1,000회의 작업 실행에 대한 작업 실행 세부정보를 볼 수 있습니다. 이전 실행 세부정보는 제거되고 실행 세부정보 창에 더 이상 표시되지 않습니다. 그러나 이전 실행에 대한 로그 및 모니터링 데이터는 해당 제품의 보관 정책에 따라 관리되는 Cloud LoggingCloud Monitoring에 계속 제공됩니다.

필요한 역할

이 페이지에 설명된 작업에 필요한 권한을 얻으려면 관리자에게 Cloud Run 작업에 대한 다음 IAM 역할 중 하나를 부여해 달라고 요청하세요.

  • Google Cloud CLI를 사용하여 작업 실행: Cloud Run 작업에 대한 Cloud Run 호출자(roles/run.invoker) 역할
  • Google Cloud 콘솔을 사용하여 작업 실행, 작업 구성 재정의 또는 작업 실행 취소: Cloud Run 작업에 대한 Cloud Run 개발자(roles/run.developer) 역할

Cloud Run과 연결된 IAM 역할 및 권한 목록은 Cloud Run IAM 역할Cloud Run IAM 권한을 참조하세요. Cloud Run 작업이 Cloud 클라이언트 라이브러리와 같은 Google Cloud API와 상호작용하는 경우에는 서비스 ID 구성 가이드를 참조하세요. 역할 부여에 대한 자세한 내용은 배포 권한액세스 관리를 참조하세요.

작업 실행

Google Cloud Console 또는 Google Cloud CLI를 사용하여 작업을 실행할 수 있습니다.

콘솔

작업을 실행하려면 다음 안내를 따르세요.

  1. Cloud Run 작업 페이지로 이동합니다.

  2. 관심 있는 작업을 찾습니다.

  3. 작업을 클릭하여 작업 세부정보 페이지를 표시합니다.

  4. 실행을 클릭합니다.

gcloud

기존 작업을 실행하려면 다음 안내를 따르세요.

gcloud run jobs execute JOB_NAME

실행이 완료될 때까지 명령어가 대기하도록 하려면 다음을 사용합니다.

gcloud run jobs execute JOB_NAME --wait --region=REGION

다음과 같이 바꿉니다.

  • JOB_NAME을 작업 이름으로 바꿉니다.
  • REGION을 리소스를 찾을 수 있는 리전으로 바꿉니다. 또는 run/region 속성을 설정합니다.

클라이언트 라이브러리

코드에서 기존 작업을 실행하려면 다음 안내를 따르세요.

REST API

기존 작업을 실행하려면 POST HTTP 요청을 jobs.run API 메서드로 보냅니다.

예를 들어 다음과 같이 curl을 사용합니다.

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X POST \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB-NAME:run

다음과 같이 바꿉니다.

  • ACCESS_TOKEN작업을 실행할 수 있는 IAM 권한이 있는 계정의 유효한 액세스 토큰으로 바꿉니다. 예를 들어 gcloud에 로그인한 경우 gcloud auth print-access-token을 사용하여 액세스 토큰을 검색할 수 있습니다. Cloud Run 컨테이너 인스턴스 내에서 컨테이너 인스턴스 메타데이터 서버를 사용하여 액세스 토큰을 검색할 수 있습니다.
  • JOB-NAME을 작업 이름으로 바꿉니다.
  • REGION을 작업의 Google Cloud 리전으로 바꿉니다.
  • PROJECT-ID를 Google Cloud 프로젝트 ID로 바꿉니다.

작업 생성시 즉시 작업 실행

명령줄을 사용하는 경우 작업을 만든 후 즉시 작업 실행을 지정할 수 있습니다.

gcloud run jobs create JOB_NAME --execute-now --region=REGION

특정 실행의 작업 구성 재정의

새 작업을 시작할 때 이러한 매개변수를 설정하여 작업을 실행하는 경우 작업에 구성된 인수, 환경 변수, 태스크 수, 태스크 제한 시간을 재정의할 수 있습니다. 기본 작업 정의는 변경되지 않으므로 지정한 매개변수는 이 실행에만 영향을 미치며 후속 실행에는 영향을 주지 않습니다.

일반적인 사용 사례는 다음과 같습니다.

  • 코드에서 프로그래매틱 방식으로 작업을 실행하고 인수 또는 환경 변수를 재정의하려고 합니다. 예를 들어 이 실행을 위해 작업에 입력 데이터가 있는 위치를 알려줍니다.
  • 각 태스크에 입력 데이터의 한 부분만 처리하는 작업이 있습니다. 처리할 입력 수를 기준으로 태스크 수를 재정의하려고 합니다.
  • 작업 실행 시간은 실행마다 다릅니다. 작업의 예상 실행 시간을 기준으로 태스크 제한 시간을 재정의하려고 합니다.

실행의 작업 구성을 재정의하려면 다음 안내를 따르세요.

콘솔

  1. Cloud Run 작업 페이지로 이동합니다.

  2. 관심 있는 작업을 찾습니다.

  3. 작업을 클릭하여 작업 세부정보 페이지를 표시합니다.

  4. 수정 버튼 앞에 있는 펼치기 화살표를 클릭하고 재정의로 실행을 클릭하여 재정의로 작업 실행 양식을 표시합니다.

    이미지

  5. 원하는 경우 이 실행의 인수, 환경 변수, 태스크 수, 태스크 제한 시간 구성을 변경한 후 실행을 클릭합니다.

gcloud

다음 명령어를 사용합니다.

gcloud run jobs execute JOB_NAME \
     --args ARGS \
     --update-env-vars KEY=VALUE>,KEY_N=VALUE_N \
     --tasks TASKS \
     --task-timeout TIMEOUT

바꾸기

클라이언트 라이브러리

코드에서 기존 작업을 실행하려면 작업 구성을 재정의합니다.

REST API

기존 작업에 대한 작업 구성을 재정의하려면 POST HTTP 요청을 Cloud Run Admin API jobs 엔드포인트로 보냅니다.

예를 들어 다음과 같이 curl을 사용합니다.

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X POST \
  -d '{"overrides": {"containerOverrides": [{"args": ["ARGS"], "env": [{"name": "KEY", "value": "VALUE"}]}], "taskCount": TASK-COUNT, "timeout": "TIMEOUT" }}' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB-NAME:run

다음과 같이 바꿉니다.

작업 실행 취소

현재 실행 중인 Cloud Run 작업 실행을 중지하려면 취소 기능을 사용합니다. 작업 실행을 취소하면 현재 작업 실행이 중지됩니다. 취소된 실행은 취소됨 상태입니다. 구성 데이터, 로그, 모니터링 데이터를 포함하여 실행 내용은 계속 볼 수 있습니다.

작업 실행을 취소해도 작업이 실행된 시간 동안의 Cloud Run 작업 사용량에 대한 요금은 취소되지 않습니다.

실행을 취소하려면 다음 안내를 따르세요.

콘솔

  1. Cloud Run 작업 페이지로 이동합니다.

  2. 취소할 작업 실행을 찾습니다.

  3. 작업 실행을 클릭하여 실행 세부정보 페이지를 표시합니다.

  4. 취소를 클릭합니다.

gcloud

다음 명령어를 사용합니다.

gcloud run jobs executions cancel EXECUTION_NAME

EXECUTION_NAME을 실행 이름으로 바꿉니다.

이 명령어는 확인을 요청하므로 확인을 위해 y를 입력하여 프롬프트에 응답합니다.

클라이언트 라이브러리

코드에서 작업 실행을 취소하려면 다음을 실행합니다.

REST API

작업 실행을 취소하려면 POST HTTP 요청을 Cloud Run Admin API jobs 엔드포인트로 보냅니다.

예를 들어 다음과 같이 curl을 사용합니다.

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X POST \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB-NAME/executions/EXECUTION-NAME:cancel

다음과 같이 바꿉니다.

  • ACCESS_TOKEN작업 실행을 취소할 수 있는 IAM 권한이 있는 계정의 유효한 액세스 토큰으로 바꿉니다. 예를 들어 gcloud에 로그인한 경우 gcloud auth print-access-token을 사용하여 액세스 토큰을 검색할 수 있습니다. Cloud Run 컨테이너 인스턴스 내에서 컨테이너 인스턴스 메타데이터 서버를 사용하여 액세스 토큰을 검색할 수 있습니다.
  • JOB_NAME을 작업 이름으로 바꿉니다.
  • EXECUTION-NAME을 작업 실행 이름으로 바꿉니다.
  • REGION을 작업의 Google Cloud 리전으로 바꿉니다.
  • PROJECT-ID를 Google Cloud 프로젝트 ID로 바꿉니다.

작업 실행 삭제

현재 실행 중인 경우에도 작업 실행을 삭제할 수 있습니다. 실행을 삭제하면 실행이 진행되지 않습니다. 자세한 내용은 작업 실행 삭제를 참조하세요.

다음 단계

작업을 실행한 후 다음을 수행할 수 있습니다.