Skip to Content
アーキテクチャEdge Devices & Agent

エッジデバイス&エージェント

エッジデバイスはIronFlockの主要な実行ノードです。各デバイスはLinux対応マシン — 産業用PC、Raspberry Pi、NVIDIA Jetson、ゲートウェイ、またはLinuxカーネルを持つ任意のハードウェア — であり、IronFlockエージェントと1つ以上のDocker コンテナ化されたアプリケーションを実行します。

IronFlockエージェント

エージェントはデバイス上で動作する軽量なGoバイナリで、以下を処理します:

  • コンテナ管理 — インストールされたすべてのアプリのDockerコンテナを起動、停止、監視
  • WAMP接続 — 中央メッセージブローカーへの永続的な暗号化WebSocket接続を維持
  • OTAアップデート — エージェント自体、ホストOS、インストールされたアプリケーションのアップデートを受信・適用
  • トンネリング — リバースプロキシトンネルを通じてデバイスサービス(HTTP、SSH、VNC、TCP、UDP)への安全なリモートアクセスを提供 — オープンポート不要
  • ネットワーク管理 — デバイス上のWi-Fi、LAN、LTE接続を設定

エージェントはホストOS上で直接動作する唯一のIronFlockコンポーネントです。それ以外はすべてDockerコンテナ内で動作します。

自律動作

エッジデバイスは中央サービスから独立して動作するように設計されています。ネットワーク接続が切断された場合:

  • アプリは動作を継続 — すべてのコンテナ化されたアプリケーションは正常に動作し続けます
  • アプリはデータをバッファリング可能 — テレメトリはローカルにキューイングされ、接続が復旧するとFleetDBに転送されます

この自律性は基本的な設計上の選択です。産業環境ではネットワークの信頼性を保証できず、エッジアプリケーションはコア動作においてクラウド接続に依存してはなりません。

デバイス上で動作するもの

┌─────────────────────────────────────────┐ │ Linux Host OS │ │ │ │ ┌─────────────────────────────────┐ │ │ │ IronFlock Agent │ │ │ │ (接続、OTA、トンネリング) │ │ │ └────────────┬────────────────────┘ │ │ │ │ │ ┌────────────┴────────────────────┐ │ │ │ Docker Runtime │ │ │ │ │ │ │ │ ┌─────────┐ ┌─────────┐ │ │ │ │ │ App A │ │ App B │ ... │ │ │ │ │ (OPC UA │ │ (カスタム│ │ │ │ │ │ リーダー)│ │ ロジック)│ │ │ │ │ └─────────┘ └─────────┘ │ │ │ └─────────────────────────────────┘ │ └─────────────────────────────────────────┘ │ (アウトバウンドWSSのみ) WAMP メッセージブローカー

各アプリは独自の依存関係を持つ独自のコンテナで動作します。アプリはPython、Go、Rust、Node.js、C++、またはDockerコンテナで動作する任意の言語で作成できます。

サポートされるハードウェア

IronFlockはDocker対応の任意のLinuxデバイスをサポートします:

プラットフォームアーキテクチャ
産業用PCx86_64Beckhoff、Advantech、Kontron、Dell Edge
シングルボードコンピュータARM64、ARMv7Raspberry Pi 4/5、BeagleBone
AIアクセラレータARM64NVIDIA Jetson Nano、Orin、Xavier
ゲートウェイARM64、x86_64Teltonika、Moxa、Advantech
カスタムハードウェアARM (v5、v6、v7)、ARM64、x86_64Docker対応の任意のLinuxデバイス

デバイスプロビジョニング

デバイスはいくつかの方法でIronFlockに追加できます:

  1. FlockFlasherでフラッシュ — FlockFlasherデスクトップアプリを使用して、デバイスのストレージにIronFlock OSを書き込みます。デバイスは事前設定されたエージェントで起動し、自動的に接続します。
  2. エージェントをインストール — 既存のLinuxシステムにエージェントバイナリをインストールし、デバイス認証情報を含む設定ファイル(.flockファイル)を提供します。
  3. OEM事前登録 — デバイスのシリアル番号を事前に登録します。デバイスの電源が入り接続すると、正しいプロジェクトに自動的に割り当てられます。

通信モデル

デフォルトでは、エッジデバイスはアウトバウンド接続のみを行います。エージェントは暗号化されたWebSocket(WSS)でWAMPメッセージブローカーに接続し、どのポートでもリッスンする必要はありません。これは以下を意味します:

  • デフォルトではデバイスまたはそのネットワークにインバウンドファイアウォールルールは不要
  • デバイスはインターネットから検出またはアドレス指定不可
  • リモートアクセスはリバーストンネルを通じて提供 — オペレーターではなくデバイスが開始

ただし、デバイスポートは必要に応じて選択的に開くことができます — たとえば、デバイス上で動作するローカルHMI、REST API、その他のサービスを公開するためです。ポートアクセスはIronFlock UIを通じて設定・管理されます。

セキュリティアーキテクチャの全体についてはセキュリティを参照してください。

Last updated on