.env 파일
# .env 파일
: 환경 변수를 저장하는 텍스트 파일로, 애플리케이션의 설정 값을 분리하여 관리할 수 있다.
- key-value 형식( Key=Value ) 으로 값을 저장한다.
-개발에서 설정값을 외부 파일로 관리할 때 사용한다.
# 환경 변수 (Environment Variables)
: 운영 체제(OS)나 애플리케이션이 사용하는 설정값을 저장하는 변수
- 하드코딩이 아닌, 외부 설정으로 동적인 값을 사용할 수 있도록 한다.
- 특정 프로그램에서 공통으로 사용할 정보를 담을 수 있다.
[ 환경 변수 예시 ]
API_KEY=123456abcdef
DB_HOST=localhost
DB_PORT=5432
NODE_ENV=development
- API_KEY : API 사용을 위한 인증 키
- DB_HOST : 데이터베이스 호스트 주소
- DB_PORT : 데이터베이스 포트
- NODE_ENV : 현재 환경 설정 (development, production 등)
[ env 파일 사용 이유 ]
1. 보안성
- API 키, 데이터베이스 비밀번호 등을 코드에 직접 작성하지 않음
2. 환경 별 설정 관리
- 개발(development), 테스트(test), 운영(production), 환경에 따라 다른 값을 설정할 수 있다.
3. 코드의 유연성 증가
- 환경 변수만 변경하면, 코드 수정 없이도 설정을 쉽게 바꿀 수 있다.
- 하나의 코드로 여러 환경에서 실행 가능하다.
# React 에서 .env 파일 사용하기
1. React에서는 .env 파일을 사용할 때 환경 변수명 앞에 REACT_APP_ 을 붙여야 한다.
2. process.env 객체를 사용해 환경 변수를 가져온다.
예시)
# .env 파일
REACT_APP_API_URL=https://api.example.com
console.log(process.env.REACT_APP_API_URL);
// https://api.example.com
[ 보안 관리 방법 ]
1. .env 파일은 보안이 중요하므로 .gitignore에 추가하여 git에 업로드되지 않도록 한다.
2. 환경 변수 직접 출력 금지
3. 필요한 값만 사용하기
4. 배포시 '환경 변수 관리 시스템' 사용
ex. AWS Secrets Manager, Azure Key Vault, Google Secret Manager 등