
[허수아비] 프로젝트 회고
팀장 겸 인프라 담당으로 두 대의 EC2 제약 환경에서 전체 시스템을 설계·운영하며 겪은 WebRTC ICE 타임아웃, MinIO Mixed Content, Spark 리소스 쟁탈 등 실전 트러블슈팅 기록입니다.

팀장 겸 인프라 담당으로 두 대의 EC2 제약 환경에서 전체 시스템을 설계·운영하며 겪은 WebRTC ICE 타임아웃, MinIO Mixed Content, Spark 리소스 쟁탈 등 실전 트러블슈팅 기록입니다.
EC2 메모리 고갈의 원인이었던 mock-radar 컨테이너를 CSV 청킹 방식으로 전환해 메모리 사용량을 3.93GiB에서 72MiB로 줄인 트러블슈팅 기록입니다.
둥지 프로젝트에서 등기부 발급 자동화와 OCR 처리를 담당하는 IssuanceTask / OcrTask의 비즈니스 로직 흐름을 정리합니다. DB 선행 vs Redis 선행 패턴의 의사결정 과정, 보상 로직 현황, 그리고 향후 Retry 정책 합의 내용을 다룹니다.

허수아비 프로젝트에서 EC2 #2의 backend가 EC2 #1의 Kafka에 접속하지 못하는 문제를 분석하고 해결합니다. Docker 내부 호스트명과 외부 포트의 차이, Kafka 리스너 구성, 멀티 EC2 환경에서의 환경변수 관리 전략을 함께 정리합니다.

허수아비 프로젝트에서 WebRTC WHEP 방식을 HLS로 전환하는 과정에서 마주친 두 가지 트러블슈팅을 기록합니다. mediamtx.yml 볼륨 마운트 후 RTSP 스트림이 차단된 문제와, nginx SPA fallback이 HLS 세그먼트 요청을 가로채는 문제를 다룹니다.
허수아비 프로젝트에서 CCTV 영상을 WebRTC로 브라우저에 스트리밍하는 과정에서 마주친 트러블슈팅을 기록합니다. nginx 호스트명 해석 실패, Mixed Content 오류, ERR_CONNECTION_TIMED_OUT, ICE 연결 실패까지 원인 분석과 해결 과정을 단계별로 공유합니다.
utils/price에 묶여 있던 시세 조회 로직을 독립 도메인으로 승격하고, Repository 패턴 도입 여부 결정, 헤드리스 도메인 구조, DB 캐싱 전략까지 아키텍처 의사결정 전 과정을 정리합니다.
GitLab CI 파이프라인 구성부터 nginx 설정 오류, 환경변수 불일치, Spark Master URL까지 — 배포 과정에서 마주친 실전 트러블슈팅 기록입니다.

PEM 키 관리, UFW 방화벽, SSL/TLS 구간 암호화, 단방향/양방향 데이터 암호화, 부하 분산, JWT까지 — 실무에서 반드시 챙겨야 할 웹 보안 기초를 정리합니다.

등기부등본 OCR을 AWS Lambda에 올리려다 OOM과 타임아웃 한계에 부딪히고, 결국 Tailscale VPN으로 로컬 디바이스를 Celery Worker로 연결하는 하이브리드 아키텍처로 전환한 과정을 정리합니다.