Vault

HashiCorp VaultにおけるPerformance Limits: スループットと上限をOps視点で押さえる

2026-04-19
NicheeLab編集部

Vaultは各リクエストで認証・ポリシー評価・暗号処理・ストレージI/O・監査出力を行います。どこが律速になるかを把握しないと、台数を増やしてもスループットが伸びません。

本稿は、公式ドキュメントに基づく安定した概念を前提に、Ops試験で狙われやすい観点と、現場で実際に効く設計・設定の落としどころをまとめます。Enterprise専用機能(Performance Replication、Quotas、Namespacesなど)はその旨を明記します。

スループットを決める基本要素と典型的ボトルネック

Vaultの1リクエストは概ね、フロントのTLS終端 → 認証/トークン検証 → ポリシー評価 → シークレットエンジンや認証メソッドの処理 → バリア下のストレージI/O → 監査ログ出力、という経路をたどります。スループット上限は最も遅い段階で決まります。

典型的な律速要素は次の通りです。暗号処理(TransitやPKIの署名/暗号化)、ストレージのfsync遅延(RaftやConsulへの書き込み)、監査デバイスのI/O(auditは同期書き込み)、外部クラウドAPIの応答待ち(AWS/GCP/DB動的クレデンシャル)、ネットワーク遅延(LBやリージョン間)です。OSSのスタンバイは多くの操作をアクティブに転送するため、読取りの拡張性は限定的です。

  • CPUバウンド: Transit/PKIはCPUコア数と命令セット(AES-NI等)の恩恵を強く受ける
  • I/Oバウンド: 監査ログの遅延は即スループット低下に直結(同期書き込み)
  • 外部依存: 動的シークレットは先方APIのレート制限・遅延が支配的になりやすい

ストレージ選択とレプリケーションの上限感

ストレージとレプリケーション設計は、上限とスループットの“伸びしろ”を左右します。Integrated Storage(Raft)は外部依存がなく、一貫性の高い性能を得やすい一方、fsyncの遅延が直撃します。Consulストレージは成熟した選択肢ですが、ネットワークとConsulクラスタの調律がVaultのレイテンシに反映されます。

Vault EnterpriseのPerformance Replicationはグローバルに読み取りレイテンシを下げる主要手段です(書き込みはプライマリに集約)。DR Replicationはフェイルオーバー目的で、通常の読み取り分散には使いません。Raft/Consulいずれも推奨の投票ノード数は3〜5で、過剰な多数による合意コスト増は避けます。

  • ディスクは低レイテンシなローカルSSDを基本線に(fsyncの安定化)
  • 監査デバイスはアプリデータと分離し、書き込み待ちで本体が詰まらない構成に
  • リージョン間で“書き込みを増やして伸ばす”のは非現実的。読む場所を増やす(Performance Replication)発想が安全
方式/機能特徴スループット/レイテンシ観点運用上の注意
Integrated Storage (Raft)外部依存なし。Raft合意で一貫性確保fsync遅延がボトルネックになりやすい。CPUは相対的に余裕投票ノードは3〜5推奨。安定したローカルストレージを用意
Consul ストレージ実績豊富。Consul側の健全性に依存ネットワーク/Consulの書き込みパスがレイテンシを左右VaultとConsulのトポロジを近接配置。WAN越しは避ける
Performance Replication(Enterprise)セカンダリで読み取り可能。グローバルに低遅延読み取りの水平スケールに有効。書き込みはプライマリ集中ACL/ポリシー/マウント整合性に留意。書き込みは経路設計が必要
DR Replication(Enterprise)災害対策。通常時は待機平時のスループット改善は目的外フェイルオーバー手順と復帰手順の訓練が重要

リクエストレート、クォータ、バックプレッシャ

Vaultは既定では受けたリクエストを可能な限り速く処理します。突発的なバーストや誤設定により、CPUや監査I/Oが飽和するとテールレイテンシが悪化します。制御手段として、EnterpriseにはRate Limit QuotasとLease Count Quotas(/sys/quotas)があります。これらはパスやネームスペース単位でレートや総リース数を抑制し、意図しない増加を防ぎます。

