다음을 통해 공유


IoT 솔루션 내의 디바이스 구성에 대한 모범 사례

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 디바이스 집합에 변경 내용을 배포하는 전체 프로세스입니다. 목표는 광범위한 호환성이 손상되는 변경을 할 위험을 줄이기 위해 점진적으로 변경하는 것입니다.  운영자는 솔루션의 인터페이스를 사용하여 자동 디바이스 구성 을 만들어야 하며 대상 지정 조건은 초기 디바이스 집합(예: 카나리아 그룹)을 대상으로 해야 합니다. 그런 다음 운영자는 초기 디바이스 집합의 구성 변경에 대한 유효성을 검사해야 합니다.

    유효성 검사가 완료되면 운영자는 더 큰 디바이스 집합을 포함하도록 자동 디바이스 구성을 업데이트합니다. 또한 운영자는 구성이 현재 해당 디바이스를 대상으로 하는 다른 구성보다 높은 우선 순위를 설정해야 합니다. 자동 디바이스 구성에서 보고한 메트릭을 사용하여 롤아웃을 모니터링할 수 있습니다.

  • 오류 또는 잘못된 구성의 경우 롤백을 수행합니다. 디바이스가 더 이상 대상 지정 조건을 충족하지 않도록 대상 지정 조건을 변경하여 오류 또는 잘못된 구성을 발생시키는 자동 디바이스 구성을 롤백할 수 있습니다. 우선 순위가 낮은 또 다른 자동 디바이스 구성이 해당 디바이스를 대상으로 하는지 확인합니다. 메트릭을 확인하여 롤백이 성공했는지 확인합니다. 롤백된 구성은 더 이상 대상 지정되지 않은 디바이스에 대한 상태를 표시하지 않아야 하며, 이제 두 번째 구성의 메트릭에는 여전히 대상으로 지정된 디바이스의 수가 포함됩니다.

다음 단계