

# AWS Glue에서 Ray 작업 사용
<a name="ray-jobs-section"></a>

**중요**  
AWS Glue for Ray는 2026년 4월 30일부터 신규 고객에게 더 이상 공개되지 않습니다. AWS Glue for Ray를 사용하려면 해당 날짜 이전에 가입하세요. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. AWS Glue for Ray와 유사한 기능의 경우 Amazon EKS를 살펴보세요. 자세한 내용은 [AWS Glue for Ray 지원 종료](https://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html)를 참조하세요.

이 섹션에서는 AWS Glue for Ray 작업 사용에 대한 정보를 제공합니다. AWS Glue for Ray 스크립트 작성에 대한 자세한 내용은 [Ray 스크립트 프로그래밍](aws-glue-programming-ray.md) 섹션을 참조하세요.

**Topics**
+ [AWS Glue for Ray 시작하기](#author-job-ray-using)
+ [지원되는 Ray 런타임 환경](#author-job-ray-runtimes)
+ [Ray 작업에서 작업자 고려](#author-job-ray-worker-accounting)
+ [Ray 작업에서 작업 파라미터 사용](author-job-ray-job-parameters.md)
+ [지표를 통한 Ray 작업 모니터링](author-job-ray-monitor.md)

## AWS Glue for Ray 시작하기
<a name="author-job-ray-using"></a>

AWS Glue for Ray를 사용하려면 AWS Glue for Spark를 사용할 때와 동일한 AWS Glue 작업 및 대화형 세션을 사용합니다. AWS Glue 작업은 동일한 스크립트를 반복적으로 실행하도록 설계된 반면, 대화형 세션은 프로비저닝된 동일한 리소스에 대해 순차적으로 코드 조각을 실행할 수 있도록 설계되었습니다.

AWS Glue ETL과 Ray는 기본적으로 다르므로 스크립트에서 다른 도구, 기능 및 구성에 액세스할 수 있습니다. AWS Glue에서 관리하는 새로운 계산 프레임워크인 Ray는 아키텍처가 다르며 해당 기능을 설명하기 위해 다양한 어휘를 사용합니다. 자세한 내용은 Ray 설명서의 [아키텍처 백서](https://docs.ray.io/en/latest/ray-contribute/whitepaper.html)를 참조하세요.

**참고**  
AWS Glue for Ray는 미국 동부(버지니아 북부), 미국 동부(오하이오), 미국 서부(오레곤), 아시아 태평양(도쿄), 유럽(아일랜드)에서 사용 가능합니다.

### AWS Glue Studio 콘솔에서 Ray 작업
<a name="author-job-ray-using-console"></a>

AWS Glue Studio에서 작업을 생성할 때 AWS Glue Studio 콘솔의 **작업** 페이지에서 새 옵션(**Ray 스크립트 편집기**)을 선택할 수 있습니다. 콘솔에서 Ray 작업을 생성하려면 이 옵션을 선택합니다. 작업에 대한 자세한 내용과 사용 방법은 [Visual ETL 작업 구축](author-job-glue.md) 섹션을 참조하세요.

![\[Ray 스크립트 편집기 옵션이 선택된 AWS Glue Studio의 작업 페이지입니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/ray_job_setup.png)


### AWS CLI 및 SDK에서 Ray 작업
<a name="author-job-ray-using-cli"></a>

AWS CLI에서 Ray 작업은 다른 작업과 동일한 SDK 작업 및 파라미터를 사용합니다. AWS Glue for Ray에는 특정 파라미터에 대한 새로운 값이 도입되었습니다. 작업 API에 대한 자세한 내용은 [작업](aws-glue-api-jobs-job.md) 섹션을 참조하세요.

## 지원되는 Ray 런타임 환경
<a name="author-job-ray-runtimes"></a>

Spark 작업에서는 `GlueVersion`에서 AWS Glue for Spark 작업에 대해 사용할 수 있는 Apache Spark 및 Python 버전을 결정합니다. Python의 버전으로 Spark 유형의 작업에 대해 지원되는 버전을 확인할 수 있습니다. Ray 런타임 환경은 이렇게 구성되지 않습니다.

Ray 작업의 경우 `GlueVersion`을 `4.0` 이상으로 설정해야 합니다. 하지만 Ray 작업에서 사용할 수 있는 Ray, Python 및 추가 라이브러리 버전은 작업 정의의 `Runtime` 필드에 의해 결정됩니다.

`Ray2.4` 런타임 환경은 출시 후 최소 6개월 동안 사용할 수 있습니다. Ray가 빠르게 진화함에 따라 향후 런타임 환경 릴리스를 통해 Ray 업데이트 및 개선 사항을 통합할 수 있습니다.

유효한 값: `Ray2.4`


| 런타임 값 | Ray 및 Python 버전 | 
| --- | --- | 
| Ray2.4(AWS Glue 4.0 이상) |  Ray 2.4.0 Python 3.9  | 

**추가 정보**
+ Ray 릴리스에서 AWS Glue를 함께 제공하는 릴리스 정보는 [AWS Glue 버전](release-notes.md#release-notes-versions) 섹션을 참조하세요.
+ 런타임 환경에서 제공되는 Python 라이브러리는 [Ray 작업과 함께 제공되는 모듈](edit-script-ray-env-dependencies.md#edit-script-ray-modules-provided) 섹션을 참조하세요.

## Ray 작업에서 작업자 고려
<a name="author-job-ray-worker-accounting"></a>

AWS Glue에서는 새로운 Graviton 기반 EC2 작업자 유형(Ray 작업에만 사용 가능)에서 Ray 작업을 실행합니다. Ray의 설계 목표였던 워크로드에 맞게 이러한 작업자를 적절하게 프로비저닝하기 위해 대부분의 작업자와는 다른 비율로, 메모리 리소스에 대한 컴퓨팅 리소스를 제공합니다. 이러한 리소스를 고려하기 위해 표준 데이터 처리 장치(DPU) 대신, 메모리에 최적화된 데이터 처리 장치(M-DPU)를 사용합니다.
+ 1개의 M-DPU는 vCPU 4개와 32GB의 메모리에 해당합니다.
+ 1개의 DPU가 vCPU 4개와 16GB 메모리에 해당합니다. AWS Glue에서 Spark 작업 및 해당 작업자로 리소스를 처리하려는 경우 DPU가 사용됩니다.

Ray 작업은 현재 하나의 작업자 유형(`Z.2X`)에 액세스할 수 있습니다. `Z.2X` 작업자는 2개의 M-DPU(vCPU 8개, 메모리 64GB)에 매핑되며 128GB의 디스크 공간을 보유합니다. `Z.2X` 시스템은 8개의 Ray 작업자(vCPU당 한 개)를 제공합니다.

계정에서 동시에 사용할 수 있는 M-DPU 수에는 서비스 할당량이 적용됩니다. AWS Glue 계정 제한에 대한 자세한 내용은 [AWS Glue 엔드포인트 및 할당량](https://docs.aws.amazon.com/general/latest/gr/glue.html)을 참조하세요.

작업 정의에서 `--number-of-workers (NumberOfWorkers)`를 사용하여 Ray 작업에 사용할 수 있는 워커 노드 수를 지정합니다. 작업 API에서 Ray 값에 대한 자세한 내용은 [작업](aws-glue-api-jobs-job.md) 섹션을 참조하세요.

`--min-workers` 작업 파라미터를 사용하여 Ray 작업에서 할당해야 하는 최소 작업자 수를 추가로 지정할 수 있습니다. 작업 파라미터에 대한 자세한 내용을 알아보려면 [레퍼런스](author-job-ray-job-parameters.md#author-job-ray-parameters-reference) 섹션을 참조하세요.

# Ray 작업에서 작업 파라미터 사용
<a name="author-job-ray-job-parameters"></a>

**중요**  
AWS Glue for Ray는 2026년 4월 30일부터 신규 고객에게 더 이상 공개되지 않습니다. AWS Glue for Ray를 사용하려면 해당 날짜 이전에 가입하세요. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. AWS Glue for Ray와 유사한 기능의 경우 Amazon EKS를 살펴보세요. 자세한 내용은 [AWS Glue for Ray 지원 종료](https://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html)를 참조하세요.

AWS Glue for Spark 작업과 동일한 방식으로 AWS Glue Ray 작업에 대한 인수를 설정합니다. AWS Glue API에 대한 자세한 내용은 [작업](aws-glue-api-jobs-job.md)을 참조하십시오. 이 참조에 나열된 다양한 인수로 AWS Glue Ray 작업을 구성할 수 있습니다. 내 인수를 제공할 수도 있습니다.

**Job Parameters**(작업 파라미터) 제목 아래의 **Job details**(작업 세부 정보) 탭에서 콘솔을 통해 작업을 구성할 수 있습니다. 작업에서 `DefaultArguments`를 설정하거나 작업 실행에서 `Arguments`를 설정하여 AWS CLI를 통해 작업을 구성할 수도 있습니다. 기본 인수 및 작업 파라미터는 여러 번 실행해도 작업과 함께 유지됩니다.

예를 들어 다음은 특수 파라미터를 설정하기 위해 `--arguments`를 사용하여 작업을 실행하는 구문입니다.

```
$ aws glue start-job-run --job-name "CSV to CSV" --arguments='--scriptLocation="s3://my_glue/libraries/test_lib.py",--test-environment="true"'
```

인수를 설정한 후에는 환경 변수를 통해 Ray 작업 내에서 작업 파라미터에 액세스할 수 있습니다. 그러면 각 실행에 대한 작업을 구성할 수 있습니다. 환경 변수의 이름은 `--` 접두사가 없는 작업 인수 이름입니다.

예를 들어 이전 예제에서 변수 이름은 `scriptLocation` 및 `test-environment`입니다. 그런 다음 표준 라이브러리(`test_environment = os.environ.get('test-environment')`)에서 사용할 수 있는 메서드를 통해 인수를 검색합니다. Python으로 환경 변수에 액세스하는 방법에 대한 자세한 내용은 Python 설명서의 [os 모듈](https://docs.python.org/3/library/os.html)을 참조하세요.

## Ray 작업이 로그를 생성하는 방법 구성
<a name="author-job-ray-logging-configuration"></a>

기본적으로 Ray 작업은 CloudWatch와 Amazon S3로 전송되는 로그와 지표를 생성합니다. `--logging_configuration` 파라미터를 사용하여 로그 생성 방식을 변경할 수 있으며, 현재 이를 사용하여 Ray 작업에서 다양한 유형의 로그를 생성하지 못하게 할 수 있습니다. 이 파라미터는 변경하려는 로그/동작에 해당하는 키를 갖는 JSON 객체를 사용하며, 다음 키를 지원합니다.
+ `CLOUDWATCH_METRICS` - 작업 상태를 시각화하는 데 사용할 수 있는 CloudWatch 지표 시리즈를 구성합니다. 지표에 대한 자세한 정보는 [지표를 통한 Ray 작업 모니터링](author-job-ray-monitor.md) 섹션을 참조하세요.
+ `CLOUDWATCH_LOGS` - 작업 실행 상태에 대한 Ray 애플리케이션 수준 세부 정보를 제공하는 CloudWatch 로그를 구성합니다. 로그에 대한 자세한 내용은 [로그에서 AWS Glue for Ray 오류 해결](troubleshooting-ray.md) 섹션을 참조하세요.
+ `S3` - AWS Glue가 Amazon S3에 작성하는 내용을 구성합니다. 주로 CloudWatch 로그와 유사한 정보이지만 로그 스트림이 아닌 파일로 작성합니다.

Ray 로깅 동작을 비활성화하려면 `{\"IS_ENABLED\": \"False\"}` 값을 제공합니다. 예를 들어, CloudWatch 지표와 CloudWatch 로그를 비활성화하려면 다음 구성을 제공합니다.

```
"--logging_configuration": "{\"CLOUDWATCH_METRICS\": {\"IS_ENABLED\": \"False\"}, \"CLOUDWATCH_LOGS\": {\"IS_ENABLED\": \"False\"}}"
```

## 레퍼런스
<a name="author-job-ray-parameters-reference"></a>

 Ray 작업은 Ray 작업 및 작업 실행에 대한 스크립트 환경을 설정하는 데 사용할 수 있는 다음과 같은 인수 이름을 인식합니다.
+ `--logging_configuration` - Ray 작업에서 생성되는 다양한 로그의 생성을 중지하는 데 사용됩니다. 이러한 로그는 모든 Ray 작업에서 기본적으로 생성됩니다. 형식은 문자열 이스케이프 JSON 객체입니다. 자세한 내용은 [Ray 작업이 로그를 생성하는 방법 구성](#author-job-ray-logging-configuration) 섹션을 참조하세요.
+ `--min-workers` - Ray 작업에 할당되는 작업자 노드의 최소 수입니다. 작업자 노드는 가상 CPU당 하나씩 여러 복제본을 실행할 수 있습니다. 형식: 정수 최소값: 0 최대값: 작업 정의의 `--number-of-workers (NumberOfWorkers)`에 지정된 값입니다. 워커 노드 고려 사항에 대한 자세한 내용은 [Ray 작업에서 작업자 고려](ray-jobs-section.md#author-job-ray-worker-accounting) 섹션을 참조하세요.
+ `--object_spilling_config` - AWS Glue for Ray는 Ray의 객체 스토어로 사용 가능한 공간을 확장하는 방법으로 Amazon S3를 사용할 수 있도록 지원합니다. 이 동작을 활성화하려면 이 파라미터와 함께 *객체 유출* JSON 구성 객체를 Ray에 제공할 수 있습니다. Ray 객체 유출 구성에 대한 자세한 내용은 Ray 설명서의 [Object Spilling](https://docs.ray.io/en/latest/ray-core/objects/object-spilling.html)을 참조하세요. 형식: JSON 객체.

  AWS Glue for Ray는 디스크로 유출 또는 Amazon S3로 한 번에 유출하는 것만 지원합니다. 이러한 제한을 준수하는 유출에 대해 여러 위치를 제공할 수 있습니다. Amazon S3로 유출하는 경우 이 버킷의 작업에 IAM 권한도 추가해야 합니다.

  CLI에서 JSON 객체를 구성으로 제공할 때는 JSON 객체를 문자열로 이스케이프 처리하여 문자열로 제공해야 합니다. 예를 들어 하나의 Amazon S3 경로로 유출하기 위한 문자열 값은 `"{\"type\": \"smart_open\", \"params\": {\"uri\":\"s3path\"}}"`과 같습니다. AWS Glue Studio에서는 이 파라미터를 추가 형식 지정 없이 JSON 객체로 제공합니다.
+ `--object_store_memory_head` - Ray 헤드 노드의 Plasma 객체 스토어에 할당된 메모리입니다. 이 인스턴스는 작업자 복제본뿐만 아니라 클러스터 관리 서비스를 실행합니다. 값은 부팅 후 인스턴스에서 사용 가능한 메모리의 백분율을 나타냅니다. 메모리를 많이 사용하는 워크로드를 조정하는 데 이 파라미터를 사용합니다. 기본값은 대부분의 사용 사례에 적합합니다. 형식: 양의 정수 최소값: 1 최대값: 100

  Plasma에 대한 자세한 내용은 Ray 설명서의 [Plasma 메모리 내 객체 스토어](https://ray-project.github.io/2017/08/08/plasma-in-memory-object-store.html)를 참조하세요.
+ `--object_store_memory_worker` - Ray 작업자 노드의 Plasma 객체 스토어에 할당된 메모리입니다. 이러한 인스턴스는 작업자 복제본만 실행합니다. 값은 부팅 후 인스턴스에서 사용 가능한 메모리의 백분율을 나타냅니다. 이 파라미터는 메모리를 많이 사용하는 워크로드를 조정하는 데 사용됩니다. 기본값은 대부분의 사용 사례에 허용됩니다. 형식: 양의 정수 최소값: 1 최대값: 100

  Plasma에 대한 자세한 내용은 Ray 설명서의 [Plasma 메모리 내 객체 스토어](https://ray-project.github.io/2017/08/08/plasma-in-memory-object-store.html)를 참조하세요.
+ `--pip-install` - 설치할 Python 패키지 세트입니다. 이 인수를 사용하여 PyPI에서 패키지를 설치할 수 있습니다. 형식: 쉼표로 구분된 목록.

  PyPI 패키지 항목은 `package==version` 형식(대상 패키지의 PyPI 이름 및 버전)입니다. 항목은 단일 등호 `=`가 아닌 `==`와 같은 Python 버전 매칭을 사용하여 패키지와 버전을 매칭합니다. 다른 버전 일치 연산자도 있습니다. 자세한 내용은 Python 웹사이트의 [PEP 440](https://peps.python.org/pep-0440/#version-matching)을 참조하세요. `--s3-py-modules`에서 사용자 지정 모듈을 제공할 수도 있습니다.
+ `--s3-py-modules` - Python 모듈 배포를 호스팅하는 Amazon S3 경로 세트입니다. 형식: 쉼표로 구분된 목록.

  이를 사용하여 Ray 작업에 자체 모듈을 배포할 수 있습니다. `--pip-install`에서 PyPI의 모듈을 제공할 수도 있습니다. AWS Glue ETL과 달리, 사용자 지정 배포는 pip를 통해 설정되지 않고 배포를 위해 Ray로 전달됩니다. 자세한 내용은 [Ray 작업을 위한 추가 Python 모듈](edit-script-ray-env-dependencies.md#edit-script-ray-python-libraries-additional) 섹션을 참조하세요.
+ `--working-dir` - Amazon S3에 호스팅된.zip 파일의 경로로, Ray 작업을 실행하는 모든 노드에 배포할 파일을 포함합니다. 형식: 문자열. 자세한 내용은 [Ray 작업에 파일 제공](edit-script-ray-env-dependencies.md#edit-script-ray-working-directory) 섹션을 참조하세요.

# 지표를 통한 Ray 작업 모니터링
<a name="author-job-ray-monitor"></a>

**중요**  
AWS Glue for Ray는 2026년 4월 30일부터 신규 고객에게 더 이상 공개되지 않습니다. AWS Glue for Ray를 사용하려면 해당 날짜 이전에 가입하세요. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. AWS Glue for Ray와 유사한 기능의 경우 Amazon EKS를 살펴보세요. 자세한 내용은 [AWS Glue for Ray 지원 종료](https://docs.aws.amazon.com/glue/latest/dg/awsglue-ray-jobs-availability-change.html)를 참조하세요.

AWS Glue Studio 및 Amazon CloudWatch를 사용하여 Ray 작업을 모니터링할 수 있습니다. CloudWatch는 Ray를 통해 AWS Glue에서 원시 데이터를 수집하고 처리합니다. 이러한 데이터는 분석에 사용할 수 있습니다. 이러한 지표는 AWS Glue Studio 콘솔에서 시각화되므로 작업을 실행하면서 모니터링할 수 있습니다.

AWS Glue 모니터링 방법에 대한 일반적인 개요는 [Amazon CloudWatch 지표를 사용하여 AWS Glue 모니터링](monitoring-awsglue-with-cloudwatch-metrics.md) 섹션을 참조하세요. AWS Glue에서 게시한 CloudWatch 지표를 사용하는 방법에 대한 일반적인 개요는 [Amazon CloudWatch를 사용한 모니터링](monitor-cloudwatch.md) 섹션을 참조하세요.

## AWS Glue 콘솔에서 Ray 작업 모니터링
<a name="author-job-ray-monitor-console"></a>

작업 실행에 대한 세부 정보 페이지의 **실행 세부 정보** 섹션 아래에서 사용 가능한 작업 지표를 시각화하는 사전 구축된 집계된 그래프를 볼 수 있습니다. AWS Glue Studio에서는 모든 작업 실행 시 작업 지표를 Cloud Watch에 전송합니다. 이를 통해 클러스터 및 작업의 프로파일을 구축하고 각 노드에 대한 세부 정보에 액세스할 수 있습니다.

사용 가능한 지표에 대한 자세한 내용은 [Ray 작업 실행에 대한 Amazon CloudWatch 지표 보기](view-job-runs.md#monitoring-job-run-metrics-ray) 섹션을 참조하십시오.

## CloudWatch의 Ray 작업 지표 개요
<a name="author-job-ray-monitor-cw"></a>

CloudWatch에서 세부 모니터링이 활성화되면 Ray 지표를 게시합니다. 지표는 `Glue/Ray` CloudWatch 네임스페이스에 게시됩니다.
+ **인스턴스 지표**

  작업에 할당된 인스턴스의 CPU, 메모리 및 디스크 사용률에 대한 지표를 게시합니다. 이러한 지표는 `ExecutorId`, `ExecutorType`, `host`와 같은 기능으로 식별됩니다. 이러한 지표는 표준 Linux CloudWatch 에이전트 지표의 하위 세트입니다. CloudWatch 설명서에서 지표 이름 및 기능에 대한 정보를 확인할 수 있습니다. 자세한 내용은 [CloudWatch 에이전트가 수집하는 지표](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/metrics-collected-by-CloudWatch-agent.html)를 참조하세요.
+ **Ray 클러스터 지표**

  스크립트를 실행하는 Ray 프로세스에서 이 네임스페이스로 지표를 전달한 후 사용자에게 가장 중요한 지표를 제공합니다. 사용 가능한 지표는 Ray 버전에 따라 다를 수 있습니다. 작업이 실행 중인 Ray 버전에 대한 자세한 내용은 [AWS Glue 버전](release-notes.md) 섹션을 참조하세요.

  Ray는 인스턴스 수준에서 지표를 수집합니다. 또한 작업 및 클러스터에 대한 지표도 제공합니다. Ray의 기본 지표 전략에 대한 자세한 내용은 Ray 설명서의 [Metrics](https://docs.ray.io/en/latest/ray-observability/ray-metrics.html#system-metrics)를 참조하세요.

**참고**  
 AWS Glue ETL 작업에만 사용되는 `Glue/Job Metrics/` 네임스페이스에는 Ray 지표를 게시하지 않습니다.