OSSの場合は、リバースプロキシでのレート制限、クライアント側の指数バックオフ、TransitのバッチAPI活用など、周辺でのバックプレッシャ設計が要点になります。トークン/リース更新の嵐(renew storm)を避けるため、TTLの設計(default/max)とperiodicトークンの活用も効果的です。

  • Enterprise: /sys/quotas/rate-limit でレートを、/sys/quotas/lease-count で総リース数を制限
  • OSS: LBでのレート制限と、Transitのbatch_inputでの同時処理最適化
  • Renew trafficは控えめに。長すぎるTTLはセキュリティ低下、短すぎるTTLは更新過多のトレードオフ

エンジン/認証方式ごとのスループット特性

KV v2はバージョニングによりメタデータ更新が加わるため、ライト集中ワークロードではmax_versionsの調整や定期的なコンパクション/削除計画が必要です。読み取り中心ならキャッシュ(アプリ側)とTTLの設計が効きます。

Transitは計算中心のためCPUコア数と暗号アルゴリズム選択が支配的です。楕円曲線(例: ECDSA/Ed25519)はRSAより高速になりやすく、batch_inputでの一括処理がスループットを伸ばします。PKIはCAキーの種類と鍵長に比例して重くなります。動的シークレット(AWS/GCP/DB)は先方APIのレート制限/遅延が上限を決めるケースが多く、必要に応じてTTLを短くしてキャッシュを抑制するか、逆にTTLを延ばして発行頻度を下げるかを選びます。

  • Transit高速化: EC系キー採用 + batch_input活用 + 十分なCPUコア
  • KV v2: 版数と削除運用を明示。不要なバージョンをため込まない
  • 動的シークレット: 先方APIのレート制限を前提に、発行頻度をTTLでコントロール

ノード構成とスケールパターン

基本形はアクティブ1 + スタンバイNです。OSSのスタンバイは多くの操作をアクティブに転送します。EnterpriseのPerformanceスタンバイは読み取りの多いワークロードをローカルでさばけるため、読む場所を増やしてスケールさせます。書き込みは引き続きアクティブ(プライマリ)に集約されます。

グローバル分散は、EnterpriseのPerformance Replicationで各リージョンにセカンダリを配置して読み取りを近づけるのが定石です。コンテナ配備では、実効コア数に合わせたGOMAXPROCS(Goランタイムのスレッド上限)調整や、LBのヘルスチェック/接続プーリングが実効スループットに響きます。

  • LBはアクティブ/スタンバイの昇格に即応できるヘルスチェックと最短TTLのDNSを
  • 監査ログは専用ディスク/デバイスに分離。ここが詰まると全体の処理速度が落ちる
  • ネットワークは低遅延・高PPSを優先(小さな応答を高頻度で返す特性のため)

典型的なEnterprise構成とスループット経路(読み取り分散)

writes/readsregional readsforwardaudit (sync)Performance Replication (Enterprise)Global ClientsLB (health + min DNS TTL)Primary: Active (Writes/Reads)Primary: Standby (Forward)Storage (Raft/Consul)Secondary: Perf Standby (Reads)

上限設定と安全なチューニング手順

TTLはdefault_lease_ttlとmax_lease_ttl(グローバルおよび各マウントのtune)で制御します。短すぎるTTLはrenewトラフィックを増やし、長すぎるTTLはセキュリティとリーク時の影響範囲を広げます。periodicトークンは定期更新で長寿命を実現できますが、max_ttlの上限は守られます。

監査は同期書き込みです。遅い監査デバイスやネットワークファイルシステムはスループット低下の原因になります。高速なローカルディスクやシステムロガーを選択し、OSのファイルディスクリプタ上限(ulimit)を十分に確保します。

HTTPボディサイズや同時接続の制限は、多くの場合LB/リバースプロキシ側の設定に依存します。Vaultの前段で制限を適切に設け、クライアントのリトライ・バックオフを組み合わせて全体最適を図ります。

  • 変更は段階適用 → 可観測性で確認(メトリクス/ログ/プロファイル)
  • Transitの負荷試験はbatch_inputを使い現実的な1リクエスト多件処理を再現
  • 障害注入(遅い監査/ストレージ)でボトルネックの当たりを付けてから増設

実務で使う最小構成例(Raft + TTL調整 + 監査 + Telemetry)とEnterprise Quotas/Transitバッチの例

# vault.hcl (抜粋)
listener "tcp" {
  address     = "0.0.0.0:8200"
  tls_disable = 0
  # 既定のTLS終端。LBと責務を分ける場合は相応に調整
}

