Azure IoT Central 애플리케이션에 Azure IoT Edge 디바이스 연결
Azure IoT Edge는 클라우드 분석 및 사용자 지정 비즈니스 논리를 클라우드에서 디바이스로 이동합니다. 이 방법을 사용하면 클라우드 솔루션이 데이터 관리 대신 비즈니스 인사이트에 집중할 수 있습니다. 비즈니스 논리를 표준 컨테이너에 패키징하여 IoT 솔루션을 스케일 아웃하고, 디바이스에 해당 컨테이너를 배포하고, 클라우드에서 모든 컨테이너를 모니터링합니다.
이 문서에서는 다음을 설명합니다.
- IoT Central을 사용하는 IoT Edge 게이트웨이 패턴
- IoT Edge 디바이스를 IoT Central 애플리케이션에 연결하는 방법.
- IoT Central을 사용하여 IoT Edge 디바이스를 관리하는 방법입니다.
IoT Edge 에 대한 자세한 내용은 Azure IoT Edge란?
IoT Edge
IoT Edge는 다음 세 가지 구성 요소로 구성됩니다.
- IoT Edge 모듈은 Azure 서비스, 파트너 서비스 또는 사용자 고유의 코드를 실행하는 컨테이너입니다. 모듈은 IoT Edge 디바이스에 배포되고 해당 디바이스에서 로컬로 실행됩니다. 배포 매니페스트는 IoT Edge 디바이스에 배포할 모듈을 지정합니다.
- IoT Edge 런타임은 각 IoT Edge 디바이스에서 실행되며 각 디바이스에 배포된 모듈을 관리합니다. 런타임은 IoT Edge 에이전트 및 IoT Edge 허브라는 두 개의 IoT Edge 모듈로 구성됩니다.
- 클라우드 기반 인터페이스를 사용하여 IoT Edge 디바이스를 원격으로 모니터링 및 관리할 수 있습니다. IoT Central은 클라우드 인터페이스의 예입니다.
IoT Central을 사용하면 IoT Edge 디바이스에 대해 다음 기능을 사용할 수 있습니다.
- 배포 매니페스트 관리. IoT Central 애플리케이션은 배포 매니페스트 컬렉션을 관리하고 디바이스에 할당할 수 있습니다.
- 다음과 같이 IoT Edge 디바이스의 기능을 설명하는 디바이스 템플릿:
- 각 IoT Edge 모듈에서 전송하는 원격 분석 데이터.
- 각 IoT Edge 모듈이 보고하는 속성.
- 각 IoT Edge 모듈이 응답하는 명령.
- IoT Edge 게이트웨이 디바이스와 다운스트림 디바이스 간의 관계입니다.
- IoT Edge 디바이스에 저장되지 않는 클라우드 속성
- 디바이스 보기 및 양식.
- Azure IoT 디바이스 프로비저닝 서비스를 사용하여 IoT Edge 디바이스를 대규모로 프로비전하는 기능입니다.
- 규칙 및 동작
- 사용자 지정 대시보드 및 분석
- IoT Edge 디바이스에서 원격 분석의 지속적인 데이터 내보내기
IoT Edge 디바이스는 다음과 같습니다.
- 사용자 지정 모듈로 구성된 독립 실행형 디바이스.
- 다운스트림 디바이스가 연결된 게이트웨이 디바이스입니다. 게이트웨이 디바이스에는 사용자 지정 모듈이 포함될 수 있습니다.
IoT Edge 디바이스 및 IoT Central
IoT Edge 디바이스는 공유 액세스 서명 토큰 또는 X.509 인증서를 사용하여 IoT Central에서 인증할 수 있습니다. 처음으로 연결하기 전에 IoT Central에서 IoT Edge 디바이스를 수동으로 등록하거나 Device Provisioning Service를 사용하여 등록을 처리할 수 있습니다. 자세한 내용은 디바이스 연결 방법을 참조하세요.
IoT Central은 선택적으로 디바이스 템플릿을 사용하여 IoT Central이 IoT Edge 디바이스와 상호 작용하는 방법을 정의합니다. 예를 들어 디바이스 템플릿은 다음을 지정합니다.
- IoT Central이 이를 해석하고 시각화를 만들 수 있도록 IoT Edge 디바이스가 전송하는 원격 분석 데이터의 유형 및 속성.
- IoT Central에서 운영자가 명령을 호출하는 데 사용하는 UI를 표시할 수 있도록 IoT Edge 디바이스가 응답하는 명령.
디바이스와 연결된 디바이스 템플릿이 없으면 원격 분석 및 속성 값이 모델화되지 않은 데이터로 표시됩니다. 그러나 IoT Central 데이터 내보내기 기능을 사용하여 원격 분석 및 속성 값을 다른 백 엔드 서비스에 전달할 수 있습니다.
IoT Edge 배포 매니페스트
IoT Edge에서는 비즈니스 논리를 모듈 형태로 배포하고 관리합니다. IoT Edge 모듈은 IoT Edge에서 관리하는 가장 작은 계산 단위이며, Azure 서비스(예: Azure Stream Analytics) 또는 고유한 솔루션 관련 코드를 포함할 수 있습니다.
IoT Edge 배포 매니페스트는 디바이스에 배포할 IoT Edge 모듈과 해당 모듈의 구성 방법을 나열합니다.
Azure IoT Central에서 Edge 매니페스트로 이동하여 솔루션의 IoT Edge 디바이스에 대한 배포 매니페스트를 가져오고 관리합니다.
다음 코드 조각은 예제 IoT Edge 배포 매니페스트를 보여줍니다.
{
"modulesContent": {
"$edgeAgent": {
"properties.desired": {
"schemaVersion": "1.0",
"runtime": {
"type": "docker",
"settings": {
"minDockerVersion": "v1.25",
"loggingOptions": "",
"registryCredentials": {}
}
},
"systemModules": {
"edgeAgent": {
"type": "docker",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-agent:1.0.9",
"createOptions": "{}"
}
},
"edgeHub": {
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-hub:1.0.9",
"createOptions": "{}"
}
}
},
"modules": {
"SimulatedTemperatureSensor": {
"version": "1.0",
"type": "docker",
"status": "running",
"restartPolicy": "always",
"settings": {
"image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
"createOptions": "{}"
}
}
}
}
},
"$edgeHub": {
"properties.desired": {
"schemaVersion": "1.0",
"routes": {
"route": "FROM /* INTO $upstream"
},
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
}
}
},
"SimulatedTemperatureSensor": {
"properties.desired": {
"SendData": true,
"SendInterval": 10
}
}
}
}
이전 코드 조각에서는 다음을 확인할 수 있습니다.
- 세 가지 모듈이 있습니다. 모든 배포 매니페스트에 있는 IoT Edge 에이전트 및 IoT Edge 허브 시스템 모듈입니다. 사용자 지정 SimulatedTemperatureSensor 모듈입니다.
- 퍼블릭 모듈 이미지는 연결하는 데 자격 증명이 필요하지 않은 Azure Container Registry 리포지토리에서 가져옵니다. 프라이빗 모듈 이미지의 경우 IoT Edge 에이전트 모듈에 대한 설정에서
registryCredentials
사용할 컨테이너 레지스트리 자격 증명을 설정합니다. - 사용자 지정 SimulatedTemperatureSensor 모듈에는
"SendData": true
및"SendInterval": 10
이라는 두 개의 쓰기 가능한 속성이 있습니다.
다음 스크린샷은 IoT Central로 가져온 이 배포 매니페스트를 보여 줍니다.
애플리케이션에서 조직을 사용하는 경우 특정 조직에 배포 매니페스트를 할당할 수 있습니다. 위 스크린샷은 Store Manager/Americas 조직에 할당된 배포 매니페스트를 보여 줍니다.
Edge 매니페스트 페이지를 사용하고 IoT Edge 디바이스에 배포 매니페스트를 할당하는 방법을 알아보려면 IoT Central 애플리케이션에서 IoT Edge 배포 매니페스트 관리를 참조하세요.
할당되지 않은 디바이스 관리
연결된 디바이스 템플릿이 없는 IoT Edge 디바이스를 할당되지 않은 디바이스라고 합니다. 할당되지 않은 디바이스에서는 대시보드, 디바이스 그룹, 분석, 규칙 및 작업과 같은 IoT Central 기능을 사용할 수 없습니다. 그러나 할당되지 않은 디바이스에서 다음 기능은 사용할 수 있습니다.
- 원격 분석 데이터 및 속성과 같은 원시 데이터를 봅니다.
- 디바이스 명령을 호출합니다.
- 속성을 읽고 씁니다.
할당되지 않은 디바이스에서 개별 모듈을 관리할 수도 있습니다.
IoT Edge 디바이스 템플릿
IoT Central 디바이스 템플릿은 모델을 사용하여 IoT Edge 디바이스의 기능을 설명합니다. 디바이스 템플릿은 IoT Edge 디바이스에 대한 선택 사항입니다. 디바이스 템플릿을 사용하면 대시보드 및 분석과 같은 IoT Central 기능을 사용하여 원격 분석 데이터, 속성 및 명령과 상호 작용할 수 있습니다. 다음 다이어그램은 IoT Edge 디바이스에 대한 모델의 구조를 보여줍니다.
IoT Central은 다음과 같이 IoT Edge 디바이스를 모델화합니다.
- 모든 IoT Edge 디바이스 템플릿에는 기능 모델이 있습니다.
- 배포 매니페스트에 나열된 모든 사용자 지정 모듈에 대해 IoT Central을 사용하여 해당 모듈과 상호 작용하려는 경우 모듈 정의를 추가합니다.
- 모듈 기능 모델은 하나 이상의 모듈 인터페이스를 구현합니다.
- 각 모듈 인터페이스에는 원격 분석, 속성 및 명령이 포함됩니다.
디바이스 매니페스트에 정의된 모듈 및 속성을 기반으로 기본 기능 모델을 생성할 수 있습니다. 자세한 내용은 디바이스 템플릿에 모듈 및 속성 추가를 참조하세요.
IoT Edge 게이트웨이 패턴
IoT Central은 다음과 같은 IoT Edge 디바이스 패턴을 지원합니다.
투명 게이트웨이로서의 IoT Edge
다운스트림 디바이스는 자체 ID를 사용하여 게이트웨이를 통해 IoT Central에 연결됩니다.
IoT Edge 디바이스는 IoT Edge 디바이스에 연결된 다운스트림 디바이스와 함께 IoT Central에 프로비저닝됩니다. 게이트웨이를 통해 다운스트림 디바이스를 프로비전하는 런타임 지원은 현재 지원되지 않습니다.
IoT Edge 허브 모듈이 IoT Central처럼 작동하며, IoT Central에 등록된 디바이스에서 들어오는 연결을 처리합니다. 메시지는 다운스트림 디바이스에서 IoT Central로 전달됩니다. 투명 게이트웨이에서는 사용자 지정 모듈을 사용하여 다운스트림 디바이스의 메시지를 조작할 수 없습니다.
참고 항목
IoT Central은 현재 IoT Edge 디바이스를 IoT Edge 투명 게이트웨이에 대한 다운스트리밍 디바이스로 연결하는 것을 지원하지 않습니다. IoT Central에 연결하는 모든 디바이스는 DPS(디바이스 프로비저닝 서비스)를 사용하여 프로비전되고 DPS는 중첩된 IoT Edge 시나리오를 현재 지원하지 않기 때문입니다.
프로토콜 변환 게이트웨이로서의 IoT Edge
이 패턴을 사용하면 IoT Central에서 지원하는 프로토콜을 사용할 수 없는 디바이스를 연결할 수 있습니다.
IoT Edge 디바이스는 IoT Central에서 프로비저닝되며 다운스트림 디바이스의 원격 분석은 IoT Edge 디바이스에서 발생한 것으로 표시됩니다. IoT Edge 디바이스에 연결된 다운스트림 디바이스는 IoT Central에서 프로비전되지 않습니다.
ID 변환 게이트웨이로서의 IoT Edge
다운스트림 디바이스는 IoT Central 디바이스 ID를 제공하는 게이트웨이의 모듈에 연결됩니다.
IoT Edge 디바이스는 IoT Edge 디바이스에 연결된 다운스트림 디바이스와 함께 IoT Central에 프로비저닝됩니다. 현재 IoT Central에는 ID를 제공하고 다운스트림 디바이스를 프로비전하는 게이트웨이에 대한 런타임 지원이 없습니다. 고유한 ID 변환 모듈을 가져오는 경우 IoT Central에서 이 패턴을 지원할 수 있습니다.
게이트웨이 및 모듈과의 다운스트림 디바이스 관계
다운스트림 디바이스가 IoT Edge 허브 모듈을 통해 IoT Edge 게이트웨이 디바이스에 연결되는 경우 IoT Edge 디바이스는 투명 게이트웨이입니다.
다운스트림 디바이스가 사용자 지정 모듈을 통해 IoT Edge 게이트웨이 디바이스에 연결되는 경우 IoT Edge 디바이스는 투명 게이트웨이입니다. 다음 예제에서 다운스트림 디바이스는 프로토콜 변환을 수행하는 Modbus 사용자 지정 모듈을 통해 연결됩니다.
다음 다이어그램에서는 두 가지 유형의 모듈을 통해 IoT Edge 게이트웨이 디바이스에 연결하는 방법을 보여 줍니다. 이 시나리오에서 IoT Edge 디바이스는 투명 및 번역 게이트웨이입니다.
다운스트림 디바이스는 여러 사용자 지정 모듈을 통해 IoT Edge 게이트웨이 디바이스에 연결할 수 있습니다. 다음 다이어그램에서는 Modbus 사용자 지정 모듈, BLE 사용자 지정 모듈 및 IoT Edge 허브 모듈을 통해 연결되는 다운스트림 디바이스를 보여 줍니다.
IoT Edge 게이트웨이 패턴에 대한 자세한 내용은 IoT Edge 디바이스를 게이트웨이로 사용하는 방법을 참조하세요.
IoT Edge 런타임 배포
IoT Edge 런타임을 실행할 수 있는 위치를 알아보려면 Azure IoT Edge 지원 시스템을 참조 하세요.
다음 환경에서 IoT Edge 런타임을 설치할 수도 있습니다.
- Linux용 Azure IoT Edge 설치 또는 제거
- Windows 디바이스에서 Linux용 Azure IoT Edge 설치 및 프로비저닝(미리 보기)
- Azure의 Ubuntu Virtual Machines에서 Azure IoT Edge 실행
IoT Edge 디바이스 모니터링
IoT Edge 플릿을 원격으로 모니터링하는 방법을 자세히 알아보려면 메트릭 수집 및 전송을 참조하세요.
다음 단계
제안된 다음 단계는 고유한 IoT Edge 모듈을 개발하는 방법을 알아보는 것입니다.