Skip to content

Amazon EMR on EKS 퀴즈 ​

2026년 9월 검토 본문 기준입니다.

1. Virtual cluster는 무엇인가요? ​

정답 보기

EKS cluster의 namespace를 EMR에 등록한 논리적 리소스입니다. 새 compute를 만들지는 않지만 최초 service-linked role과 CAM access entry/policy 설정이 발생할 수 있습니다.

2. StartJobRun과 EMR Spark Operator 제출의 차이는? ​

정답 보기

StartJobRun은 virtual cluster를 대상으로 하는 AWS API입니다. Operator 경로는 별도 설치 후 SparkApplication CR을 적용하며, StartJobRun이 내부적으로 Operator에 위임하는 옵션이 아닙니다.

3. Operator로 제출한 CR에 EMR job ID가 자동 생기나요? ​

정답 보기

그렇게 가정하면 안 됩니다. CR 상태·로그·재시도는 해당 Operator 경로로 관리하며 EMR job API 수명주기와 구분합니다.

4. EMR용 Spark Operator 지원이 시작된 버전과 설치 방식은? ​

정답 보기

EMR 6.10.0+입니다. 공식 EMR용 chart와 호환 런타임을 설치하고 kubectl apply로 제출합니다. Part 2의 최신 upstream chart와 동일한 배포라고 가정하지 않습니다.

5. emr-spark-8.0.0의 Apache Spark 버전은? ​

정답 보기

4.0.2-amzn-0입니다. 2026년 4월 출시된 Spark 4.x GA이며, 8.0.0은 EMR 런타임 릴리스 이름입니다.

6. -latest와 날짜 suffix의 차이는? ​

정답 보기

-latest는 해당 릴리스의 보안 업데이트를 따라가므로 동일 이미지 바이트를 고정하지 않습니다. 날짜 suffix는 릴리스 재현에 유용하지만 이후 업데이트 검토도 필요합니다.

7. CreateVirtualCluster 응답에서 다음 작업에 사용할 값은? ​

정답 보기

응답의 id입니다. StartJobRun 요청의 virtualClusterId에 넣고 등록 대상 namespace와 RUNNING 상태를 확인합니다.

8. 실행 역할의 데이터 권한과 제출자의 권한은 같은가요? ​

정답 보기

다릅니다. 실행 역할은 작업의 S3·KMS·로그 등 접근을 허용하고, 제출자는 API 호출 및 허용 역할 사용 권한이 필요합니다. ExecutionRoleArn 조건과 해당 identity 경로의 PassRole을 검토합니다.

9. update-role-trust-policy가 하는 일은? ​

정답 보기

IRSA를 사용할 때 cluster OIDC·namespace·EMR 관리 service account에 맞는 실행 역할 trust를 갱신합니다. S3 데이터 권한이나 제출자 권한을 자동으로 부여하지 않습니다.

10. StartJobRun에서 Pod Identity를 사용할 수 있나요? ​

정답 보기

EMR 7.3.0+에서 지원합니다. Agent·노드 EKS Auth 권한, pods.eks.amazonaws.com trust와 service-account association이 필요합니다. IRSA annotation만으로 대체되지 않습니다.

11. create-role-associations는 어떤 연결을 준비하나요? ​

정답 보기

작업 실행 역할과 submitter·driver·executor의 EMR service account 세 연결입니다. 최신 CLI helper를 사용하며 namespace나 역할 사용이 끝난 뒤 남은 association도 별도로 정리합니다.

12. maxConcurrentJobRuns=2가 namespace CPU 상한을 뜻하나요? ​

정답 보기

아닙니다. 실행 작업 수 제한이며 maxInQueueJobRuns는 대기 작업 수 제한입니다. 실제 CPU·메모리 quota와 작업별 executor 상한은 별도입니다.

13. StartJobRun이 성공 응답을 반환하면 작업이 끝났나요? ​

정답 보기

아직 아닙니다. 접수된 job ID로 최종 상태와 로그를 확인합니다. 이 장의 smoke job은 COMPLETED와 SMOKE_OK rows=10 total=45를 함께 확인합니다.

14. 같은 clientToken으로 재요청하면 데이터 exactly-once도 보장되나요? ​

정답 보기

API 요청 중복을 제어하는 기능입니다. 애플리케이션 재시도·외부 출력 부작용까지 보장하지 않으며 새로 실행하려는 작업에는 새 token을 사용합니다.

15. EMR Pod의 template이나 image를 바꿀 수 있나요? ​

정답 보기

지원되는 pod template·custom image 경로로 가능합니다. 다만 StartJobRun이 관리하는 namespace·service account·Pod 이름 등을 임의로 덮어쓰지 않고 릴리스별 제약을 검증합니다.

16. CloudWatch와 Step Functions 통합은 설정 없이 완성되나요? ​

정답 보기

아닙니다. 로그 monitoringConfiguration·실행 역할 권한, state machine·역할 등이 필요합니다. 서비스 메트릭과 모든 Spark JVM 메트릭도 구분합니다.

17. EMR Studio의 대화형 실행 경로는? ​

정답 보기

CreateManagedEndpoint로 만든 endpoint의 Jupyter Enterprise Gateway가 kernel을 관리합니다. 일반 StartJobRun batch 호출과 다르며 private network·ALB·역할 구성이 필요합니다. 같은 endpoint 사용자/kernel은 endpoint 역할을 공유합니다.

18. Virtual cluster 삭제를 전체 정리로 보면 안 되는 이유는? ​

정답 보기

작업·endpoint 상태를 먼저 확인하고 해당 리소스를 정리해야 합니다. EKS·namespace·S3·로그·IAM 역할·Pod Identity 연결의 수명주기는 별도이며 삭제 상태와 권한 오류도 확인합니다.

Guide