Skip to Content

엣지 디바이스

엣지 디바이스 추가

추가 엣지 디바이스(즉, 산업용 PC)를 사용하면 더 많은 기계에 IronFlock 앱을 배포하고 어플라이언스의 앱 운영 부하를 분산시킬 수 있습니다. 어플라이언스 자체도 이미 엣지 디바이스로 동작하지만, IronFlock 클라우드에서 엣지 디바이스를 배포하는 것과 동일한 방식으로 더 많은 엣지 디바이스를 연결할 수 있습니다. Project Settings -> Devices -> New Device로 이동하여 안내를 따르십시오.

디바이스 에이전트 업데이트

어플라이언스에 연결된 엣지 디바이스는 IronFlock 디바이스 에이전트의 업데이트를 어플라이언스 자체에서 받습니다. 디바이스는 instance-registry.ironflock.com에 접속하지 않으며, 업데이트를 위해 인터넷 접근이 필요하지 않습니다:

  • 단순 모드(IP): http://<appliance-host>:15002/dl — 디바이스가 레지스트리 토큰에 이미 사용하는 것과 같은 포트입니다.
  • 도메인/TLS 모드: https://registry.<appliance-domain>/dl(포트 443).

어플라이언스는 에이전트 바이너리의 로컬 미러를 유지하며, 이를 https://instance-registry.ironflock.com(이미 방화벽 허용 목록에 포함됨)에서 6시간마다 갱신합니다. 설정 → 라이선스/어플라이언스 → 디바이스 에이전트 업데이트 → 지금 동기화에서 수동으로 갱신할 수도 있습니다. 어플라이언스의 미러는 IronFlock 클라우드에서도 갱신할 수 있습니다. 인스턴스를 열 필요도, 어플라이언스 자체에 로그인할 필요도 없습니다. 클라우드 Studio에서 Profile → Instances로 이동하면 소유한 모든 어플라이언스에 디바이스 에이전트 업데이트 열이 있어, 해당 미러가 현재 디바이스에 제공하는 에이전트 버전(그 아래에 디바이스 설치 프로그램 버전)이 표시되며 같은 칸에서 지금 동기화를 실행할 수 있습니다. 미러는 클라우드의 릴리스 매니페스트를 따릅니다. 클라우드 매니페스트가 현재 참조하는 모든 에이전트 버전이 모든 Linux 대상과 Windows에 대해 보관되며, 각 버전은 어플라이언스에 완전히 갖춰진 뒤에야 디바이스에 제공됩니다. 클라우드가 게시한 버전이 어플라이언스에 아직 완전히 갖춰지지 않았다면 디바이스에는 계속 이전 버전이 보입니다.

에이전트는 서명된 트리 <base>/device-agent/(서명된 manifest.json과 .sig 서명이 붙은 바이너리)에서 다운로드하고, 적용하기 전에 모든 업데이트를 검증하며, 새 버전이 시작되지 않으면 자동으로 롤백합니다. 업데이트는 에이전트가 시작될 때 또는 사용자가 Studio에서 업데이트를 시작할 때만 적용됩니다.

디바이스는 업데이트 위치를 .flock 파일(update_url)에서 얻으며, 에이전트 버전 0.21.2부터는 매 하트비트마다 어플라이언스로부터도 받습니다. 따라서 어플라이언스 IP가 바뀌거나 도메인 모드로 전환하면 디바이스에 자동으로 전파됩니다.

이 기능 이전에 프로비저닝된 디바이스가 아직 이전 버전의 에이전트를 실행 중이라면 .flock 파일을 한 번 다시 다운로드해야 합니다. Windows의 경우: 서비스를 중지하고(device-agent.exe service stop), %ProgramData%\IronFlock\DeviceAgent\device.flock을 새 파일(BOM 없이 저장)로 교체한 다음 서비스를 다시 시작하세요(device-agent.exe service start). 에이전트 1.4.0 이전에 설치된 디바이스에서는 폴더가 %ProgramData%\IronFlock\Reagent입니다.

인터넷에 접근할 수 없는 디바이스 등록

어플라이언스는 디바이스 설치 프로그램(ironflock-init)과 그 설치 스크립트도 미러링하므로, 어플라이언스에만 접근할 수 있는 새 엣지 디바이스도 등록할 수 있습니다. 프로젝트 설정 → 디바이스 → 새 디바이스에 표시되는 명령은 이미 어플라이언스를 가리킵니다 — 단순 모드(IP)에서는 http://<appliance-host>:15002/dl/..., 도메인 모드에서는 https://registry.<appliance-domain>/dl/...입니다.

  • Linux: 한 줄 명령은 curl -fsSL <base>/device-init/install.sh | sudo IRONFLOCK_DL_BASE=<base> bash -s -- -c <file>.flock 형태입니다. 먼저 디바이스의 .flock 파일을 디바이스로 복사해 두세요. ironflock-init은 다운로드 기준 주소를 .flock 파일에서 가져오며, --download-base로 재정의할 수 있습니다.
  • Windows: <base>/device-agent/windows/amd64/latest/device-agent.exe에서 device-agent.exe를 다운로드하고 디바이스 연결에 설명된 대로 서비스를 설치합니다.

인터넷에 접근할 수 없는 디바이스의 전제 조건: Docker(Engine + Compose 플러그인)와 기본 패키지가 이미 설치되어 있어야 합니다. 어플라이언스는 IronFlock 자체 바이너리만 미러링하며 배포판 패키지는 미러링하지 않습니다 — ironflock-init은 Docker가 없을 때만 get.docker.com에 접근을 시도합니다.

설치 프로그램 저장소는 에이전트 미러와 함께 갱신됩니다 — 같은 6시간 주기이며, 같은 지금 동기화 버튼을 사용합니다.

Last updated on