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

허수아비 프로젝트에서 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 연결 실패까지 원인 분석과 해결 과정을 단계별로 공유합니다.
배포 준비 중 EC2에 SSAFY 발급 SSL 인증서가 사전 설치되어 있음을 확인했습니다. Apache httpd 실행 현황과 외부 네트워크 레이어를 점검한 뒤, EC2 #1의 frontend nginx가 80/443을 직접 점유하는 프록시 구성 방향을 결정한 과정을 정리합니다.
배포 후 컨테이너 재시작 오류를 계기로 Spark 관련 컨테이너들의 역할과 구성을 전반적으로 점검했습니다. spark-master/worker의 연산 인프라 역할, 4개 Spark job 컨테이너의 책임 분리, Kappa 아키텍처 관점에서의 전체 데이터 흐름을 정리합니다.
utils/price에 묶여 있던 시세 조회 로직을 독립 도메인으로 승격하고, Repository 패턴 도입 여부 결정, 헤드리스 도메인 구조, DB 캐싱 전략까지 아키텍처 의사결정 전 과정을 정리합니다.
GitLab CI 파이프라인 구성부터 nginx 설정 오류, 환경변수 불일치, Spark Master URL까지 — 배포 과정에서 마주친 실전 트러블슈팅 기록입니다.

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

등기부등본 OCR을 AWS Lambda에 올리려다 OOM과 타임아웃 한계에 부딪히고, 결국 Tailscale VPN으로 로컬 디바이스를 Celery Worker로 연결하는 하이브리드 아키텍처로 전환한 과정을 정리합니다.
Windows에서 편집한 stream.sh의 CRLF 줄바꿈이 Docker 컨테이너 내부에서 오류를 일으키는 원인을 분석하고, 볼륨 마운트 환경에서도 동작하는 해결 방법을 정리합니다.