여기어때 Secret 플랫폼 구축기 Part 3: 시크릿 저장소를 운영 가능한 상태로 만들기 — 컨테이너화부터 CI/CD, 로그 수집까지
데브옵스
여기어때 Secret 플랫폼 구축기 Part 3: 시크릿 저장소를 운영 가능한 상태로 만들기 — 컨테이너화부터 CI/CD, 로그 수집까지
두줄요약
Secrethub를 운영 가능한 상태로 만들기 위해 컨테이너화, CI/CD, 로그 수집 구조를 정리했습니다. 서비스 단위가 아닌 플랫폼 레벨에서 관리 가능한 구조를 목표로 표준화를 진행했습니다.
구조와 흐름
- Bun 기반 Secrethub를 컨테이너 배포 가능한 형태로 정리
- 멀티 스테이지 Dockerfile로 빌드·실행 분리, 최종 이미지에서 소스와 node_modules 제거
- GitLab Push부터 Runner, ECR, CodeDeploy, EC2 docker compose 갱신까지 이어지는 CI/CD 흐름 구성
선택 이유
- EC2 프로젝트에도 EKS 공통 GitLab CI 템플릿을 적용해 중앙 관리성과 확장성 확보
- 배포 대상만 달라도 CI 흐름은 동일하게 유지하는 선언적 설정 채택
- 로그는 애플리케이션 코드가 아닌 Docker 레벨에서 Loki Driver로 수집해 표준화
트레이드오프
- 서비스별 스크립트 수정 중심 방식은 유연하지만 전체 현황 파악과 파이프라인 개선에 한계
- 애플리케이션 로깅 분산 적용 대신 플랫폼 레벨 수집으로 언어·프레임워크 독립성과 재사용성 확보
- EC2 운영을 유지하되 장기적으로 EKS 전환을 염두에 둔 단계적 표준화 전략
