AWS Glue 작업에 대한 지속 로깅 사용 설정 - AWS 글루

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

AWS Glue 작업에 대한 지속 로깅 사용 설정

AWS Glue 콘솔을 사용하거나 AWS Command Line Interface(AWS CLI)를 통해 지속 로깅을 활성화할 수 있습니다.

새 작업을 만들거나 기존 작업을 편집할 때 또는 AWS CLI를 통해 연속 로깅을 사용 설정할 수 있습니다.

Amazon CloudWatch 로그 그룹 이름, AWS Glue 작업 실행 ID 드라이버/실행기 ID 앞의 CloudWatch 로그 스트림 접두사 및 로그 메시지에 대한 로그 변환 패턴 등의 사용자 정의 구성 옵션을 지정할 수도 있습니다. 이러한 구성을 사용하면 만료 정책이 서로 다른 사용자 지정 CloudWatch 로그 그룹에 집계 로그를 설정하고 사용자 지정 로그 스트림 접두사 및 변환 패턴을 사용하여 더 자세히 분석할 수 있습니다.

AWS Management Console 사용

AWS Glue 작업을 생성하거나 편집할 때 콘솔에서 지속 로깅을 활성화하려면 다음 절차를 수행합니다.

지속 로깅으로 새 AWS Glue 작업을 생성하려면
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/glue/에서 AWS Glue 콘솔을 엽니다.

  2. 탐색 창에서 ETL 작업을 선택합니다.

  3. 시각적 ETL을 선택합니다.

  4. 작업 세부 정보 탭에서 고급 속성 섹션을 확장합니다.

  5. 연속 로깅에서 CloudWatch에서 로그 활성화를 선택합니다.

기존 AWS Glue 작업에 대한 지속 로깅을 활성화하려면
  1. https://console.aws.amazon.com/glue/에서 AWS Glue 콘솔을 엽니다.

  2. 탐색 창에서, 작업을 선택합니다.

  3. 작업 목록에서 기존 작업을 선택합니다.

  4. 작업, 작업 편집을 선택합니다.

  5. 작업 세부 정보 탭에서 고급 속성 섹션을 확장합니다.

  6. 연속 로깅에서 CloudWatch에서 로그 활성화를 선택합니다.

AWS CLI 사용

지속 로깅을 활성화하려면 작업 파라미터를 AWS Glue 작업에 전달합니다. 다른 AWS Glue 작업 파라미터와 유사한 다음 특수 작업 파라미터를 전달합니다. 자세한 내용은 AWS Glue 작업에서 작업 파라미터 사용 단원을 참조하십시오.

'--enable-continuous-cloudwatch-log': 'true'

사용자 정의 Amazon CloudWatch 로그 그룹 이름을 지정할 수 있습니다. 지정하지 않으면 기본 로그 그룹 이름은 /aws-glue/jobs/logs-v2/입니다.

'--continuous-log-logGroup': 'custom_log_group_name'

사용자 정의 Amazon CloudWatch 로그 스트림 접두사를 지정할 수 있습니다. 지정하지 않으면 기본 로그 스트림 접두사는 작업 실행 ID입니다.

'--continuous-log-logStreamPrefix': 'custom_log_stream_prefix'

사용자 지정 지속적 로깅 변환 규칙을 지정할 수 있습니다. 지정하지 않으면 기본 변환 패턴은 %d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n입니다. 변환 패턴은 드라이버 로그 및 실행기 로그에만 적용되며 AWS Glue 진행률 표시줄에는 영향을 주지 않습니다.

'--continuous-log-conversionPattern': 'custom_log_conversion_pattern'

사용자 지정 스크립트 로거를 사용하여 애플리케이션별 메시지 로깅

AWS Glue 로거를 사용하면 드라이버 로그 스트림에 실시간으로 전송되는 모든 애플리케이션별 메시지를 스크립트에서 로깅할 수 있습니다.

다음 예제에서는 Python 스크립트를 보여줍니다.

from awsglue.context import GlueContext from pyspark.context import SparkContext sc = SparkContext() glueContext = GlueContext(sc) logger = glueContext.get_logger() logger.info("info message") logger.warn("warn message") logger.error("error message")

다음 예제에서는 Scala 스크립트를 보여줍니다.

import com.amazonaws.services.glue.log.GlueLogger object GlueApp { def main(sysArgs: Array[String]) { val logger = new GlueLogger logger.info("info message") logger.warn("warn message") logger.error("error message") } }

작업 진행률을 보여주는 진행률 표시줄 사용 설정

AWS Glue는 AWS Glue 작업 실행 상태를 확인하기 위해 JOB_RUN_ID-progress-bar 로그 스트림 아래에 실시간 진행률 표시줄을 제공합니다. 현재 glueContext를 초기화하는 작업만 지원합니다. glueContext를 초기화하지 않고 기본 Spark 작업을 실행하는 경우에는 AWS Glue 진행률 표시줄이 나타나지 않습니다.

이 진행률 표시줄에서는 5초마다 다음 진행률 업데이트를 표시합니다.

Stage Number (Stage Name): > (numCompletedTasks + numActiveTasks) / totalNumOfTasksInThisStage]

지속 로깅을 사용한 보안 구성

CloudWatch 로그에 보안 구성이 사용되는 경우 AWS Glue는 연속 로그에 대해 다음과 같은 이름의 로그 그룹을 생성합니다.

<Log-Group-Name>-<Security-Configuration-Name>

기본 및 사용자 정의 로그 그룹은 다음과 같습니다.

  • 기본 연속 로그 그룹은 /aws-glue/jobs/logs-v2-<Security-Configuration-Name>입니다.

  • 사용자 정의 연속 로그 그룹은 <custom-log-group-name>-<Security-Configuration-Name>입니다.

CloudWatch Logs로 보안 구성을 사용하는 경우 IAM 역할 권한에 logs:AssociateKmsKey를 추가해야 합니다. 해당 권한이 포함되지 않으면 연속 로깅이 사용 중지됩니다. 또한 CloudWatch Logs에 대한 암호화를 구성하려면 Amazon CloudWatch Logs User GuideEncrypt Log Data in CloudWatch Logs Using AWS Key Management Service를 참조하세요.

보안 구성 생성에 대한 자세한 내용은 AWS Glue콘솔에서 보안 구성 관리 섹션을 참조하세요.