개발자

Spring Cloud Config 서버에 관하여 질문이 있습니다.

2024년 03월 14일조회 72

MSA 아키텍처에서는 대개 환경 정보를 일괄적으로 관리하는 서버를 두는 것으로 알고 있습니다.(Cloud Native 12 Factors) 그 중에서 Spring에서 사용할 수 있는 것은 Spring Cloud Config Server입니다. 해당 컨피그 서버를 사용하면 효율적으로 application.yml를 관리할 수 있죠.. 그런데 여기까지는 좋습니다만 제 지식으로는 해결할 수 없는 문제가 발생했습니다. Github Actions CI/CD에서 빌드를 할 때 application.yml이 없어도 되지만 빌드 검증을 위해선 필요합니다. 그런데 이때 Config Server를 외부 포트로 열어놓고 Github actions 접속시 비보안적이지 않나요..? 그래서 Spring Basic Auth를 사용하여 접근하려 했지만 왜인지 모르게 오류가 계속 뜹니다. (몇 시간 동안 해봤지만 안됩니다.. 충돌 때문인지는 모르겠지만 그냥 Security 관련 Bean이 설정이 안되더라구요..) 관련해서 AWS를 활용하여 일회성 인증을 하는 방법이 있다고 합니다만.. 이것만이 방법은 아닐 거 같습니다. 에이 몰라! Config Server 외부 포트 열어놓는건 위험하니까 그냥 Github actions secrets에도 application.yml를 다 넣고 빌드 검증해보고, 실제 배포때는 Dockerfile로 프로파일 설정해서 Config Server에서 불러와야지! 라고 하기에는 그럼 application.yml이 수정될 때 마다 github actions, config server 둘다에서 수정해줘야 할 것 같습니다… 관련하여 조언 주시면 감사하겠습니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

손우진님의 프로필 사진

이것저것 고려하고 계신 것 같으니 여러 방법들이 있습니다. 1. Spring cloud 자체 제공 암호화 로직을 써먹는다 2. 볼트 같은 private config server 를 써먹는다 방법은 다양하게 많으니 취향에 따라 현실적으로 선택해서 고려해보세요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 03월 14일

Spring Cloud Config Server와 Github Actions을 결합하여 사용하면서 보안 문제를 해결하는 방법에는 여러가지 접근이 있을 수 있습니다. 1. **비밀 정보를 암호화**: Spring Cloud Config Server는 비밀 정보를 암호화하거나 복호화하는 기능을 제공합니다. 이 기능을 사용하여 application.yml의 민감한 정보를 저장 및 서빙하기 전에 암호화할 수 있습니다. 2. **Private 저장소 사용**: 설정 파일 자체를 Private Git Repository에 보관하고, CI/CD 도구가 해당 리포지토리에 접근 가능하도록 인증 정보를 제공합니다. 3. **Vault 등의 비밀 관리 도구 사용**: Hashicorp Vault와 같은 비밀 관리 도구는 비밀번호, API 키 등과 같은 민감한 데이터를 안전하게 저장하고 제어하는데 필요한 모든 것을 제공합니다. 4. **CI/CD 시점에서 Config Server 운용**: Pipeline 내에서 일시적으로 Spring Cloud Config Server 인스턴스를 구동하는 방법입니다. 빌드가 완료되면 구동된 서버 인스턴스는 폐기됩니다. 5. **별도의 검증 환경 구성**: Github Action이 프로덕션 환경 대신 별도의 검증 환경에 대해 작동하도록 합니다. 이렇게 하면 프로덕션 환경으로의 노출을 막을 수 있습니다. 기본적으로 application.yml 정보는 중요한 설정이므로, 변경이 발생할 때마다 이를 추적하고 버전관리하는 것이 매우 중요합니다. 따라서 Github actions과 Config server에서 동시에 수정되어야 하는 것은 상당히 정상적인 절차입니다. 해당 문제는 MSA 아키텍처를 적용하면서 나타나는 일반적인 고민 포인트 중 하나이며, 여러 해결방안이 있으니 사용자의 필요와 조건에 맞춰 가장 적합한 방법을 선택하시는 것이 좋습니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!