"서버 IP가 블랙리스트에 올라간 이야기"
25.04.22 yoda
금융 데이터 파이프라인을 운영하다 보면 공식 API만으로는 부족한 경우가 있다.
KRX 공시 데이터, 증권사 공개 통계, 일부 지수 데이터 같은 것들은 API가 없거나 있어도 너무 제한적이라 크롤러를 붙여서 수집하는 구조였다. 크롤러는 Airflow DAG으로 스케줄링되어 있었고, IDC 서버에 떠있는 Airflow worker가 직접 요청을 날리는 구조였다.
팀은 3명이고, 하필 그날 사수는 휴가, 나머지 한 명은 별도 TF에 들어가 있었다. 사실상 나 혼자였다. 왜 맨날 이런 상황은 혼자 있을까.

커피를사고 여유롭게 출근하니까 DAG 여러 개가 빨간불이었다. 처음엔 각각 다른 이유로 실패한 줄 알았다. 에러 메시지가 제각각이었기 때문에.
timeoutconnection error파싱 에러당연히 처음엔 각 DAG을 하나씩 들여다봤다. DAG 코드 문제인지, 소스 사이트가 다운됐는지, 네트워크 문제인지. 사수한테 물어볼 수도 없는 상황이니까 혼자 에러 로그 붙잡고 한참을 팠다.
그러다가 실패한 DAG들을 쭉 나열해보니까 "외부 요청을 날리는 DAG들만 골라서 다 죽어있다" 는 걸 발견했다. DB 조회하거나 내부 처리만 하는 DAG들은 멀쩡했다.
하필 그날 차단된 파이프라인들은 하나같이 알파 생성의 기반이 되는 데이터 수집 파이프라인들이었다. 시장 데이터, 지수 구성종목, 공시 데이터.