더북(TheBook)

5.3.7 볼트와 스프링 클라우드 컨피그 서비스 통합

앞서 언급했듯이 사용 가능한 또 다른 백엔드 저장소로 하시코프 볼트(HashiCorp Vault)가 있다. 볼트는 시크릿(secrets)에 안전하게 접근할 수 있는 도구이며 패스워드, 인증서, API 키 등 접근을 제한하거나 제한하려는 어떤 정보로도 시크릿을 정의할 수 있다.

스프링 컨피그 서비스에서 볼트를 구성하려면 볼트 프로파일을 추가해야 한다. 이 프로파일을 사용하면 볼트와 통합하고 마이크로서비스의 애플리케이션 프로퍼티를 안전하게 저장할 수 있다. 볼트와 통합하기 위해 도커를 사용하여 다음 명령으로 볼트 컨테이너를 생성한다.

docker run -d -p 8200:8200 --name vault -e 'VAULT_DEV_ROOT_TOKEN_ID=myroot' -e 'VAULT_DEV_LISTEN_ADDRESS=0.0.0.0:8200' vault

docker run 명령은 다음 두 가지 매개변수를 입력받는다.

VAULT_DEV_ROOT_TOKEN_ID: 이 매개변수는 생성된 루트 토큰(root token) ID를 설정한다. 루트 토큰은 볼트 구성을 시작하는 초기 액세스 토큰이다. 초기 생성된 토큰 ID를 주어진 값으로 설정한다.

VAULT_DEV_LISTEN_ADDRESS: 이 매개변수는 개발 서버의 IP 주소와 포트를 설정한다. 기본값은 0.0.0.0:8200이다.

Note ≣


이 예에서는 볼트를 로컬로 실행한다. 서버 모드에서 볼트를 실행하는 방법에 대한 추가 정보가 필요하다면 https://hub.docker.com/_/vault에서 볼트 도커 이미지에 대한 공식 정보를 얻을 수 있다.

최신 볼트 이미지를 도커로 내려받은 후 시크릿 생성을 시작할 수 있다. 이 예를 쉽게 만들고자 여기에서는 볼트 UI를 사용하지만, CLI를 선호한다면 사용해 보기 바란다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.