[Spring boot] 우리 팀 application.yml은 과연 안전할까? - 컨테이너로 인한 환경변수 노출 시나리오와 예방법
·
Back-End/Spring boot
🤔 계기많은 개발자들이 Spring Boot 프로젝트의 설정을 위해 application.yml 혹은 properties 파일을 사용한다.해당 파일에는 단순한 로그 설정부터, DB 접속 정보, 외부 API 키와 같은 민감한 정보를 포함한다. 대부분의 개발자들은 이러한 설정 파일에 포함된 정보가 민감하다는 것을 알기 때문에,외부에 노출되지 않도록 주의를 기울인다. GitHub 등 원격 저장소에서는 서브 모듈, .gitignore 등 여러 방법을 활용하여 설정 파일을 가렸지만, 많은 사람들이 컨테이너화 과정에서는 이러한 과정을 진행하지 않는다. 이 글에서는 컨테이너화로 인해 민감한 정보가 노출되는 상황과 예방법을 다룬다. 📃 본론컨테이너 이미지를 활용해서 어떻게 값을 알아낼 수 있을까?컨테이너 이미지를 ..
[spring boot] JDK로 만든 당신의 컨테이너 이미지, 정말 JDK가 필요했나요?
·
Back-End/Spring boot
🤔 개요많은 개발자들이 Spring Boot 프로젝트 배포 시 불필요하게 JDK(Java Development Kit)를 사용하고 있다.개발 환경에서는 JDK가 필수적이지만,실제 배포 환경에서는 JRE(Java Runtime Environment)만으로도 충분하다는 점을 간과하고 있다. 이러한 방식으로 인해 낭비되는 리소스는 애플리케이션의 성능과 효율성에 영향을 미칠 수 있다. 예를 들자면, 무료 호스팅 사이트의 컨테이너 이미지 제한이 있는 경우 배포가 불가능한 경우가 있다.실제로 나는 Koyeb / Render라는 무료 호스팅 사이트에서 Spring boot 서버를 컨테이너 이미지 방식으로 배포하려고 했으나,배포 이후 용량이 무료 버전의 최대 용량인 512MB를 넘어서 배포가 불가능했었다. 해당 포스..