storage "raft" {
  path = "/opt/vault/data"
  node_id = "vault-1"
}

api_addr     = "https://vault.example.com:8200"
cluster_addr = "https://10.0.0.10:8201"

# TTLはグローバル既定。個別マウントで上書き可能
default_lease_ttl = "1h"
max_lease_ttl     = "24h"

# 監査(ローカル高速ディスク推奨)
audit "file" {
  path = "/var/log/vault/audit.log"
  log_raw = true
}

# Telemetry(Prometheusスクレイプ)
telemetry {
  prometheus_retention_time = "24h"
}

# --- Enterprise: Quotas の例(CLI) ---
# レート制限(秒間100リクエスト、対象パスprefix)
# vault write sys/quotas/rate-limit/myrl rate=100 path_prefix="transit/"

# リース数上限(最大10万)
# vault write sys/quotas/lease-count/myleasecount max_leases=100000

# --- Transit: batch_input 例(1リクエストで複数暗号化) ---
# curl --header "X-Vault-Token: $TOKEN" \
#      --request POST \
#      --data '{"batch_input": [{"plaintext":"aGVsbG8="},{"plaintext":"d29ybGQ="}]}' \
#      https://vault.example.com/v1/transit/encrypt/mykey

問題で確認

Ops

問題 1

グローバルに分散したアプリケーションがKVの読み取りを大量に行っており、プライマリリージョンへの往復遅延がボトルネックです。書き込み経路は変更せず、各地域の読み取りレイテンシを下げる最も適切な選択はどれですか。(Enterprise前提)

  1. Performance Replicationを有効化し、各リージョンのセカンダリで読み取りを処理する
  2. DR Replicationを有効化し、平常時の読み取りをDRクラスターに切り替える
  3. プライマリのスタンバイ台数のみを増やし、LBで配分する
  4. max_lease_ttlを大きくしてリクエスト回数を減らす

正解: A

Performance Replicationはセカンダリでの読み取り提供によりグローバル読み取りのレイテンシを低減します。DR Replicationは災害対策であり、平常時の読み取り分散は目的外です。スタンバイ増設はOSSでは転送が主で効果が限定的、TTL延長はセキュリティ上のトレードオフを生むだけで往復遅延の根本解決になりません。

よくある質問

HSMオートアンシールは平常時のスループットに影響しますか?

通常は影響しません。HSMは起動/アンシール時にマスターキーの保護・復号に関与し、平常時のデータ暗号化/復号はメモリ上のデータキーで行われます。

監査デバイスを増やせばスループットは上がりますか?

監査は有効な全デバイスに同期書き込みするため、単純に数を増やすと遅くなることがあります。高速な単一デバイス(ローカルSSDや適切に調整されたシステムロガー)を用い、I/O待ちが発生しない構成にするのが先決です。

スタンバイは何台から始めるべきですか?

一般的には2〜3台から開始し、監視メトリクス(/v1/sys/metrics?format=prometheus)でリクエストレイテンシ・エラー率・監査I/O待ちを観測して段階的に増やします。EnterpriseのPerformanceスタンバイは読み取りの多い環境で特に有効です。

この記事で学んだ内容を問題で確認しましょう

16,000問以上の問題で実力チェック

無料で問題を解いてみる
この記事の著者

NicheeLab編集部

データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。


関連記事
Vault

Vault のコア概念を最短距離で理解する:Secret / Auth / Policy / Token

HashiCorp Vault Associate レベルで押さえるべきコア概念(Secret Engine、Auth ...

Vault

Vault Operations Professional: 上位資格としての範囲を実務目線で押さえる

HashiCorp Vault Operations Professional(Ops Pro)の出題範囲を、Assoc...

Vault

Vaultにおけるパスベースのルーティング: マウントとAPI構造を読み解く

HashiCorp Vaultのパスベースのルーティングを、マウント設計とAPIパスの観点から整理。Associateレ...

Vault

Vault Tokens の基礎: 認証の起点となる概念

HashiCorp Vault におけるトークンの役割、種類、ライフサイクル、ポリシー連携、設計パターンをAssocia...

Vault

Vault のトークン種類を正しく使い分ける: service / batch 実践

HashiCorp Vault Associate 向けの試験対策と実務運用を両立させた、service トークンと b...

Vaultの記事一覧 (100件)
© 2026 NicheeLab All rights reserved.