はじめに

開発サーバーの起動

開発モードでVaultを起動する
最終更新: 2026/2/17

開発サーバーの起動

Vaultの開発サーバーモードは、学習と検証のための簡易的な起動方法です。設定ファイル不要で、すぐにVaultを試すことができます。

本番環境での注意事項開発サーバーモード(vault server -dev)は本番環境では絶対に使用しないでください。
  • すべてのデータはメモリ上に保存され、再起動時に失われます
  • TLS/HTTPSが無効化されています
  • ルートトークンが自動的に生成され、コンソールに表示されます
  • 監査ログが無効化されています
  • シールされていない状態で起動します
本番環境では必ず適切な設定ファイルを使用してVaultを起動してください。

開発サーバーの起動

基本的な起動

vault server -dev

出力例:

==> Vault server configuration:

             Api Address: http://127.0.0.1:8200
                     Cgo: disabled
         Cluster Address: https://127.0.0.1:8201
              Go Version: go1.21.0
              Listener 1: tcp (addr: "127.0.0.1:8200", cluster address: "127.0.0.1:8201", max_request_duration: "1m30s", max_request_size: "33554432", tls: "disabled")
               Log Level: info
                   Mlock: supported: true, enabled: false
           Recovery Mode: false
                 Storage: inmem
                 Version: Vault v1.15.0
             Version Sha: 9d0b54730d4980c5c368f8f2cc9f5d5f1e5f5e5e

==> Vault server started! Log data will stream in below:

WARNING! dev mode is enabled! In this mode, Vault runs entirely in-memory
and starts unsealed with a single unseal key. The root token is already
authenticated to the CLI, so you can immediately begin using Vault.

You may need to set the following environment variable:

    $ export VAULT_ADDR='http://127.0.0.1:8200'

The unseal key and root token are displayed below in case you want to
seal/unseal the Vault or re-authenticate.

Unseal Key: lL8QEzFLhf5VvH8VqKJvKJvKJvKJvKJvKJvKJvKJvKJ=
Root Token: hvs.CAESIABcDeFgHiJkLmNoPqRsTuVwXyZ

Development mode should NOT be used in production installations!

重要な情報

開発サーバー起動時に表示される情報:

項目説明用途
VAULT_ADDRVaultサーバーのURL環境変数に設定
Unseal Keyアンシールキー開発モードでは不要
Root Tokenルートトークン認証に使用

環境変数の設定

Linux/macOS

新しいターミナルを開いて:

# Vaultサーバーのアドレスを設定
export VAULT_ADDR='http://127.0.0.1:8200'

# ルートトークンを設定(起動時に表示されたトークンを使用)
export VAULT_TOKEN='hvs.CAESIABcDeFgHiJkLmNoPqRsTuVwXyZ'

Windows(PowerShell)

# Vaultサーバーのアドレスを設定
$env:VAULT_ADDR = "http://127.0.0.1:8200"

# ルートトークンを設定
$env:VAULT_TOKEN = "hvs.CAESIABcDeFgHiJkLmNoPqRsTuVwXyZ"

接続の確認

ステータス確認

vault status

出力例:

Key             Value
---             -----
Seal Type       shamir
Initialized     true
Sealed          false
Total Shares    1
Threshold       1
Version         1.15.0
Storage Type    inmem
Cluster Name    vault-cluster-abc123
Cluster ID      12345678-1234-1234-1234-123456789abc
HA Enabled      false

重要なフィールド:

  • Sealed: false(アンシール状態)
  • Initialized: true(初期化済み)

認証の確認

# 現在のトークン情報を表示
vault token lookup

出力例:

Key                 Value
---                 -----
accessor            abc123def456
creation_time       1704067200
creation_ttl        0s
display_name        root
entity_id           n/a
expire_time         <nil>
explicit_max_ttl    0s
id                  hvs.CAESIABcDeFgHiJkLmNoPqRsTuVwXyZ
meta                <nil>
num_uses            0
orphan              true
path                auth/token/root
policies            [root]
ttl                 0s
type                service

