Vault server 이용하기

TaeYoon Kim·2023년 12월 28일
0

기초 (치트 시트)

목록 보기
17/23

볼트 서버(환경 변수 설정을 편하게 할 수 있는 방법)

나중에 Docker랑 쿠버네티스 사용하면 컴퓨터가 엄청 많아지는데 일일이 환경변수 세팅한다고 생각하면 너무 힘들다.

그러면 환경변수를 하나의 서버에 다 저장해 놓고 다른 컴퓨터들은 서버에서 값을 가져가게 하는 건 어떨까?

이것이 볼트 서버이다.

리눅스 가상 머신 하나 만들고
https://developer.hashicorp.com/vault/install#Linux
이 공식문서에 나온대로 vault를 설치한다.

스프링에서 외부 라이브러리 추가하고
아래 공식 문서에 있는대로 진행한다.
https://cloud.spring.io/spring-cloud-vault/reference/html/

근데 설정 파일을 작성할 때
인증을 못받은 상태라서
JAVA에서 에러가 발생하니
약간의 변형이 필요함.

backend "inmem"{}

listener "tcp"{
  address = "0.0.0.0:8200"
  tls_disable = 1
}

disable_mlock = true
  1. 설정 파일 생성
    backend "inmem" {
    }

listener "tcp" {
address = "0.0.0.0:8200"
tls_disable = 1
}

  1. 서버 실행
    vault server -config=설정파일경로

  2. 볼트 서버 초기화
    vault operator init

  3. 볼트 서버 잠금 해제
    vault operator unseal 입력 후 init할 때 생성된 키 입력
    3번

  4. 토큰을 환경변수로 등록
    export VAULT_TOKEN="hvs.QdJ0O4gCCmoSNE8iW2ExLe5U"

  5. 관리자 생성
    vault token create -id="00000000-0000-0000-0000-000000000000" -policy="root"

  6. kv 등록
    vault secrets enable -path=엔진이름/ kv
    vault kv put 엔진이름/경로 aaa=111 bbb=222

  7. 스프링 설정
    my:
    var: ${aaa}

spring.config.import: vault://
spring.cloud.vault:
host: 볼트IP
port: 볼트포트
scheme: http
uri: http://볼트IP:볼트포트
token: init할 때 생성된 토큰
kv:
enabled: true
backend: 엔진이름
application-name: 경로

0개의 댓글