백업, 복구, 마이그레이션

백업, 복구, 마이그레이션

1️⃣6️⃣ 백업, 복구, 마이그레이션

Vault는 보안 정보 저장소인 만큼, 장애나 데이터 손실 시 빠르게 복구할 수 있는 체계가 반드시 필요합니다. 이 포스팅에서는 Raft Snapshot 방식의 백업/복구, 파일 이관 전략, DR(Disaster Recovery) 클러스터 구성을 실무 예제와 함께 다룹니다.


1. Raft Snapshot 방식 백업/복원 실습

Vault가 내부 스토리지로 Raft Storage를 사용할 경우, vault operator raft snapshot 명령으로 전체 스토리지 상태를 백업할 수 있습니다.

📦 1-1. Snapshot 백업

vault operator raft snapshot save /backup/vault-snapshot.snap

🔐 이 스냅샷은 Vault의 모든 데이터(시크릿, 정책, 인증 설정 등)를 포함합니다.

💥 1-2. Snapshot 복원 (주의: 기존 데이터 삭제됨)

vault operator raft snapshot restore /backup/vault-snapshot.snap

🧨 복원 전에 기존 Vault 데이터를 초기화해야 하며, 복구 노드에서만 사용 가능합니다.

🖼️ Raft 백업/복구 흐름도

┌─────────────┐
│   Vault Raft│
└────┬────────┘
     │
     ▼
[Snapshot 생성]──▶ [외부 저장소 전송 (S3, NFS 등)]
     │
     ▼
[복원 시점 Vault] ◀── Snapshot 복원

2. 주요 파일 위치 및 이관 전략

Vault를 파일 시스템 기반으로 배포한 경우, 중요한 구성 파일과 데이터를 계획적으로 이관할 필요가 있습니다.

📁 2-1. 주요 파일 구조

파일/디렉토리 설명
/etc/vault.d/ Vault 설정 파일 (config.hcl 등)
/opt/vault/data/ Raft 저장소 (Raft 사용 시 중요)
/var/log/vault.log 로그 파일
/root/.vault-token 인증 토큰 파일 (임시)

🚚 2-2. 서버 마이그레이션 전략

# 예시: Vault 설정 파일 + 데이터 디렉토리 백업
rsync -avz /etc/vault.d/ new-server:/etc/vault.d/
rsync -avz /opt/vault/data/ new-server:/opt/vault/data/

✅ 서버 간 Vault 버전이 동일해야 하고, Unseal Key와 Token도 함께 이관 필요

🧱 체크포인트

  • Vault 버전 일치 여부
  • TLS 인증서 재적용 필요 여부
  • systemd 서비스 설정 이관 여부

3. Disaster Recovery 클러스터 구성

Vault Enterprise에서는 DR 모드로 별도의 DR Cluster를 구성하여 실시간 Snapshot 복제 및 장애 시 빠른 전환이 가능합니다.

🧭 구성 방식

  • Primary Cluster: 실 운영 중인 Vault
  • DR Secondary Cluster: 비동기 복제 수신
  • DR 모드는 Raft 클러스터와 별개로 구성

🖼️ DR 클러스터 아키텍처

┌────────────┐        ┌────────────┐
│ Vault Prod │  ───▶  │ Vault DR   │
│ (Primary)  │        │ (Secondary)│
└────┬───────┘        └────┬───────┘
     │ Snapshot            │
     ▼                     ▼
[운영 데이터]         [비동기 복제]

⚙️ DR 구성 예시 (Enterprise 버전)

vault write -f sys/replication/dr/secondary/enable \
  token=<root_token> \
  primary_api_addr="https://vault-primary:8200"

🛑 DR은 Vault Enterprise Edition에서만 사용 가능


✅ 실무 운영 점검 항목

항목 점검 포인트
Snapshot 자동화 cron + vault snapshot save 구성
복구 테스트 주기 월 1회 테스트 복원 수행 권장
DR 상태 모니터링 Vault UI 또는 API 통해 동기화 상태 확인
TLS 인증서 갱신 Snapshot 포함되지 않음 – 수동 이관 필요

🧠 요약 정리

구분 전략
🧩 백업 raft snapshot save 주기적 수행
🛠️ 복구 raft snapshot restore로 복구, 기존 데이터 초기화 필요
🚚 마이그레이션 설정파일 + Raft 데이터 + 인증 토큰 이관
🌐 DR 구성 Vault Enterprise 기능 사용, 비동기 복제 가능

RSS Feed
마지막 수정일자