
핵심요약
이 글은 AWS Secrets Manager에서 환경 변수를 가져와 .env 파일을 자동 생성하는 과정을 다루며, 쉘 스크립트의 한계를 극복하고 CLI 도구를 개발하여 개발자의 번거로움을 해소한 경험을 공유합니다.
AWS Secrets Manager와 CLI를 활용한 .env 파일 자동화
환경 변수 관리 문제점 및 해결 전략
- 기존 프론트엔드 조직의 환경 변수 관리 파편화 문제 (GitHub Secrets, AWS Amplify).
- 저장 후 값 확인 불가능, 문서 의존성, 비효율적인 프로젝트 설정 등의 운영상 어려움 발생.
- AWS Secrets Manager를 통해 환경 변수를 일원화하고 IAM Role 기반 접근 제어 구현.
- 그러나 Secrets Manager에서
.env파일을 수동으로 생성하는 과정에서 휴먼 에러 및 시간 소모 문제 지속.
쉘 스크립트 방식의 한계와 CLI 개발
- 초기 문제 해결을 위해 쉘 스크립트를 사용하여 AWS Secrets Manager 값 자동 변환 시도.
- 쉘 스크립트 방식의 단점: 각 레포지토리 복사,
package.json수정 필요, 낮은 유지 보수성 (러닝 커브). - 이 문제를 해결하기 위해 JavaScript 기반 CLI 도구 개발을 결정.
npx를 활용하여 원격 저장소 코드를 로컬에서 실행하고, Commander 및 Prompts 라이브러리 사용.
CLI 기반 .env 파일 자동 생성 프로세스
npx <라이브러리 이름> download-secret명령어 실행으로 자동화 시작.- SSO/MFA 인증 과정을 거쳐 AWS Secrets Manager에 안전하게 접근.
- Secrets Manager에서 환경 변수 값을 읽어와
.env형식으로 자동 변환 및 생성. - 이 과정을 통해 개발자는 단 한 줄의 명령어로 필요한 환경 변수 파일을 손쉽게 확보.