통합 스토리지
통합 스토리지 (Integrated Storage)
Vault의 통합 스토리지(Integrated Storage) 는 별도의 외부 스토리지(예: Consul) 없이 Vault 자체에 내장된 Raft 기반 저장소입니다. 통합 스토리지를 사용하면 Vault 클러스터 노드들이 데이터를 스스로 복제·분산 저장하고, 리더 선택과 복구를 자동으로 처리하므로, 인프라를 단순화하면서도 고가용성(HA)과 강력한 일관성(coherence)을 얻을 수 있습니다.
출처: 문서
본문
통합 스토리지란
통합 스토리지는 Raft 합의 알고리즘을 기반으로 하는 Vault 내장 스토리지입니다. 각 Vault 노드는 데이터의 복제본을 보유하며, 노드가 죽거나 추가되어도 Raft가 리더를 선출하고 데이터 일관성을 유지합니다. 이로 인해 별도의 스토리지 클러스터(예: Consul)를 운영할 필요가 없어집니다.
설정 예시
Vault 설정 파일에서 storage "raft"로 지정합니다.
storage "raft" {
path = "/vault/data"
node_id = "node1"
}
cluster_addr = "https://127.0.0.1:8201"
api_addr = "https://127.0.0.1:8200"
주요 특징
- 자동 복제 — 클러스터의 모든 노드가 데이터 복제본을 유지합니다.
- 자동 리더 선택 — active 노드가 죽으면 Raft가 새 리더를 자동 선출합니다.
- 스냅샷 —
vault operator raft snapshot save/restore명령으로 데이터 스냅샷을 백업·복원할 수 있습니다. - Peer 관리 —
vault operator raft join,vault operator raft list-peers,vault operator raft remove-peer로 노드를 관리합니다. - HSM/여러 봉인 — 다른 스토리지와 달리 다양한 봉인 유형과 함께 사용할 수 있습니다.
노드 관리 명령
$ vault operator raft join https://node1:8200 # 클러스터 합류
$ vault operator raft list-peers # 피어 목록
$ vault operator raft remove-peer <node_id> # 노드 제거
$ vault operator raft snapshot save backup.snap # 스냅샷 백업
Raft 구성 요소 (autopilot)
통합 스토리지는 자동화된 피어 관리를 위한 Autopilot을 지원합니다. Autopilot은 dead 노드 제거, 상태(health) 점검, 새 노드의 자동 합류 등 스토리지 클러스터의 운영을 자동화합니다. 자세한 내용은 Autopilot 문서를 참조하세요.
주의사항
- 통합 스토리지는 **엄격한 쓰기 합의(fsync)**를 수행하므로, 느린 디스크는 쓰기 성능에 직접 영향을 줍니다(성능 하드웨어 선택 중요).
- Raft는 단일 하드 디스크의 성능 특성을 따라갑니다. 스토리지 지연(latency)이 높으면 전체 성능이 저하됩니다.
- 데이터는 Vault가 암호화해 저장하므로 스토리지 계층 탈취만으로 데이터가 노출되지는 않습니다.
Consul에서 이전
기존 Consul 스토리지를 사용하는 배포를 통합 스토리지로 전환할 수 있습니다. 자세한 절차는 Consul 저장소 이전 문서와 마이그레이션 체크리스트를 참조하세요.
참고: 통합 스토리지의 정확한 성능 지표와 모범 사례는 공식 문서와 하드웨어 가이드를 확인하세요.