Vault Enterprise の Replication は大きく DR(Disaster Recovery)と Performance の2系統。前者は可用性確保、後者はレイテンシ低減とスケールアウトが目的です。両者は役割が異なり、併用が基本です。
本稿では、公式ドキュメントの安定した挙動をベースに、設計と運用に必要な最低限の判断材料とコマンドをまとめます。Ops 観点の手順・監視・切替手順、試験で問われやすい要点も併せて確認します。
Replication は Enterprise 機能で、同一クラスターの状態を別クラスターに非同期で複製します。DR Replication はフェイルオーバー前提の待機系、Performance Replication は読み取りスケールと地理分散を目的とした系統です。多くのエンタープライズ環境では、1つの Primary に対して複数の Performance Secondary と1つ以上の DR Secondary を組み合わせます。
ストレージは Integrated Storage(Raft)または Consul をサポートしますが、新規構築は Integrated Storage が推奨です。いずれの場合もクラスター間は TLS で保護され、セカンダリ有効化時のワンタイム・アクティベーション・トークンで相互接続を確立します。
| 観点 | DR Replication | Performance Replication |
|---|---|---|
| 主目的 | 災害対策(フェイルオーバー) | 低レイテンシ読取・スケールアウト |
| クライアント受け付け | 通常は不可(待機系) | 読取可(複製対象は読取専用) |
| 書き込み | 不可(昇格後は可) | 複製対象は不可。Local マウントは可 |
| 対象範囲 | クラスター全体(包括的) | 選択的(Local 指定で除外可) |
| フェイルオーバー | DR Secondary を昇格してプライマリ化 | 対象外(可用性担保は DR で実施) |
| RPO/RTO の考え方 | 非同期。RPO は秒〜数十秒想定、RTO は昇格時間に依存 | 非同期伝播。RPO/RTO はサービス継続とは無関係(読取性能目的) |
DR Secondary は通常クライアント要求を処理しません。Primary の状態(ポリシー、Secrets、トークン、リースなどクラスター全体)を非同期で受け取り、障害時に迅速に昇格できます。昇格後は新しい Primary となり、クライアントの読み書きを受け付けます。
DR は“全体の保護”が原則で、選択的に一部のみを除外する設計ではありません。RPO はネットワーク状況と負荷に依存し、秒〜数十秒程度の非同期を前提にします。
代表構成(Primary + Performance Secondaries + DR Secondary)
Performance Secondary はクライアントの読み取り要求を近接拠点で処理し、レイテンシを抑えます。複製対象のマウントやデータに対しては原則読み取り専用です。書き込みトランザクションは Primary で完結させる設計にします。
レプリケーション対象にしたくないデータは local フラグ付きマウントとして分離します。たとえば、拠点固有の短期データやメトリクス用トークンなどは Local マウントに置くと、セカンダリごとに独立運用できます。
以下は最小限の有効化手順の一例です。いずれも TLS が正しく設定され、クラスター同士が到達可能であることが前提です。実環境では RBAC、ネットワーク制約、監査設定を合わせて行います。
コマンドは公式ドキュメントの安定 API を使用しています。検証環境での手順確認後に本番適用してください。
DR/Performance の有効化と昇格(例)
# 1) DR Primary を有効化(Primary クラスターにて)
vault write -f sys/replication/dr/primary/enable
# 2) DR Secondary 用のアクティベーション・トークンを発行(Primary)
DR_TOKEN=$(vault write -field=token -f sys/replication/dr/primary/secondary-token)
# 3) DR Secondary を有効化(Secondary クラスターにて)
vault write sys/replication/dr/secondary/enable token="${DR_TOKEN}"
# 4) DR ステータス確認(任意のクラスターで)
vault read sys/replication/dr/status
# 5) 障害時に DR Secondary を昇格(Secondary 側で実行)
vault write -f sys/replication/dr/secondary/promote
# 6) Performance Primary を有効化(Primary クラスター)
vault write -f sys/replication/performance/primary/enable
# 7) Performance Secondary 用トークンを発行(Primary)
PERF_TOKEN=$(vault write -field=token -f sys/replication/performance/primary/secondary-token)
# 8) Performance Secondary を有効化(Secondary クラスター)
vault write sys/replication/performance/secondary/enable token="${PERF_TOKEN}"
# 9) Performance ステータス確認
vault read sys/replication/performance/status
# 10) Local マウントの例(セカンダリ上で複製しないマウントを作成)
# 例: 各拠点専用の kv マウント
vault secrets enable -path=kv-local -version=2 -local kv監視は Replication のラグ、リンク状態、再シード要求の有無を中心に。公式の Telemetry と Prometheus エクスポートを使って遅延や失敗率を可視化します。ヘルスチェック API と sys/replication/*/status を合わせてダッシュボード化しておくと切替判断が早くなります。
変更管理では、Primary のローリングアップグレードとセカンダリの順序、証明書更新時の相互接続維持、障害訓練の定例化が重要です。スナップショット(Integrated Storage の raft snapshot)を計画的に取得し、復旧パスを二重化しておきます。
試験では、DR と Performance の目的・動作差、どちらがクライアント要求を扱えるか(DR は待機、Performance は読取のみ)、Local マウントの使い所、昇格手順の基本が頻出です。実務では、DR と Performance の併用、Local と複製対象の境界設計、ネットワーク遅延下での期待整合性の読み違いに注意します。
Ops
問題 1
グローバルに分散したユーザーが低レイテンシでシークレットを読み取れるようにしたい。複製対象のマウントに対する書き込みは整合性のため単一拠点に集約したい。最も適切な構成はどれか。
正解: A
Performance Replication は複製対象の読み取りを各拠点で処理し、書き込みは Primary に集約する設計に適します。DR Secondary は待機系で通常リクエストを処理しません。アクティブ・アクティブな相互書き込みは Vault のレプリケーション設計の想定外です。Local のみだと共有シークレットの一貫性が確保できません。
DR と Performance を同時に使えますか?優先順位はありますか?
併用が一般的です。Primary から Performance Secondary へは読取スケール、別系統で DR Secondary へは災害対策を行います。役割が異なるため優先順位というより補完関係です。
Integrated Storage と Consul のどちらでも Replication は動作しますか?
どちらもサポートされますが、新規は Integrated Storage(Raft)が推奨です。既存の Consul 環境はバージョン互換、TLS、ネットワーク要件を含めて事前に検証してください。
トークンやリースは複製されますか?
DR Replication ではクラスター全体(トークン、リース、ポリシー等)が対象です。Performance Replication は主にシークレットやメタデータの読取最適化が目的で、複製対象に対する書き込みは Primary で実施します。セカンダリ固有のデータは Local マウントに分離してください。
NicheeLab編集部
データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。
Vault のコア概念を最短距離で理解する:Secret / Auth / Policy / Token
HashiCorp Vault Associate レベルで押さえるべきコア概念(Secret Engine、Auth ...
Vault Operations Professional: 上位資格としての範囲を実務目線で押さえる
HashiCorp Vault Operations Professional(Ops Pro)の出題範囲を、Assoc...
Vaultにおけるパスベースのルーティング: マウントとAPI構造を読み解く
HashiCorp Vaultのパスベースのルーティングを、マウント設計とAPIパスの観点から整理。Associateレ...
Vault Tokens の基礎: 認証の起点となる概念
HashiCorp Vault におけるトークンの役割、種類、ライフサイクル、ポリシー連携、設計パターンをAssocia...
Vault のトークン種類を正しく使い分ける: service / batch 実践
HashiCorp Vault Associate 向けの試験対策と実務運用を両立させた、service トークンと b...