AI Briefing

Netflix, EMR용 Spark 워크로드 어테스테이션 설계 공개

·2026.09.26 01:01

핵심 내용

Netflix가 EMR용 Spark 워크로드 어테스테이션 설계를 공개했다.

1 / 7

자세히 보기

Netflix 엔지니어들이 Amazon EMR에서 실행되는 Apache Spark 워크로드의 클라우드 제공자 ID와 내부 서비스 ID 간 간극을 해소하는 방법을 공개했다. 관리형 컴퓨팅 환경은 AWS 실행 역할만 프로세스에 전달하므로, 팀은 이 클라우드 ID를 1급 내부 Metatron X.509 인증서로 교환하는 워크로드 어테스테이션 흐름을 설계했다.

ID 매핑 전략

설계는 각 내부 Data Project와 전용 AWS IAM 역할 간의 엄격한 1:1 매핑에 의존한다. 단일 AWS 계정에 수만 개의 역할을 보유할 수 없으므로, Netflix는 이러한 데이터 프로젝트 역할을 소수의 전용 계정 풀에 결정적으로 분산한다. 이 매핑을 통해 플랫폼은 제공자 진술("이 프로세스는 역할 R로 실행 중")을 내부 진술("이 프로세스는 워크로드 W")로 변환할 수 있다.

어테스테이션 워크플로

프로세스에는 컨트롤 플레인, Data Project 서비스, Identity 서비스, Spark 플러그인, AWS STS 등 5개 구성 요소가 관여한다. 워크플로는 3단계로 진행되:

  1. 서명된 클레임: 컨트롤 플레인이 애플리케이션 ID와 매핑된 역할을 포함한 메타데이터 페이로드에 서명하여 작업 구성으로 전달한다.
  2. 소유 증명: Spark 드라이버는 AWS 자격 증명을 사용하여 sts:GetCallerIdentity에 대한 사전 서명된 URL을 생성한다. 이 URL은 프로세스가 특정 역할의 자격 증명을 보유함을 증명하는 이전 가능한 증거로 작용하며, AWS가 직접 검증한다.
  3. 상호 확인: Identity 서비스는 사전 서명된 URL을 가져와 AWS에 역할을 확인하고 컨트롤 플레인의 서명을 검증한다. AWS가 보고한 역할이 서명된 메타데이터에 지정된 역할과 일치할 때만 인증서를 발급한다.

실행자 규모 처리

Spark 애플리케이션은 수천 개의 실행자를 생성할 수 있어 ID 증폭 문제를 야기한다. Netflix는 실행자가 독립적으로 어테스테이션하는 대신 드라이버로부터 자격 증명을 상속받도록 선택했다. 드라이버는 한 번 어테스테이션한 후 인증 및 AES-GCM 암호화로 보호되는 Spark 내부 RPC를 통해 자격 증명을 배포한다. 이 접근 방식은 ID 서비스가 버스트 트래픽에 의해 압도되어 속도 제한을 유발하거나 공격으로 간주되는 것을 방지한다.

수명 주기 및 일반 원칙

인증서는 수명이 짧으므로 드라이버 JVM은 만료 전 재어테스테이션을 위해 타이머를 실행한다. 실행자는 갱신하지 않으며, 자격 증명보다 오래 생존하면 종료되어 교체된다. 저자들은 장시간 실행되는 작업의 실패를 방지하기 위해 어테스테이션이 부트스트랩 단계가 아닌 반복 가능한 작업이어야 한다고 강조한다. 핵심 교훈은 교환 가능한 하나의 원시 요소에 고정하고, 두 개의 독립적인 클레임(제공자 및 컨트롤 플레인)을 요구하며, 명확한 신뢰 스토리를 유지하기 위해 서명자를 희소하게 유지하는 것이다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.