파일 시스템에서 Spring Cloud Config 서버 구성 관리

날아올라돼지야·2024년 8월 27일
0

Spring Cloud Config 서버가 클래스 경로 대신 파일 시스템에서 구성 파일을 읽도록 설정하는 방법을 배웁니다.

클래스 경로 -> 파일 시스템

이 접근 방식을 사용하면 서버 관리자가 해당 폴더의 내용을 볼 수 있는 접근 권한을 제한할 수 있기 때문에 보안이 강화될 수 있습니다.

파일 시스템에 구성 파일 저장

기존에 config 폴더에 있던 모든 구성 파일들을 로컬 파일 시스템의 지정된 위치로 복사합니다.

예를 들어, macOS의 경우 Users/eazybytes/Documents/config 폴더에 복사합니다.

Spring Cloud Config 서버 설정 변경

application.yml 파일에서 spring.cloud.config.server.native.search-locations 속성의 값을 classpath에서 file로 변경합니다.

  cloud:
    config:
      server:
        # native:
          # search-locations: "classpath:/config"
          search-locations: "file:///Users//eazybytes//Documents//config"

파일 시스템 경로를 정확히 지정하기 위해, file:///Users/eazybytes/Documents/config 형식으로 경로를 입력했습니다. Windows의 경우 경로는 file:///C:/config와 같은 형식이어야 합니다.

Spring Cloud Config 서버 및 마이크로서비스 재시작

모든 마이크로서비스와 Config 서버를 중지한 후, 먼저 Config 서버를 다시 시작하고, 각 마이크로서비스(Accounts, Loans, Cards)를 순차적으로 시작합니다.

Config 서버 URL 테스트

Config 서버의 URL을 통해 파일 시스템에 저장된 구성 파일이 제대로 로드되었는지 확인합니다.

예를 들어, http://localhost:8071/loans/prod와 같은 경로를 통해 Loans 마이크로서비스의 prod 프로파일 구성을 확인했습니다.

마이크로서비스 통합 테스트

Postman을 사용해 각 마이크로서비스의 API를 호출하여 구성 파일이 올바르게 로드되었는지 확인합니다.

예를 들어, Cards 마이크로서비스의 contact-info API를 호출하여 prod 프로파일이 올바르게 적용되었는지 확인합니다.

요약 및 결론

이번 강의에서는 Spring Cloud Config 서버가 파일 시스템에서 구성 파일을 읽도록 설정하는 방법을 배웠습니다.

이 접근 방식은 구성 파일을 외부에서 안전하게 관리할 수 있는 이점이 있습니다.

다음 챕터는 현재 파일 시스템에서 구성 파일을 불러오는 방식을 또 한번 바꿔 Github 레포지토리로 변경해 보도록 하겠습니다.

profile
무슨 생각하며 사니

0개의 댓글