server
server
vault server 명령은 API 요청에 응답하는 Vault 서버를 시작합니다. 기본적으로 Vault는 "sealed"(봉인된) 상태로 시작합니다. Vault 클러스터는 사용 전에 보통 vault operator init 명령으로 초기화해야 합니다. 각 Vault 서버도 서버가 요청에 응답하기 전에 vault operator unseal 명령이나 API로 봉인 해제(unseal)해야 합니다.
출처: 문서
본문
자세한 내용은 다음을 참고하세요:
operator init명령 — Vault 서버 초기화에 대한 정보.operator unseal명령 — 봉인 해제 키 제공에 대한 정보.- Vault configuration — Vault 서버의 문법과 다양한 구성 옵션.
예제 (Examples)
구성 파일로 서버를 시작합니다:
$ vault server -config=/etc/vault/config.hcl
사용자 지정 초기 root 토큰으로 "dev" 모드로 실행합니다:
$ vault server -dev -dev-root-token-id="root"
사용법 (Usage)
모든 명령에 포함되는 표준 플래그 세트 외에 다음 플래그를 사용할 수 있습니다.
명령 옵션 (Command options)
-config(string: "")— 구성 파일 또는 구성 파일 디렉터리의 경로입니다. 이 플래그는 여러 번 지정해 여러 구성을 로드할 수 있습니다. 경로가 디렉터리이면.hcl또는.json으로 끝나는 모든 파일을 로드합니다.-log-level(string: "info")— 로그 상세도 수준입니다. 지원되는 값(상세도가 높은 순)은trace,debug,info,warn,error입니다.VAULT_LOG_LEVEL환경 변수로도 지정할 수 있습니다.-log-format(string: "standard")— 로그 형식입니다. 지원되는 값은standard와json입니다.VAULT_LOG_FORMAT환경 변수로도 지정할 수 있습니다.-log-file— journald/stdout 같은 기존 출력 외에 Vault가 로그 메시지를 저장해야 하는 절대 경로입니다. 경로 구분자로 끝나는 경로는 기본 파일 이름인vault.log를 사용합니다. 파일 확장자로 끝나지 않는 경로는 기본.log확장자를 사용합니다. 로그 파일이 로테이션되면 Vault는 로테이션 시점에 현재 타임스탬프를 파일 이름에 추가합니다. 예:
| log-file | 전체 로그 파일 | 로테이션된 로그 파일 |
|---|---|---|
| /var/log/ | /var/log/vault.log | /var/log/vault-{timestamp}.log |
| /var/log/my-diary | /var/log/my-diary.log | /var/log/my-diary-{timestamp}.log |
| /var/log/my-diary.txt | /var/log/my-diary.txt | /var/log/my-diary-{timestamp}.txt |
-log-rotate-bytes— 로그를 로테이션하기 전에 파일에 기록해야 하는 바이트 수를 지정합니다. 지정하지 않으면 로그 파일에 기록할 수 있는 바이트 수에 제한이 없습니다.-log-rotate-duration— 로그를 로테이션하기 전에 기록해야 하는 최대 기간을 지정합니다.30s같은 duration 값이어야 합니다. 기본값은 24h입니다.-log-rotate-max-files— 보관할 이전 로그 파일 아카이브의 최대 개수를 지정합니다. 기본값은 0(파일은 절대 삭제되지 않음)입니다. 새 파일이 생성될 때 이전 로그 파일을 버리려면 -1로 설정하세요.-experiment(string array: [])— 이 노드에 대해 활성화할 실험(experiment)의 이름입니다. 이 플래그는 여러 번 지정해 여러 실험을 활성화할 수 있습니다. 실험은 프로덕션에서 사용하면 안 되며, 관련 API는 릴리스 간에 하위 호환이 깨질 수 있습니다. 추가 실험은VAULT_EXPERIMENTS환경 변수(쉼표로 구분되 목록)나experiments구성 키로도 지정할 수 있습니다.-pprof-dump-dir(string: "")— 생성된 프로파일이 만들어지는 디렉터리입니다.pprof-dump-dir가 설정되지 않으면 Vault는 프로파일을 생성하지 않습니다.pprof-dump-dir는 디버깅 세션 중에 임시로만 사용하고, 일반 프로덕션 프로세스에서는 사용하지 마세요.VAULT_ALLOW_PENDING_REMOVAL_MOUNTS(bool: false)— (환경 변수)Pending Removaldeprecation 상태를 가진 내장 엔진으로 Vault를 시작할 수 있게 합니다. 이는 업그레이드를 수행하고 이 엔진들을 비활성화하기 위한 임시 중간 조치입니다. 이 엔진들이Removed로 표시되면(Vault의 다음 주요 릴리스에서) 이 환경 변수는 더 이상 작동하지 않으며, 문제가 되는 엔진을 제거하려면 다운그레이드를 수행해야 합니다. 자세한 내용은 deprecation notices를 참고하세요.VAULT_STACKTRACE_WRITE_TO_FILE(non-empty string)— (환경 변수) Vault가 SIGUSR2 신호를 받을 때 goroutine 덤프 파일 작성을 활성화합니다. 임의의 비어 있지 않은 값으로 설정하고 Vault가 SIGUSR2를 받으면, Vault는 goroutine 스택을 로그에 기록하는 것 외에goroutine이라는 이름의 파일도 작성합니다.VAULT_STACKTRACE_WRITE_TO_FILE값은 자동 종료 덤프에는 영향을 주지 않습니다. Vault가 시작하기 전에 이 변수를 설정해야 하며, Vault 실행 중에는 다시 로드할 수 없습니다.VAULT_STACKTRACE_FILE_PATH(directory path)— (환경 변수) goroutine 덤프 파일의 출력 디렉터리를 재정의합니다. stacktrace 경로는 SIGUSR2 덤프(VAULT_STACKTRACE_WRITE_TO_FILE이 설정된 경우)와 자동 종료 덤프 모두에 적용됩니다. 경로는 존재하는 디렉터리를 가리켜야 합니다. 경로가 유효하지 않거나 디렉터리가 존재하지 않으면 Vault는 경고를 기록하고 덤프를 건너뜁니다. 설정하지 않으면 Vault는 각 덤프에 대해os.TempDir()안에 임의 이름의 임시 디렉터리를 생성합니다. 또한 SIGUSR2는 전체 pprof 번들(goroutine, heap, allocs, threadcreate, CPU 프로파일)을$TMPDIR/vault-pprof/에 무조건 기록합니다. Vault는 번들 데이터를 쓸 위치를 결정하는 데VAULT_STACKTRACE_FILE_PATH나VAULT_STACKTRACE_WRITE_TO_FILE을 사용하지 않습니다.
개발 모드 옵션 (Dev options)
-dev(bool: false)— 개발 모드를 활성화합니다. 이 모드에서 Vault는 메모리 내(in-memory)에서 실행되며 봉인 해제된 상태로 시작합니다. 이름 그대로 "dev" 모드를 프로덕션에서 실행하지 마세요.-dev-tls(bool: false)— TLS 개발 모드를 활성화합니다. 이 모드에서 Vault는 메모리 내에서 실행되며, 생성된 TLS CA, 인증서, 키로 봉인 해제된 상태로 시작합니다. 역시 "dev" 모드를 프로덕션에서 실행하지 마세요.-dev-tls-cert-dir(string: "")—-dev-tls지정 시 생성된 TLS 파일이 만들어지는 디렉터리입니다. 설정하지 않으면 임시 디렉터리에 파일이 생성됩니다.-dev-listen-address(string: "127.0.0.1:8200")— "dev" 모드에서 바인딩할 주소입니다.VAULT_DEV_LISTEN_ADDRESS환경 변수로도 지정할 수 있습니다.-dev-root-token-id(string: "")— 초기 root 토큰입니다. "dev" 모드에서 실행할 때만 적용됩니다.VAULT_DEV_ROOT_TOKEN_ID환경 변수로도 지정할 수 있습니다.- 참고: 토큰 ID는
s.접두사로 시작하면 안 됩니다.
- 참고: 토큰 ID는
-dev-no-store-token(string: "")— dev root 토큰을 이후 요청에 사용하기 위해 토큰 헬퍼(보통 로컬 파일시스템)에 영속화하지 않습니다. 토큰은 명령 출력에만 표시됩니다.-dev-plugin-dir(string: "")— 플러그인을 로드할 수 있는 디렉터리입니다. "dev" 모드에서만 적용되며, 제공된 디렉터리의 모든 플러그인을 자동으로 등록합니다.