エッジAI運用ガイド
エッジAIデバイスを安定稼働させるための運用ノウハウ。リモート管理、監視、セキュリティ、バックアップまで網羅。
OS・初期設定
Raspberry Pi OS Lite(64bit)
GUI不要の軽量OS。AI推論用途にはメモリ節約のためLite版を推奨。Raspberry Pi Imagerで簡単にSDカードに書き込み。
JetPack SDK(Jetson向け)
NVIDIAの公式SDK。CUDA、cuDNN、TensorRTがプリインストール。Orin NanoはNVMe SSDにフラッシュ(旧Jetson NanoはmicroSD)。
初期セキュリティ設定
デフォルトユーザー名の変更、SSH鍵認証の設定、不要ポートの閉鎖。初回起動直後に必ず実施。
ホスト名・タイムゾーン設定
複数台管理のためにホスト名を統一ルールで命名(例: edge-cam-01)。NTPで時刻同期を設定。
リモートアクセス・管理
SSH(鍵認証)
パスワード認証を無効化し、公開鍵認証のみに設定。~/.ssh/configで複数台を効率的に管理。
VNC / リモートデスクトップ
GUIが必要な場合に使用。RealVNCやNoMachineが軽量でおすすめ。AI推論の可視化デバッグに便利。
Tailscale / WireGuard
VPN経由で安全にリモートアクセス。NATやファイアウォールの背後にあるデバイスにも到達可能。
Ansible / Fabric
複数台のエッジデバイスに一括でコマンド実行・設定変更。モデル更新や設定変更を自動化。
監視・アラート
Prometheus + Grafana
CPU/GPU温度、メモリ使用率、推論レイテンシをダッシュボードで可視化。アラートルールで閾値超過を通知。
node_exporter(ハードウェア監視)
CPU使用率、ディスクI/O、ネットワーク帯域をPrometheusに送信。エッジデバイスの健全性を常時監視。
jtop(Jetson専用)
GPU使用率、消費電力、温度をリアルタイム表示。Jetsonの性能チューニングに必須のツール。
Slack / Teams通知
異常検知時にWebhookでチャットに通知。「温度80℃超過」「推論FPS低下」などのアラートを自動送信。
モデル更新・CI/CD
OTA(Over-The-Air)更新
ネットワーク経由でAIモデルを差し替え。SWUpdate、Mender、バレナ(Balena)などのOTAフレームワークが利用可能。
Docker / コンテナ運用
AIモデルと依存関係をコンテナに封じ込め。ロールバックも容易。JetsonはNVIDIA Container Toolkitで GPU対応。
GitHub Actions + rsync
モデル学習→変換→テスト→デプロイを自動化。rsyncやsshでエッジデバイスにモデルファイルを配信。
A/Bテスト
新旧モデルを並行稼働し精度を比較。問題があれば即座に旧モデルへロールバック。
セキュリティ対策
ファイアウォール(ufw)
SSH(22番)と必要な通信ポートのみ開放。不要なサービスは停止。定期的にポートスキャンで確認。
自動セキュリティアップデート
unattended-upgradesを有効化し、セキュリティパッチを自動適用。再起動が必要な場合のみ手動対応。
ディスク暗号化
LUKS暗号化でデバイス盗難時のデータ漏洩を防止。特にカメラ映像や個人データを扱う場合に必須。
fail2ban
SSHブルートフォース攻撃を自動ブロック。ログイン失敗が一定回数を超えたIPを自動的にBANする。
バックアップ・復旧
SDカード / SSDのフルバックアップ
dd + gzipでディスクイメージを取得。障害時に別のSDカードに書き込むだけで即復旧可能。
設定ファイルのGit管理
/etcの設定ファイルをGitで版管理。etckeeper を導入すると自動的にコミットされる。
クラウドへの定期バックアップ
推論結果ログやモデルファイルをS3 / GCS / rcloneでクラウドに定期同期。ローカルストレージ障害への備え。
復旧手順書の整備
障害時の復旧手順をMarkdownで文書化。新しいSDカード→イメージ書き込み→ネットワーク設定→サービス起動の手順を明確に。
環境対策
温度管理
動作温度範囲はデバイスにより異なる(Pi 5: 0〜60℃、Jetson Orin Nano: -25〜80℃)。高温環境では冷却強化、低温環境では結露対策が必要。
防塵・防水(IP等級)
粉塵が多い工場にはIP54以上、屋外にはIP65以上のケースを選択。ケーブル引き込み部のシールも重要。
振動・衝撃対策
車載や建設機械搭載時はゴムマウントで振動を吸収。コネクタのロック機構も確認。
電磁ノイズ対策
モーターやインバーターの近くではシールドケーブルとフェライトコアを使用。誤動作を防止。
プロセス管理・自動起動
systemdサービス
AI推論プロセスをsystemdに登録し、OS起動時に自動開始。再起動ポリシー(Restart=always)で障害時も自動復旧。
PM2(Node.js/Python)
Node.jsやPythonの推論サーバーをPM2で管理。ログ管理、メモリ制限、自動再起動が簡単に設定可能。Node.jsではクラスタモードも利用可能。
watchdog(ハードウェア)
Raspberry Piのハードウェアウォッチドッグを有効化。OSがフリーズしても自動的にハードリセットがかかる。
crontab(定期タスク)
ログローテーション、ディスク容量チェック、死活監視スクリプトなどを定期実行。
エッジAI運用チェックリスト
本番稼働前に確認すべき項目です。