디바이스 연결
IronFlock은 하드웨어와 운영 체제에 따라 다양한 디바이스 연결 방법을 지원합니다. 아직 하드웨어가 없나요? 몇 분 만에 노트북에서 디바이스를 시뮬레이션해 볼 수 있습니다.
사전 요구사항
디바이스를 연결하기 전에 다음 사항을 준비하십시오:
- IronFlock에서 생성된 프로젝트
- 해당 프로젝트 내에 생성된 디바이스 항목(프로젝트 설정 → 디바이스 패널에서 새 디바이스 클릭)
- 다운로드된 디바이스 구성 파일(
.flock)
제한된 기업 네트워크의 디바이스인가요? 설치하기 전에 네트워크 구성을 계획하십시오 — 갓 설치한 디바이스가 오프라인 상태로 남는 가장 흔한 원인입니다:
- ID 인식 방화벽 또는 프록시: 디바이스를 허용하는 규칙은 로그인한 사용자가 아니라 반드시 디바이스 자체를 기준으로 설정해야 합니다 — 그렇지 않으면 해당 사용자의 세션이 만료될 때마다 디바이스가 네트워크에서 끊깁니다. ID 인식 방화벽 및 프록시를 참조하세요.
- 회사 HTTP 프록시: 에이전트와 Docker에 프록시를 명시적으로 알려 주어야 합니다 — 회사 프록시 환경 사용 → 엣지 디바이스를 참조하세요.
- 온프레미스 어플라이언스에 연결하는 경우: 디바이스가 어플라이언스의 서비스 포트에 직접 도달할 수 있어야 합니다 — 또는 어플라이언스가 회사 인증서를 사용하는 HTTPS로 실행 중이라면 포트
443만 필요하며, 이때 디바이스가 회사 루트 CA를 신뢰해야 합니다. 어플라이언스 가이드의 디바이스 연결을 참조하세요.- 시계 어긋남: 기업 방화벽은 갓 설치한 운영체제에 기본 설정된 공용 시간 서버를 대개 차단하므로 디바이스 시계가 조용히 어긋납니다 — 내부 NTP 서버를 설정하십시오. 시간 동기화 (NTP)를 참조하세요.
ID 인식 방화벽 및 프록시
모든 엣지 디바이스는 IronFlock 에이전트를 무인 시스템 서비스로 실행합니다. 에이전트는 부팅 시 시작되어 항상 연결을 유지하며, 디바이스에 누가 로그인해 있든 없든 계속해서 앱을 설치하고 이미지를 가져오며 스스로를 업데이트합니다. 이는 플랫폼이 IronFlock 클라우드, 프라이빗 클라우드, 온프레미스 어플라이언스 중 어디에서 실행되든 마찬가지입니다.
OT 네트워크는 점점 더 ID 인식 방화벽 및 프록시로 보호되고 있습니다. 이러한 장비는 네트워크 주소 대신 디렉터리 ID를 기준으로 접근을 허용합니다. 엣지 디바이스를 허용하는 규칙이 그 디바이스에 로그인한 사용자에 연결되어 있으면, 해당 사용자의 세션이 만료될 때마다 디바이스의 네트워크 접근이 끊깁니다:
- 이미 열려 있는 연결은 계속 동작하므로 디바이스는 여전히 온라인으로 표시됩니다.
- 모든 새 연결은 조용히 폐기됩니다 — 앱 설치, 이미지 가져오기, 에이전트 업데이트, 재연결이 실패합니다.
- 에이전트나 디바이스가 다음에 재시작된 뒤에는 전혀 재연결할 수 없으며, 누군가 디바이스에 다시 로그인하거나 규칙이 변경될 때까지 오프라인 상태로 남습니다.
네트워크 팀에 규칙을 사람이 아니라 디바이스를 기준으로 설정하도록 요청하십시오:
| 디바이스 | 규칙에 사용할 ID |
|---|---|
| 도메인에 가입된 Windows 디바이스 | 해당 디바이스의 컴퓨터 계정 — 컴퓨터 개체 또는 IronFlock Edge Devices 같은 그룹 |
| Linux 또는 FlockOS 디바이스, 또는 도메인에 가입되지 않은 Windows | 예약된 IP 주소를 가진 이름이 지정된 호스트 객체, 또는 네트워크 접근 제어(802.1X 또는 MAC 인증)가 할당하는 ID |
주요 제품별 적용 방법:
- Check Point Identity Awareness: Access Role에서 사용자 대신 머신(컴퓨터 개체 또는 그룹)을 선택하십시오. 머신 ID는 컴퓨터 자체의 도메인 활동으로 갱신됩니다. 게이트웨이에서 머신 ID가 만료될 수 있다면 대신 네트워크 객체를 사용하십시오.
- Palo Alto Networks User-ID: 컴퓨터 계정은 IP-사용자 매핑을 생성하지 않으므로, 주소 객체, 태그 또는 Device-ID를 사용하십시오.
- Fortinet FSSO 및 유사한 디렉터리 기반 방화벽: 디바이스에 대한 주소 객체, 또는 네트워크 접근 제어가 할당하는 동적 주소를 사용하십시오.
- Zscaler, Prisma Access 및 기타 클라우드 보안 게이트웨이: 디바이스 네트워크를 IoT 또는 서버 위치(신뢰할 수 있는 소스)로 등록하여, 디바이스 트래픽이 사용자가 아닌 위치로 식별되도록 하십시오.
이는 ID 정책의 예외가 아닙니다. 디바이스가 실제로 가진 ID로 디바이스를 식별하는 것입니다. 온프레미스 어플라이언스를 운영한다면 어플라이언스 호스트에도 똑같이 적용됩니다. IronFlock 호스트의 네트워크 ID를 참조하세요.
장애 식별하기. 디바이스가 온라인 상태를 유지하는데 앱 설치, 이미지 가져오기 또는 에이전트 업데이트가 타임아웃으로 실패하고 ping은 여전히 성공한다면, 원인은 디바이스가 아니라 만료된 ID 규칙에 있습니다. 디바이스에서 새 연결이 다시 성공할 때까지 에이전트나 디바이스를 재시작하지 마십시오. 아직 열려 있는 세션이 유일하게 동작하는 연결이며, 그동안 이 세션 덕분에 디바이스를 원격으로 계속 관리할 수 있습니다.
먼저 테스트하기: 노트북에서 디바이스 시뮬레이션
IronFlock을 살펴보는 데 물리적 하드웨어가 꼭 필요한 것은 아닙니다. FlockFlasher 앱은 IronFlock 에이전트를 노트북에서 직접 실행할 수 있으므로, 노트북이 프로젝트 내에서 실제 디바이스처럼 동작합니다 — 실제 하드웨어에 배포하기 전에 앱과 대시보드를 테스트하기에 안성맞춤입니다.
- Docker Desktop(Linux에서는 Docker Engine)을 설치하고 실행 중인지 확인합니다.
- 사용 중인 OS에 맞는 FlockFlasher 앱을 다운로드하여 설치합니다.
- 다운로드한 디바이스의
.flock파일을 더블 클릭합니다 — 파일이 FlockFlasher에서 열리고 디바이스가 목록에 표시됩니다. (또는 FlockFlasher를 열고 + 버튼으로 파일을 추가할 수도 있습니다.) - 디바이스 항목에서 Test Device(▶, 디바이스 테스트) 버튼을 클릭합니다. FlockFlasher가 처음 사용할 때 IronFlock 에이전트를 자동으로 다운로드하고 디바이스 구성으로 시작합니다.
이제 노트북이 IronFlock 프로젝트 내에서 이 디바이스 역할을 합니다. 온라인 상태로 표시되며, 실제 디바이스와 똑같이 앱을 설치하고 실행할 수 있습니다. 앱은 노트북에서 Docker 컨테이너로 실행됩니다.
테스트가 끝나면 FlockFlasher에서 테스트를 중지하십시오. 나중에 동일한 .flock 파일을 사용하여 실제 디바이스를 프로비저닝할 수 있습니다 — 단, 하나의 디바이스 구성은 한 번에 한 대의 머신에서만 실행해야 합니다.
방법 1: SD 카드 플래싱
SD 카드에서 부팅하는 Raspberry Pi 및 기타 ARM 디바이스에 적합합니다.
- 사용 중인 OS에 맞는 FlockFlasher 앱을 다운로드합니다.
- SD 카드(최소 16GB)를 컴퓨터에 삽입합니다.
- FlockFlasher를 열고 + 버튼을 클릭하여
.flock파일을 불러옵니다. - SD 카드 드라이브를 선택합니다(FlockFlasher가 외부 드라이브를 자동으로 감지합니다).
- 디바이스에 맞는 이미지를 선택합니다(Raspberry Pi 3/4, Zero 등).
- 선택적으로 WiFi를 구성하여 디바이스가 목적지에서 연결할 수 있도록 합니다.
- Flash를 클릭하고 쓰기, 검증, 구성이 완료될 때까지 기다립니다.
- SD 카드를 디바이스에 삽입하고 전원을 켭니다.
디바이스는 20분 내에 온라인 상태가 되어야 합니다.
경고: 플래싱 과정은 선택한 드라이브의 모든 데이터를 삭제합니다. FlockFlasher는 기본적으로 내부 드라이브를 숨기지만, 플래싱 전에 항상 선택한 드라이브를 다시 확인하십시오.
방법 2: 산업용 PC를 위한 USB 설치
EFI 부팅을 지원하는 AMD64 디바이스(예: Siemens SIMATIC Box IPC)에 적합합니다.
- USB 스틱(최소 16GB)을 삽입하고 FlockFlasher를 엽니다.
.flock파일을 불러오고 USB 드라이브를 선택합니다.- Industrial PC x86_64 (EFI) 이미지를 선택합니다.
- Flash를 클릭하고 완료될 때까지 기다립니다.
- 필요한 경우 디바이스의 BIOS에서 부팅 순서를 변경하여 USB에서 부팅하도록 설정합니다.
- USB 스틱을 삽입하고 디바이스의 전원을 켭니다.
디바이스는 60분 내에 온라인 상태가 되어야 합니다.
방법 3: 커스텀 설치
기존 Linux OS를 유지하는 디바이스에 적합합니다. NVIDIA Jetson 및 커스텀 하드웨어에 이상적입니다.
참고: 이 수동 설치 방법은 산업용 PC, 게이트웨이, 임베디드 디바이스와 같은 실제 프로덕션 하드웨어를 위한 것이며, 노트북용이 아닙니다. 노트북에서 IronFlock을 간단히 사용해 보고 싶다면 대신 먼저 테스트하기: 노트북에서 디바이스 시뮬레이션을 따르십시오 — 수동 에이전트 설치가 필요하지 않습니다.
Linux / Unix 디바이스
- 디바이스에 SSH로 접속합니다.
- 설치 바이너리를 다운로드합니다:
curl -sSL https://instance-registry.ironflock.com/dl/reswarmify/install.sh | bashIronFlock 어플라이언스를 사용 중인가요? 새 디바이스 대화 상자에 표시되는 명령을 사용하세요 — 이 명령은
instance-registry.ironflock.com대신 어플라이언스를 가리킵니다. - 컴퓨터에서 디바이스로
.flock파일을 복사합니다:scp mydevice.flock user@device-ip:/home/user/ - 에이전트를 실행합니다:
sudo ./ironflock-init -c mydevice.flock
회사 프록시 환경에 있나요? 다운로드가 성공하도록 2단계 전에 프록시를 export하고, 4단계에서
ironflock-init에--http-proxy/--https-proxy를 전달하면 Docker 엔진을 자동으로 구성해 줍니다. 전체 명령과 회사 CA 단계는 회사 프록시 환경 사용을 참조하십시오.
Windows 장치
- 장치에 Docker Desktop 를 설치하고 Docker Desktop 설정에서 Start Docker Desktop when you sign in 을 활성화하세요. 무인 장치의 경우 재부팅 후 로그인 없이도 Docker를 사용할 수 있도록 Windows 자동 로그인도 설정하세요.
- reagent.exe 를 다운로드하세요.
.flock파일을 장치에 복사하세요.- 관리자 권한 명령 프롬프트에서 에이전트를 Windows 서비스로 설치하고 시작하세요:
서비스는 즉시 시작되며 이후 부팅할 때마다 시작되고, 오류 발생 시 자동으로 재시작되며 에이전트를 최신 상태로 유지합니다. 시작하지 않고 설치하려면
reagent.exe service install -config path\to\config.flock-noStart를 추가하세요. 상태는 언제든지reagent.exe service status로 확인할 수 있습니다.
회사 프록시 환경인가요?
service install명령에-proxy http://proxy.example.com:3128를 추가하고, Docker Desktop의 프록시는 Settings → Resources → Proxies 에서 설정하세요. 자세한 내용과 회사 CA 설정 단계는 회사 프록시 환경 사용 을 참조하세요.
도메인에 가입된 Windows 장치인가요? 에이전트 서비스는 로그인한 사람이 있든 없든 LocalSystem으로 실행되므로, 로그인한 사용자에 연결된 방화벽 규칙은 이 서비스에 적용되지 않습니다. 규칙을 장치의 컴퓨터 계정을 기준으로 설정하도록 요청하세요 — ID 인식 방화벽 및 프록시를 참조하세요.
시간 동기화 (NTP)
디바이스 에이전트에는 정확한 시계가 필요합니다. 플랫폼과의 TLS 핸드셰이크, 이미지 다운로드를 인가하는 토큰, 그리고 디바이스가 발행하는 모든 데이터 포인트의 타임스탬프가 여기에 의존합니다. 시계가 15분 넘게 어긋난 디바이스는 파일 저장소에서도 CLOCK_SKEW로 거부됩니다.
기업 네트워크에서 이것은 당연히 갖춰진 것이 아니라 설정 단계입니다. UDP 123 포트의 아웃바운드 NTP가 흔히 차단되어 운영체제에 기본 설정된 공용 시간 서버에 도달할 수 없고, 시계는 아무런 오류 표시 없이 어긋납니다. IT 부서에 내부 시간 서버를 확인해 디바이스에 설정하거나, 디바이스 네트워크에 대해 아웃바운드 UDP 123을 허용하도록 요청하십시오.
Linux
systemd-timesyncd 사용 시 (Debian 및 Ubuntu 기본값):
sudo mkdir -p /etc/systemd/timesyncd.conf.d
sudo tee /etc/systemd/timesyncd.conf.d/corporate.conf > /dev/null <<'EOF'
[Time]
NTP=ntp.your-company.com
EOF
sudo systemctl restart systemd-timesyncd
timedatectl statuschrony 사용 시:
echo "server ntp.your-company.com iburst" | sudo tee -a /etc/chrony/chrony.conf
sudo systemctl restart chrony
chronyc sourcestimedatectl status가 System clock synchronized: yes를 보고해야 합니다.
Windows
관리자 권한 프롬프트에서:
w32tm /config /manualpeerlist:"ntp.your-company.com" /syncfromflags:manual /update
w32tm /resync
w32tm /query /status완성된 IronFlock 이미지로 플래싱한 디바이스(방법 1과 2)는 기본적으로 공용 시간 서버와 동기화합니다. 이를 차단하는 네트워크에서는 디바이스 서브넷에 대해 아웃바운드 UDP
123을 허용하거나, 첫 부팅 후 SSH로 위의 Linux 예시와 똑같이 내부 시간 서버를 설정하십시오.
연결 확인
연결 후 프로젝트에서 디바이스 상태를 확인합니다:
- 녹색 표시기 — 디바이스가 온라인 상태이며 IronFlock과 통신 중입니다.
- 빨간색 표시기 — 디바이스가 오프라인 상태입니다. 네트워크 연결을 확인하고 에이전트가 실행 중인지 확인하십시오.
- 녹색 표시기이지만 앱 설치, 이미지 가져오기 또는 에이전트 업데이트가 타임아웃되는 경우 — 방화벽 규칙이 디바이스의 새 연결을 더 이상 허용하지 않고 있을 수 있습니다. 무엇이든 재시작하기 전에 ID 인식 방화벽 및 프록시를 읽어 보십시오.
디바이스 지도 보기에서 프로젝트의 모든 디바이스의 지리적 위치를 확인할 수 있습니다.