Day 71 · 1/5
🌳 고급 인프라

환경변수는 배포 시 왜 중요한가요?

쉽게 이해하기

학교, 집, 회사마다 다른 Wi-Fi 비밀번호를 쓰듯이, 개발 서버와 실제 서비스 서버는 데이터베이스 주소나 API 키가 달라요. 환경변수는 같은 앱 코드를 쓰면서도 장소에 따라 다른 설정을 자동으로 불러오게 해주는 메모장 같은 거예요.

핵심 정리

배포 환경마다 다른 설정을 코드 변경 없이 관리하는 방법

자세히 알아보기

배포할 때 환경변수가 중요한 이유는 같은 코드를 여러 환경에서 다르게 동작시켜야 하기 때문이에요. 개발할 때는 로컬 데이터베이스를 쓰지만, 실제 서비스에서는 운영 DB를 써야 하고, API 키나 비밀번호도 환경마다 달라요. 실무에서는 Vercel이나 Netlify 같은 배포 서비스의 대시보드에서 환경변수를 설정해요. 예를 들어 DATABASE_URL, API_KEY 같은 값을 입력하면, 배포된 앱이 자동으로 그 값을 읽어서 사용해요. 코드에는 process.env.DATABASE_URL처럼 변수명만 쓰고, 실제 값은 배포 환경에서 주입되는 거죠. 환경변수를 쓰면 보안에도 좋아요. API 키나 비밀번호를 코드에 직접 쓰면 GitHub에 올라가서 누구나 볼 수 있지만, 환경변수로 관리하면 코드와 분리되어 안전하게 보관돼요. 또 배포 환경마다 다른 설정을 쓸 수 있어서 개발/스테이징/운영 서버를 같은 코드로 관리할 수 있어요. 대부분의 호스팅 서비스는 환경변수 관리 UI를 제공하고, .env 파일을 업로드하거나 키-값 쌍으로 직접 입력할 수 있어요. Docker를 쓴다면 docker-compose.yml이나 Kubernetes의 ConfigMap으로 환경변수를 관리하기도 해요. 배포 파이프라인에서 환경변수가 제대로 설정되지 않으면 앱이 실행되지 않거나 잘못된 서버에 연결될 수 있으니, 배포 전에 꼭 확인해야 해요.