アップグレード・メンテナンス手順書
バージョンアップの概要
AegisMesh は、セキュリティ脆弱性の修正、パフォーマンス向上、および新機能(UTMRAW IP転送の強化、新OS対応など)を定期的にリリースしています。
管理画面の左下に 「New version available」 の通知が表示された場合、本手順書に従ってコントロールプレーンおよびクライアントのアップデートを実施してください。
コントロールプレーン(サーバー基盤)の更新手順
AegisMesh は Docker コンテナアーキテクチャを採用しており、ダウンタイムを最小限(通常数秒〜十数秒)に抑えたインプレース更新が可能です。
sequenceDiagram
autonumber
actor Admin as システム管理者
participant Srv as サーバー (Docker Host)
participant DB as データベース (PostgreSQL / SQLite)
participant Reg as コンテナレジストリ
Admin->>DB: 1. 事前バックアップ取得 (pg_dump / cp)
Admin->>Reg: 2. docker compose pull
Reg-->>Srv: 最新イメージ取得
Admin->>Srv: 3. docker compose up -d
Srv->>DB: 4. 自動スキーママイグレーション実行
DB-->>Srv: マイグレーション完了
Srv-->>Admin: サービス正常稼働確認
1. 更新前のデータベースバックアップ(必須)
バージョンアップ前に、必ずデータベースのバックアップを取得してください。
- SQLite を使用している場合:
Terminal window # SQLite データディレクトリのバックアップsudo cp -r /var/lib/aegismesh/management.db /var/lib/aegismesh/management.db.bak_$(date +%Y%m%d) - PostgreSQL / Neon Serverless を使用している場合:
Terminal window # pg_dump によるダンプ取得pg_dump -h $DB_HOST -U $DB_USER -d aegismesh -F c -b -v -f aegismesh_backup_$(date +%Y%m%d).dump
2. コンテナイメージの更新と再起動
Docker Compose ディレクトリに移動し、イメージの取得とコンテナの再生成を実行します。
cd /opt/aegismesh
# 1. 最新のコンテナイメージをプルdocker compose pull
# 2. コンテナをバックグラウンドで再作成・起動docker compose up -d --remove-orphans
# 3. 起動ログの確認docker compose logs -f management3. 自動データベースマイグレーションの挙動
AegisMesh Management サーバーは起動時にデータベースのスキーマバージョンを自動検知します。
- スキーマ差分が存在する場合、自動的にマイグレーションSQLが安全に適用されます。
- ログに
Database migration completed successfullyと出力されれば更新成功です。
4. ロールバック手順
万が一、更新後に予期せぬ動作が発生した場合は、docker-compose.yml 内のイメージタグを直前のバージョン(例: v0.82.0-1)に固定して元に戻すことが可能です:
# 例: 直前の安定版タグに固定して戻す場合services: management: image: aegismesh/management:v0.82.0-1docker compose up -dAegisMesh クライアントの更新
1. 各 OS 別アップデート方式マトリクス
AegisMesh クライアントのアップデート仕様は、OS ごとのセキュリティモデルおよびパッケージ管理方式に基づき以下のように定義されています。
| 対象 OS | 自動アップデート (Auto Update) | 推奨アップデート手順 | 備考 |
|---|---|---|---|
| Windows (10/11/Server) | ✅ 対応 | バックグラウンド自動更新 / インストーラー上書き | サービス権限でサイレント実行 (/S) |
| macOS (Intel/Apple Silicon) | ✅ 対応 | 公式 .pkg / LaunchDaemon 自動更新 | Homebrew 導入時は brew upgrade |
| Linux (deb/rpm/CLI) | ❌ 非対応 | apt update / dnf upgrade / install.sh | OS パッケージマネージャーの整合性を保護 |
| Android | ❌ 非対応 | 公式 LP より最新 APK ダウンロード・上書き | 最新版: v0.6.2-1 |
| iOS / iPadOS | ❌ 非対応 | App Store 公式 NetBird アプリ更新 | ※専用アプリ準備中 |
[!NOTE] Linux での自動アップデートが無効化されている理由:
Linux 環境では、クライアントデーモンによる自己バイナリ書き換えを行うと、ディストリビューションのパッケージマネージャー(APT, DNF, RPM, DPKG)が保持するチェックサムや依存関係台帳と不整合を起こすリスクがあります。サーバーやインフラ端末としての高い稼働安定性を維持するため、Linux 版ではソースコードレベル(//go:build windows || darwin)で自動アップデートコマンドを意図的に除外し、パッケージマネージャーまたは構成管理ツール(Ansible 等)経由での確実な更新を推奨しています。
2. 管理コンソールからの自動アップデート設定(Windows / macOS)
組織内の全端末を常に最新状態に保つため、ダッシュボードから自動更新ポリシーを一括有効化できます。
- ダッシュボードの 「Settings」>「Client Settings」 を開きます。
- 「Automatic Client Updates」 を
Enabledに設定します。 - 対象端末(Windows / macOS)が次回のハートビート通信時にバックグラウンドで最新バイナリを安全にダウンロードし、自動更新を適用します。
2. 各OSでの手動アップデートコマンド
Linux (Ubuntu / Debian / Raspberry Pi)
ワンラインインストーラーを再実行するか、パッケージマネージャーを使用します:
# ワンラインでの最新版上書き(推奨)curl -fsSL https://aegismesh.kusa-cloud.com/install.sh | sudo sh
# または APT を使用する場合sudo apt update && sudo apt install --only-upgrade aegismeshLinux (RHEL / Rocky / AlmaLinux / Fedora)
sudo dnf upgrade aegismeshmacOS (Apple Silicon / Intel)
# ワンラインでの最新版上書きcurl -fsSL https://aegismesh.kusa-cloud.com/install.sh | sudo sh
# Homebrew を使用している場合brew upgrade aegismeshWindows (10 / 11 / Server)
- 公式 LP(https://aegismesh.kusa-cloud.com/#download)から最新の
.exeインストーラーをダウンロードし、そのまま実行(上書きインストール)してください。 - 既存の設定(アカウント紐付け、認証情報、秘密鍵)はすべて保持されたままバイナリとサービスのみが更新されます。
- サイレントアップデート(情シスによる一斉配布時):
Terminal window aegismesh_windows_amd64_installer.exe /S