開発サーバーのオプション

カスタムポートで起動

# ポート9200で起動
vault server -dev -dev-listen-address="127.0.0.1:9200"

環境変数も変更:

export VAULT_ADDR='http://127.0.0.1:9200'

カスタムルートトークンで起動

# 指定したルートトークンで起動
vault server -dev -dev-root-token-id="myroot"

環境変数の設定:

export VAULT_TOKEN='myroot'

初期データを投入して起動

# 初期データを含むファイルを指定
vault server -dev -dev-plugin-dir=./plugins

Web UIへのアクセス

UIの起動

ブラウザで以下のURLにアクセス:

http://127.0.0.1:8200/ui

ログイン

  1. Method: Tokenを選択
  2. Token: 起動時に表示されたRoot Tokenを入力
  3. Sign Inをクリック

UIの主要機能

セクション説明
Secretsシークレットの管理
Access認証方法とポリシーの管理
Policiesポリシーの作成と編集
Toolsユーティリティツール

開発サーバーの停止

正常な停止

開発サーバーを起動したターミナルで:

# Ctrl+C を押す
^C
==> Vault shutdown triggered

強制停止

# プロセスIDを確認
ps aux | grep vault

# プロセスを終了
kill <PID>

開発サーバーの特徴

メリット

即座に使用可能

  • 設定ファイル不要
  • 自動的に初期化とアンシール
  • ルートトークンが自動生成

学習に最適

  • シンプルな起動方法
  • すぐに機能を試せる
  • エラーが少ない

開発効率

  • 再起動が高速
  • データのクリーンアップが容易

デメリット

データの永続性なし

  • メモリ上にのみ保存
  • 再起動でデータが消失

セキュリティ機能の無効化

  • TLS/HTTPS無効
  • 監査ログ無効
  • シール機能無効

本番環境に不適

  • 高可用性なし
  • パフォーマンス最適化なし

開発ワークフロー

典型的な開発フロー

# 1. 開発サーバーを起動
vault server -dev -dev-root-token-id="myroot"

# 2. 新しいターミナルで環境変数を設定
export VAULT_ADDR='http://127.0.0.1:8200'
export VAULT_TOKEN='myroot'

# 3. 機能を試す
vault kv put secret/myapp/config username=admin password=secret

# 4. 動作確認
vault kv get secret/myapp/config

# 5. 開発サーバーを停止(Ctrl+C)

# 6. 必要に応じて再起動(データはリセットされる)
vault server -dev -dev-root-token-id="myroot"

トラブルシューティング

ポートが既に使用されている

エラー:

Error initializing listener of type tcp: listen tcp 127.0.0.1:8200: bind: address already in use

解決策:

# 使用中のプロセスを確認
lsof -i :8200

# プロセスを終了
kill <PID>

# または別のポートで起動
vault server -dev -dev-listen-address="127.0.0.1:9200"

環境変数が設定されていない

エラー:

Error checking seal status: Get "https://127.0.0.1:8200/v1/sys/seal-status": http: server gave HTTP response to HTTPS client

解決策:

# VAULT_ADDRを確認
echo $VAULT_ADDR

# 正しく設定
export VAULT_ADDR='http://127.0.0.1:8200'

トークンが無効

エラー:

Error making API request.
Code: 403. Errors:
* permission denied

解決策:

# トークンを確認
echo $VAULT_TOKEN

# 正しいトークンを設定
export VAULT_TOKEN='hvs.CAESIABcDeFgHiJkLmNoPqRsTuVwXyZ'

# またはログイン
vault login <token>

次のステップ

開発サーバーが起動したら、最初のシークレットでVaultの基本操作を学びましょう。

開発サーバーの使い分け開発サーバーは学習と検証に最適です。本番環境への展開を検討する際は、本番環境のハードニングを参照してください。
© 2026 IBM Corporation. Licensed under CC BY 4.0.