Skip to Content
아키텍처엣지 디바이스 및 에이전트

엣지 디바이스 및 에이전트

엣지 디바이스는 IronFlock의 기본 실행 노드입니다. 각 디바이스는 Linux 지원 머신 — 산업용 PC, Raspberry Pi, NVIDIA Jetson, 게이트웨이, 또는 Linux 커널이 있는 모든 하드웨어 — 으로, IronFlock 에이전트와 하나 이상의 Docker 컨테이너화된 애플리케이션을 실행합니다.

IronFlock 에이전트

에이전트는 디바이스에서 실행되는 경량 Go 바이너리로 다음을 처리합니다:

  • 컨테이너 관리 — 설치된 모든 앱의 Docker 컨테이너를 시작, 중지, 모니터링
  • WAMP 연결 — 중앙 메시지 브로커에 대한 지속적이고 암호화된 WebSocket 연결 유지
  • OTA 업데이트 — 에이전트 자체, 호스트 OS, 설치된 애플리케이션에 대한 업데이트 수신 및 적용
  • 터널링 — 리버스 프록시 터널을 통해 디바이스 서비스(HTTP, SSH, VNC, TCP, UDP)에 대한 보안 원격 접근 제공 — 포트 개방 불필요
  • 네트워크 관리 — 디바이스의 Wi-Fi, LAN, LTE 연결 구성

에이전트는 호스트 OS에서 직접 실행되는 유일한 IronFlock 컴포넌트입니다. 그 외 모든 것은 Docker 컨테이너 내에서 실행됩니다.

자율 운영

엣지 디바이스는 중앙 서비스와 독립적으로 운영되도록 설계되었습니다. 네트워크 연결이 끊기면:

  • 앱이 계속 실행됩니다 — 모든 컨테이너화된 애플리케이션이 정상적으로 계속 운영됩니다
  • 앱이 데이터를 버퍼링할 수 있습니다 — 텔레메트리가 로컬에 큐잉되어 연결이 복원되면 FleetDB로 전달됩니다

이 자율성은 근본적인 설계 선택입니다. 산업 환경에서 네트워크 신뢰성을 보장할 수 없으며, 엣지 애플리케이션은 핵심 운영을 위해 클라우드 연결에 의존해서는 안 됩니다.

디바이스에서 실행되는 것

┌─────────────────────────────────────────┐ │ Linux 호스트 OS │ │ │ │ ┌─────────────────────────────────┐ │ │ │ IronFlock 에이전트 │ │ │ │ (연결성, OTA, 터널링) │ │ │ └────────────┬────────────────────┘ │ │ │ │ │ ┌────────────┴────────────────────┐ │ │ │ Docker 런타임 │ │ │ │ │ │ │ │ ┌─────────┐ ┌─────────┐ │ │ │ │ │ 앱 A │ │ 앱 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