AWS Glue로 Spark 사용을 모니터링하고 비용을 최적화하고 싶습니다.
해결 방법
사용량 모니터링
AWS Glue 작업의 Spark 사용 비용에 대한 요약을 보려면 AWS Cost Explorer를 사용하십시오.
다음 단계를 완료하십시오.
- AWS Billing and Cost Management 콘솔을 엽니다.
- 탐색 창에서 Cost Explorer를 선택합니다.
- Cost(비용) 대시보드에서 AWS Glue의 월별 비용을 확인합니다.
작업 세부 정보별 사용 보기
실행 상태, 실행 기간 또는 DPU(Data Processing Unit, 데이터 처리 장치) 사용량과 같은 AWS Glue 작업 세부 정보를 모니터링하려면 다음 단계를 완료하십시오.
- AWS Glue 콘솔을 엽니다.
- ETL Jobs(ETL 작업)에서 Job run monitoring(작업 실행 모니터링)을 선택합니다.
작업 유형별 비용 보기
특정 유형의 AWS Glue 작업에 대한 비용을 확인하려면 다음 단계를 완료하십시오.
- AWS Billing and Cost Management 콘솔을 엽니다.
- Cost and usage analysis(비용 및 사용량 분석)에서 Cost Explorer를 선택합니다.
- Report parameters(보고서 파라미터)의 Filters(필터) 섹션에서 Service(서비스)에 대해 Glue를 선택합니다.
- Usage type(사용량 유형)에서 작업에 대한 필터를 선택하고 AWS 리전을 포함합니다.
표준 작업의 경우 ETL-DPU-Hour 필터를 사용합니다. 예를 들어 미국 서부(오리건) 지역의 경우 USW2-ETL-DPU-Hour를 적용합니다.
유연한 작업의 경우 ETL-Flex-DPU-Hour 필터를 사용합니다. 예를 들어 USW2-ETL-Flex-DPU-Hour를 적용합니다.
대화형 세션의 경우 GlueInteractiveSession-DPU-Hour를 사용합니다. 예를 들어 USW2-GlueInteractiveSession-DPU-Hour를 적용합니다.
특정 작업의 사용량 및 비용 확인
특정 AWS Glue 작업의 비용을 확인하려면 다음 단계를 완료하십시오.
- AWS Glue 콘솔을 엽니다.
- ETL Jobs(ETL 작업)에서 Job run monitoring(작업 실행 모니터링)을 선택합니다.
- 작업에 사용한 DPU hours(DPU 시간)를 찾습니다.
- AWS Glue pricing(AWS Glue 요금) 페이지의 ETL jobs and interactive sessions(ETL 작업 및 대화형 세션) 탭에서 리전을 선택합니다.
- 해당 작업 유형에 대한 각 DPU-HOUR의 비용을 기록해 두십시오.
- 비용을 계산하려면 DPU 시간에 각 DPU-HOUR의 비용을 곱합니다.
메모리, CPU 사용량 또는 데이터 트래픽에 대한 AWS Glue 작업 지표를 가져오려면 CloudWatch 경보를 설정합니다.
AWS Glue 작업에 대한 알림을 받으려면 AWS Glue 작업의 상태가 변경될 때 Amazon SNS 알림을 받으려면 어떻게 해야 합니까?를 참조하십시오.
비용 최적화
AWS Glue 작업에서 Spark 사용 비용을 최적화하려면 다음 작업을 수행하십시오.
- AWS Glue 작업을 조정하여 작업 실행 기간과 필요한 작업자 수를 줄입니다.
- 중요하지 않은 AWS Glue 작업의 경우 AWS Glue 작업 실행 유형을 Flex로 정의합니다.
- AWS Glue 작업에 오토 스케일링을 활성화합니다.
- AWS Glue 사용 프로필을 생성하여 작업자 유형을 제한하고, 최대 작업자 수를 제한하고, 작업 실행 기간을 제한합니다.
- 작업이 예상 런타임보다 오래 실행되지 않도록 Jobs API에 적절한 AWS Glue 제한 시간을 설정합니다.
- 적절한 작업자 유형과 작업자 수를 사용합니다.
- 로컬 환경에서 테스트하고 개발하려면 Docker 이미지를 사용합니다. AWS Glue Docker는 AWS Glue 클라우드 서비스 대신 로컬 컴퓨팅 리소스를 사용합니다.
- AWS Glue 작업 북마크 특성을 사용하여 데이터를 점진적으로 처리합니다.
- CloudWatch 지표를 사용하여 최적의 DPU 용량을 식별하고 필요에 따라 용량을 조정합니다.
- 대화형 세션을 사용하지 않을 때는 중지하거나 삭제합니다. Jupyter magic %stop_session을 사용하거나 AWS Glue 콘솔의 Interactive Session(대화형 세션) 페이지에서 Stop session(세션 중지)을 선택합니다. 노트북 중지를 사용하여 세션을 종료할 수도 있습니다.
참고: 브라우저 탭을 닫아도 세션은 활성 상태로 유지됩니다.
관련 정보
Apache Spark용 AWS Glue에서 비용 모니터링 및 최적화