피드로 돌아가기
GeekNewsInfrastructure
원문 읽기
SSH에서 REST로: 보안 중심의 Slack EMR 데이터 파이프라인 현대화
700개 SSH Job의 REST 전환을 통한 EMR 보안 표면 완전 제거
AI 요약
Context
Airflow가 EMR 마스터 노드에 SSH로 직접 접속해 명령을 실행하는 레거시 구조로 인한 보안 취약점 노출. 마스터 노드 리소스 경합과 Kubernetes Pod 재시작 시 연결 단절로 인한 잡 신뢰성 저하 및 인프라 현대화 차단 발생.
Technical Solution
- YARN Distributed Shell을 활용해 임의의 셸 스크립트를 YARN 컨테이너 내부에서 실행하는 구조 설계
- REST 기반 통합 게이트웨이인 Quarry를 도입하여 SSH 키 기반 인증을 서비스 간 토큰 인증으로 대체
- Airflow → Quarry REST API → YARN ResourceManager → EMR Container로 이어지는 비동기 잡 제출 파이프라인 구축
- S3에 스크립트를 업로드하고 YARN 환경변수를 통해 실행 경로를 지정하는 표준화된 잡 제출 메커니즘 적용
- 상태 유지형 SSH 연결을 Stateless한 HTTP API 호출 및 상태 폴링 방식으로 전환하여 잡 수명주기 관리 최적화
- 8개 데이터 리전의 네트워크 토폴로지를 고려한 리전 인식형 Quarry Operator 설계 및 단계적 롤아웃 수행
실천 포인트
1. 레거시 SSH 기반 자동화 작업의 리소스 사용량과 네트워크 종속성 사전 매핑
2. YARN 리소스 제한(vmem check 등)이 SSH 직접 실행 시와 어떻게 다른지 Dev 환경에서 사전 검증
3. 멀티 리전 마이그레이션 시 리전별 네트워크 라우팅 및 데이터 주권 규칙 문서화
4. Airflow DB 쿼리를 활용한 잔여 레거시 Operator 식별 대시보드 구축