피드로 돌아가기
InfoQInfrastructure
원문 읽기
700개 이상의 EMR Job을 SSH에서 REST 기반 구조로 전환하여 보안 및 운영 효율성 확보
Slack Eliminates SSH in EMR Pipelines, Migrates 700+ Jobs to Rest-Based Architecture
AI 요약
Context
Airflow가 Amazon EMR 마스터 노드에 직접 SSH 연결을 맺어 Job을 실행하던 기존 구조의 한계점 분석. SSH Key 관리 오버헤드 증가와 연결 유실 시 Job 상태 추적 불가로 인한 신뢰성 저하 및 보안 취약점 노출 문제 발생.
Technical Solution
- SSH 연결을 대체하여 HTTP API 기반의 내부 오케스트레이션 레이어 'Quarry' 도입
- Job Submission, Tracking(Job ID 기반), Cancellation을 서버 사이드 라이프사이클로 관리하여 클라이언트 연결성과 실행 로직을 Decoupling
- Spark 및 Hive 워크로드는 Livy와 HiveServer2의 REST 인터페이스를 활용하여 마이그레이션
- 임의의 Shell Command 실행을 위해 Apache Hadoop YARN의 Distributed Shell 기능을 도입하여 컨테이너 기반 리소스 격리 및 Fault Tolerance 구현
- 8개 데이터 리전의 네트워크 세그먼트 및 컴플라이언스 제약을 고려한 점진적 롤아웃 전략 수립
- Airflow 메타데이터 대시보드를 통한 SSH 의존 워크플로우 추적 및 단계적 Operator Deprecation 수행
실천 포인트
1. Production 환경 내 직접적인 SSH 접근 권한을 제거하고 API Gateway 또는 오케스트레이션 레이어를 통한 간접 제어 구조 검토
2. 인프라 변경 시 기존에 가려져 있던 리소스 제한(예: YARN Virtual Memory) 및 네트워크 의존성 이슈를 사전에 식별하기 위한 검증 단계 포함
3. 레거시 제거 시 메타데이터 기반의 트래킹 시스템을 구축하여 전환 대상 누락 방지 및 단계적 마이그레이션 수행