배경 / 문제
기존 active-standby 서버 이중화 환경에서 서드파티 API key 관리에 다음과 같은 문제가 있었습니다:
•
개별 관리의 필요성: 이중화 서버별로 서로 다른 API key가 필요한 상황
•
빌드 복잡성: 서버별 개별 빌드 파일 생성으로 인한 배포 프로세스 복잡화
•
운영 비효율: 동일한 애플리케이션을 서버별로 별도 빌드하는 오버헤드
목표: 이중화 여부와 관계없이 단일 빌드 프로세스로 모든 환경에 대응 가능한 구조 구축
해결 방안 검토
1.
profile 별로 관리되던 properties를 active or standby 용도로 다시 나누어서 관리
a.
관리 포인트 과다로 인한 복잡성 증가 우려
2.
AWS Secret Manager를 사용해서 클라우드 서비스를 통해 관리
a.
고객사 보안 정책상 외부 클라우드 서비스 사용 불가
구현
외부 파일(.env) 로 관리하기로 했다.
개발 / 운영을 포함하여 이중화 서버도 포함해서 관리할 수 있게 된다.
회고
•
단일 빌드: 하나의 애플리케이션 빌드로 모든 환경 대응
•
환경별 분리: 개발/운영 + 이중화 서버 조합 모두 지원
•
보안 준수: 고객사 정책에 부합하는 로컬 파일 기반 관리
•
운영 효율성: 배포 시점에 환경 파일만 교체하여 유연한 배포 가능