Azure IoT Hub의 자동 디바이스 관리는 전체 수명 주기 동안 대규모 디바이스 플릿을 관리하는 많은 반복적이고 복잡한 작업을 자동화합니다. 이 문서에서는 IoT 솔루션 개발 및 운영과 관련된 다양한 역할에 대한 많은 모범 사례를 정의합니다.
IoT 하드웨어 제조업체/통합자: IoT 하드웨어 제조업체, 다양한 제조업체의 하드웨어를 조립하는 통합업체 또는 다른 공급업체가 제조하거나 통합한 IoT 배포를 위한 하드웨어를 제공하는 공급업체. 펌웨어, 임베디드 운영 체제 및 임베디드 소프트웨어의 개발 및 통합에 관여합니다.
IoT 솔루션 개발자: IoT 솔루션의 개발은 일반적으로 솔루션 개발자가 수행합니다. 이 개발자는 사내 팀 또는 이 활동을 전문으로 하는 시스템 통합자의 일부일 수 있습니다. IoT 솔루션 개발자는 IoT 솔루션의 다양한 구성 요소를 처음부터 개발하거나 다양한 표준 또는 오픈 소스 구성 요소를 통합할 수 있습니다.
IoT 솔루션 연산자: IoT 솔루션을 배포한 후에는 장기 작업, 모니터링, 업그레이드 및 유지 관리가 필요합니다. 정보 기술 전문가, 하드웨어 운영 및 유지 관리 팀, 전체 IoT 인프라의 올바른 동작을 모니터링하는 도메인 전문가로 구성된 사내 팀과 같은 여러 팀이 이러한 작업을 수행할 수 있습니다.
대규모 IoT 디바이스를 구성하기 위한 자동 디바이스 관리 이해
자동 디바이스 관리에는 클라우드와 디바이스 간에 원하는 상태와 보고된 상태를 동기화하는 디바이스 쌍 및 모듈 쌍 의 많은 이점이 포함됩니다. 자동 디바이스 구성은 대량의 쌍 집합을 자동으로 업데이트하고 진행률 및 준수를 요약합니다. 다음 개략적인 단계에서는 자동 디바이스 관리를 개발하고 사용하는 방법을 설명합니다.
IoT 하드웨어 제조업체/통합자는 디바이스 쌍을 사용하여 포함된 애플리케이션 내에서 디바이스 관리 기능을 구현합니다. 이러한 기능에는 펌웨어 업데이트, 소프트웨어 설치 및 업데이트 및 설정 관리가 포함될 수 있습니다.
IoT 솔루션 개발자는 디바이스 쌍 및 자동 디바이스 구성을 사용하여 디바이스 관리 작업의 관리 계층을 구현합니다. 솔루션에는 디바이스 관리 작업을 수행하기 위한 연산자 인터페이스 정의가 포함되어야 합니다.
IoT 솔루션 운영자는 IoT 솔루션을 사용하여 디바이스 관리 작업을 수행하고, 특히 디바이스를 그룹화하고, 펌웨어 업데이트와 같은 구성 변경을 시작하고, 진행 상황을 모니터링하고, 발생하는 문제를 해결합니다.
IoT 하드웨어 제조업체/통합자
다음은 임베디드 소프트웨어 개발을 처리하는 하드웨어 제조업체 및 통합자를 위한 모범 사례입니다.
디바이스 쌍 구현: 디바이스 쌍을 사용하면 클라우드에서 원하는 구성을 동기화하고 현재 구성 및 디바이스 속성을 보고할 수 있습니다. 포함된 애플리케이션 내에서 디바이스 쌍을 구현하는 가장 좋은 방법은 Azure IoT SDK를 사용하는 것입니다. 디바이스 쌍은 다음과 같은 이유로 구성에 가장 적합합니다.
- 양방향 통신을 지원합니다.
- 연결된 디바이스 상태와 연결이 끊긴 디바이스 상태를 모두 허용합니다.
- 최종 일관성의 원칙을 따릅니다.
- 클라우드에서 완전히 쿼리 가능합니다.
디바이스 관리를 위해 디바이스 쌍을 구성합니다 . 디바이스 관리 속성이 논리적으로 섹션으로 그룹화되도록 디바이스 쌍을 구성해야 합니다. 이렇게 하면 트윈의 다른 섹션에 영향을 주지 않고 구성 변경 내용을 격리할 수 있습니다. 예를 들어, 원하는 펌웨어 속성 내에 하나의 섹션을 만들고, 소프트웨어에 대한 또 다른 섹션과 네트워크 설정에 대한 세 번째 섹션을 만듭니다.
디바이스 관리에 유용한 디바이스 특성을 보고 합니다. 물리적 디바이스 만들기 및 모델, 펌웨어, 운영 체제, 일련 번호 및 기타 식별자와 같은 특성은 보고 및 구성 변경 대상 지정 매개 변수로 유용합니다.
보고 상태 및 진행률에 대한 기본 상태를 정의 합니다. 최상위 상태는 연산자에 보고할 수 있도록 열거되어야 합니다. 예를 들어 펌웨어 업데이트는 상태를 현재, 다운로드, 적용, 진행 중 및 오류로 보고합니다. 각 상태에 대한 자세한 내용을 보려면 더 많은 필드를 정의합니다.
IoT 솔루션 개발자
다음은 Azure를 기반으로 시스템을 빌드하는 IoT 솔루션 개발자를 위한 모범 사례입니다.
디바이스 쌍 구현: 디바이스 쌍을 사용하면 클라우드에서 원하는 구성을 동기화하고 현재 구성 및 디바이스 속성을 보고할 수 있습니다. 클라우드 솔루션 애플리케이션 내에서 디바이스 쌍을 구현하는 가장 좋은 방법은 Azure IoT SDK를 사용하는 것입니다. 디바이스 쌍은 다음과 같은 이유로 구성에 가장 적합합니다.
- 양방향 통신을 지원합니다.
- 연결된 디바이스 상태와 연결이 끊긴 디바이스 상태를 모두 허용합니다.
- 최종 일관성의 원칙을 따릅니다.
- 클라우드에서 완전히 쿼리 가능합니다.
디바이스 쌍 태그를 사용하여 디바이스 구성: 솔루션은 운영자가 카나리아와 같은 다양한 배포 전략에 따라 품질 링 또는 기타 디바이스 집합을 정의할 수 있도록 허용해야 합니다. 디바이스 조직은 디바이스 쌍 태그 및 쿼리를 사용하여 솔루션 내에서 구현할 수 있습니다. 구성 롤아웃을 안전하고 정확하게 허용하려면 디바이스 조직이 필요합니다.
자동 디바이스 구성 구현: 자동 디바이스 구성은 디바이스 쌍을 통해 대규모 IoT 디바이스 집합에 구성 변경 내용을 배포하고 모니터링합니다.
자동 디바이스 구성은 대상 조건을 통해 디바이스 트윈 집합을 대상으로 합니다. 이 집합은 디바이스 트윈 태그 또는 보고된 속성에 대한 쿼리입니다. 대상 콘텐츠는 대상 디바이스 쌍 내에서 설정될 desired 속성의 집합입니다. 대상 콘텐츠는 IoT 하드웨어 제조업체/통합자가 정의한 디바이스 쌍 구조와 일치해야 합니다. 메트릭은 디바이스 쌍 reported 속성에 대한 쿼리이며 IoT 하드웨어 제조업체/통합자가 정의한 디바이스 쌍 구조와도 일치해야 합니다.
자동 디바이스 구성은 구성이 만들어진 직후에 처음으로 실행된 후 5분 간격으로 실행됩니다. 또한 디바이스 트윈 읽기 및 업데이트에 대한 속도 제한을 초과하는 속도로 디바이스 트윈 작업을 수행하는 IoT Hub의 이점을 활용할 수 있습니다.
Device Provisioning Service 사용: 솔루션 개발자는 Device Provisioning Service를 사용하여 새 디바이스에 디바이스 쌍 태그를 할당해야 하므로 해당 태그가 있는 쌍을 대상으로 하는 자동 디바이스 구성에 의해 자동으로 구성됩니다.
IoT 솔루션 연산자
다음은 Azure에서 빌드된 IoT 솔루션을 사용하는 IoT 솔루션 운영자를 위한 모범 사례입니다.
관리용 디바이스 구성: IoT 솔루션은 카나리아와 같은 다양한 배포 전략에 따라 품질 링 또는 기타 디바이스 집합을 정의하거나 만들어야 합니다. 디바이스 집합은 구성 변경 내용을 롤아웃하고 다른 대규모 디바이스 관리 작업을 수행하는 데 사용됩니다.
단계적 롤아웃을 사용하여 구성 변경을 수행합니다. 단계적 롤아웃은 운영자가 확장된 IoT 디바이스 집합에 변경 내용을 배포하는 전체 프로세스입니다. 목표는 광범위한 호환성이 손상되는 변경을 할 위험을 줄이기 위해 점진적으로 변경하는 것입니다. 운영자는 솔루션의 인터페이스를 사용하여 자동 디바이스 구성 을 만들어야 하며 대상 지정 조건은 초기 디바이스 집합(예: 카나리아 그룹)을 대상으로 해야 합니다. 그런 다음 운영자는 초기 디바이스 집합의 구성 변경에 대한 유효성을 검사해야 합니다.
유효성 검사가 완료되면 운영자는 더 큰 디바이스 집합을 포함하도록 자동 디바이스 구성을 업데이트합니다. 또한 운영자는 구성이 현재 해당 디바이스를 대상으로 하는 다른 구성보다 높은 우선 순위를 설정해야 합니다. 자동 디바이스 구성에서 보고한 메트릭을 사용하여 롤아웃을 모니터링할 수 있습니다.
오류 또는 잘못된 구성의 경우 롤백을 수행합니다. 디바이스가 더 이상 대상 지정 조건을 충족하지 않도록 대상 지정 조건을 변경하여 오류 또는 잘못된 구성을 발생시키는 자동 디바이스 구성을 롤백할 수 있습니다. 우선 순위가 낮은 또 다른 자동 디바이스 구성이 해당 디바이스를 대상으로 하는지 확인합니다. 메트릭을 확인하여 롤백이 성공했는지 확인합니다. 롤백된 구성은 더 이상 대상 지정되지 않은 디바이스에 대한 상태를 표시하지 않아야 하며, 이제 두 번째 구성의 메트릭에는 여전히 대상으로 지정된 디바이스의 수가 포함됩니다.
다음 단계
IoT Hub에서 디바이스 쌍 이해 및 사용에 대해 배우고, 디바이스 쌍을 구현하는 방법을 알아봅니다.
Azure Portal을 사용하여 자동 IoT 디바이스 및 모듈 관리에서 자동 디바이스 구성을 만들거나 업데이트하거나 삭제하는 단계를 안내합니다.
Raspberry Pi 3 B+ 참조 이미지를 사용하여 Azure IoT Hub용 디바이스 업데이트 자습서에서 엔드투엔드 이미지 기반 업데이트를 완료하는 방법을 알아봅니다.