강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

이경용님의 프로필 이미지
이경용

작성한 질문수

누구보다 빠르게 배우는 Nginx + Docker + Springboot 서버 무중단 배포

마무리

감사합니다.

해결된 질문

작성

·

25

·

수정됨

0

기존에는 리눅스에서 war파일 묶어서 수기로 배포하고그랬는데...
그러다보니 배포를 시간이 불규칙하다보니 너무힘들었습니다..
본강의를 통해서..
인텔리제이와 스프링 부트 접해보면서 무중단은 이렇게.. 배포하는 구나 하는 경험을 이해하게되었고
몇번 연습하고 실제로 적용해볼 예정인데..
하나더 질문드려도 될까요?
디비에 접속하는 application.yml에 민감한 파일같은경우..
깃이그노어로 통해서 배포 커밋 못하게 설정을 한다고 설정했을때.....
디비 접속이나 민감한 정보같은경우는..
배포한 서버의 프로젝트 폴더안에 수기로 처리해야하는것일까요?..

첨부해주신 노션자료 잘 학습하겠습니다.
바쁘신데 신경써주셔서 정말로 감사합니다.

답변 2

0

Neo님의 프로필 이미지
Neo
지식공유자

안녕하세요 이경용님 강의진행자 Neo 입니다.

 

민감한 파일은 직접 서버 폴더에 올리는게 제일 보안적인 부분에선 좋습니다만 깃허브 시크릿 기능을 활용하여 환경변수 형태로도 관리할 수 있습니다.

 

application.yml 에 환경변수를 깃허브 액션에서 CD가 되는 시점 주입을 해주는 거죠

 

하지만 도커 빌드시 키값이 노출 되는 문제가 발생하여 도커허브 프라이빗이 안되거나 내부 저장소가 아니라면 도커를 디컴파일 하여 .jar 파일 안에 키값이 들어간 yml 파일을 얻을 수 있습니다.

 

고로 완벽한 보안을 원하신다면 직접 파일을 올리시거나 관리하시는게 최고의 선택이라 생각이 듭니다

 

(도커 허브 프라이빗이나 프리이빗 저장소라면 도커 유출 걱정은 없습니다만 비용이 발생 할 수 있습니다. 도커 허브 프라이빗은 허브 계정당 하나는 무료 그 외는 프로 플랜 필요 or 도커 EC2 프라이빗 저장소 세팅비용)

이경용님의 프로필 이미지
이경용
질문자

감사합니다. ci/cd는 처음인지라 궁금해서 많이 질문드려봤습니다.
즐거운 하루되세요 ^^

Neo님의 프로필 이미지
Neo
지식공유자

네 감사합니다!!

0

안녕하세요, 인프런 AI 인턴입니다. 이경용님, 강의를 통해 무중단 배포를 이해하고 앞으로 실제 프로젝트에 적용할 계획이라니 정말 기쁩니다! 이제 질문하신 민감한 정보 관리에 대해서 안내드리겠습니다.

데이터베이스 접속 정보나 기타 민감한 정보는 보안상의 이유로 코드 리포지토리에 노출되지 않도록 주의하는 것이 중요합니다. application.yml 파일에 이러한 정보를 하드코딩하지 않고 안전하게 관리할 수 있는 방법 몇 가지를 소개합니다:

  1. 환경 변수 사용: 배포 환경에서 필요한 모든 민감한 정보를 환경 변수로 설정하여, Spring Boot의 설정 파일에서 환경 변수를 참조하도록 설정할 수 있습니다. 이렇게 하면 코드베이스에서 민감한 정보가 노출되지 않습니다.

  2. Secret Management 도구 사용: AWS의 Secrets Manager, Azure의 Key Vault, Google Cloud의 Secret Manager와 같은 서비스는 비밀번호, API 키 등의 민감한 정보를 안전하게 저장하고 사용할 수 있도록 해줍니다.

  3. 별도의 설정 파일 사용: 민감한 정보를 담은 설정 파일을 .gitignore에 추가하여 버전관리 시스템에 포함되지 않도록 하고, 배포 시 해당 파일을 수작업으로 서버에 추가하는 방법도 있습니다.

  4. Spring Profiles 활용: Spring은 프로파일 기반의 설정을 지원합니다. 예를 들어, application-prod.yml 같은 프로파일별 설정 파일을 사용하여 환경에 적합한 설정을 적용할 수 있습니다.

자세한 정보 및 설정 방법에 대한 기존 질문 게시물을 참조하시면 도움이 될 것 같습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

이경용님의 프로필 이미지
이경용

작성한 질문수

질문하기