IoT Hub용 디바이스 업데이트란?
IoT(사물 인터넷) 솔루션이 점점 더 널리 보급됨에 따라 이러한 솔루션을 구성하는 디바이스는 대규모로 쉽게 연결하고 관리해야 합니다. IoT Hub용 Azure 디바이스 업데이트는 IoT 디바이스에 대한 무선 업데이트를 배포할 수 있는 서비스입니다.
IoT Hub용 디바이스 업데이트는 작은 센서에서 게이트웨이 수준 디바이스에 이르기까지 모든 항목에 대한 무선 업데이트를 게시, 배포 및 관리하기 위한 엔드투엔드 플랫폼입니다. 디바이스 업데이트는 IoT 지원 디지털 변환의 모든 이점을 실현하기 위해 다음과 같이 대규모로 디바이스를 작동, 유지 관리 및 업데이트하는 기능을 제공합니다.
- 보안 위협에 대한 신속한 대응.
- 비즈니스 목표를 달성하기 위한 새로운 기능 배포
- 업데이트 플랫폼 개발 및 유지 관리에 대한 추가 비용 없이 통합된 업데이트
지원되는 IoT 디바이스
IoT Hub용 디바이스 업데이트는 거의 모든 디바이스를 연결하기 위한 클라우드 호스팅 솔루션입니다. 디바이스 업데이트는 Azure IoT Hub와의 통합을 통해 최적화된 업데이트 배포 및 간소화된 작업을 제공하므로 Azure IoT Edge 디바이스를 비롯한 기존 IoT Hub 기반 솔루션을 쉽게 채택할 수 있습니다.
디바이스 업데이트는 광범위한 IoT 운영 체제 및 MCU(일반 마이크로 컨트롤러 장치) 클래스 디바이스에 대한 무선 업데이트 구성, 빌드 및 배포를 지원합니다. Eclipse ThreadX 실시간 운영 체제는 STMicroelectronics, NXP, Renesas 및 Microchip을 비롯한 반도체 파트너와 공동 개발된 디바이스 업데이트 샘플을 제공합니다. 디바이스 업데이트는 Raspberry Pi 참조 Yocto 이미지 및 디바이스 업데이트 에이전트 시뮬레이터 이진도 제공합니다.
디바이스 업데이트 에이전트는 다양한 Linux 운영 체제에 대해 빌드되고 제공됩니다. Eclipse ThreadX 또는 지원되는 Linux 플랫폼을 실행하지 않는 경우 제공된 오픈 소스 코드를 통해 디바이스 업데이트를 확장할 수도 있습니다. 실행 중인 배포에 에이전트를 이동할 수 있습니다.
디바이스 업데이트는 IoT 플러그 앤 플레이에서 작동하며 필요한 IoT 플러그 앤 플레이 인터페이스를 지원하는 모든 디바이스를 관리할 수 있습니다. 자세한 내용은 IoT Hub 및 IoT 플러그 앤 플레이에 대한 디바이스 업데이트를 참조하세요.
지원되는 업데이트 유형
IoT Hub용 디바이스 업데이트는 패키지 기반 및 이미지 기반의 두 가지 형태의 업데이트를 지원합니다. 선택하는 방법은 특정 사용 사례 및 디바이스 환경에 따라 달라집니다.
패키지 기반 업데이트는 특정 디바이스 구성 요소 또는 애플리케이션만 변경하도록 대상으로 지정됩니다. 이러한 업데이트는 대역폭 사용량이 적고 다운로드 및 설치 시간이 짧아 디바이스 가동 중지 시간을 줄이고 이미지 생성 오버헤드를 방지합니다.
이미지 기반 업데이트는 디바이스 최종 상태에 대한 높은 수준의 신뢰도를 제공하므로 사전 프로덕션 환경과 프로덕션 환경 간에 또는 A/B 장애 조치 모델 간에 보다 쉽게 복제할 수 있습니다. 이미지 기반 업데이트는 패키지 및 해당 종속성을 관리하는 문제를 방지합니다.
관리 및 배포 컨트롤
디바이스 업데이트 관리 및 배포 컨트롤을 사용하여 생산성을 최대화하고 귀중한 시간을 절약할 수 있습니다.
관리 및 보고 도구
- Azure IoT Hub와 통합된 업데이트 관리 환경입니다.
- 자동화 및 사용자 지정 포털 환경을 사용하도록 설정하는 프로그래매틱 API.
- Azure Portal을 통해 사용할 수 있는 구독 및 역할 기반 액세스 제어.
- 이기종 디바이스 집합에 대한 업데이트 준수 및 상태 요약 뷰.
- 디바이스 업데이트 리소스, 그룹 및 배포를 만들고 관리하기 위한 Azure CLI 지원.
배포 세부 정보 제어
- 디바이스 그룹화 및 업데이트 예약 제어를 통한 점진적 업데이트 출시.
- 원활한 롤백을 제공하기 위한 복원력 있는 디바이스 업데이트(A/B) 지원.
- 롤백 조건을 충족하는 관리 디바이스의 정의된 대체 버전으로 자동 롤백.
- 현재 이미지와 대상 이미지 간의 변경 내용만 나타내는 더 작은 업데이트를 생성할 수 있는 델타 업데이트(공개 미리 보기)를 통해 대역폭과 다운로드 시간을 줄일 수 있습니다.
- 클라우드에 연결되지 않은 디바이스를 업데이트할 수 있도록 온-프레미스 콘텐츠 캐시 및 중첩된 에지 지원.
글로벌 보안
디바이스 업데이트는 Microsoft Azure용으로 개발된 포괄적인 클라우드-에지 보안을 사용하므로 직접 보안을 구성할 필요가 없습니다. Microsoft는 전 세계 10억 개 이상의 IoT 디바이스를 Azure 지원. 디바이스 업데이트는 이 지원과 Windows 업데이트 플랫폼의 검증된 안정성을 기반으로 구축되므로 디바이스를 글로벌 규모로 원활하게 업데이트할 수 있습니다. 자세한 내용은 Device Update 보안 모델을 참조하세요.
자동 디바이스 그룹화
IoT Hub용 디바이스 업데이트에는 호환성 속성 및 디바이스 쌍 태그에 따라 디바이스를 그룹화하고 업데이트할 디바이스를 지정하는 기능이 포함되어 있습니다. 배포 상태를 보고 각 디바이스가 성공적으로 업데이트되었는지 확인할 수도 있습니다.
문제 해결 기능
문제 해결 기능에는 디바이스를 진단하고 복구하는 데 도움이 되는 에이전트 확인 및 디바이스 동기화가 포함됩니다. 업데이트 실패가 발생하면 디바이스 업데이트는 업데이트에 실패한 디바이스를 식별하고 관련 오류 세부 정보를 제공할 수 있습니다. 이 기능을 사용하면 원본을 수동으로 파악하는 데 시간을 할애할 필요가 없습니다.
디바이스 업데이트 워크플로
디바이스 업데이트 기능은 에이전트 통합, 가져오기 및 관리의 세 가지 영역으로 구성됩니다.
에이전트 통합
디바이스가 업데이트 명령을 받으면 디바이스 업데이트 에이전트는 요청install
download
된 또는 apply
업데이트 단계를 실행합니다. 각 단계에서 에이전트는 배포의 현재 상태를 볼 수 있도록 IoT Hub를 통해 디바이스 업데이트에 배포 상태를 반환합니다. 진행 중인 업데이트가 없으면 에이전트가 상태를 반환합니다 Idle
. 언제든지 배포를 취소할 수 있습니다.
다음 다이어그램에서는 Device Update 관리 서비스에서 IoT Hub 디바이스 쌍 속성을 사용하여 에이전트 업데이트 워크플로를 오케스트레이션하는 방법을 보여 줍니다.
- 디바이스 업데이트 관리는 업데이트 명령 속성 값을
applyDeployment
다시 설정하거나cancel
다시 설정합니다. - 디바이스 업데이트 에이전트는 업데이트 명령 속성 값을 읽고 원하는 명령을 실행합니다.
- 에이전트는 업데이트 상태 속성 값을 .로
DeploymentInprogress
설정합니다. 에이전트가 비활성 상태이면 속성 값을Idle
.로 설정합니다.
자세한 내용은 Device Update for IoT Hub 에이전트 개요를 참조하세요.
가져오기
디바이스 업데이트로 업데이트를 가져와서 디바이스에 배포할 준비를 합니다. 디바이스 업데이트는 디바이스당 단일 업데이트, 전체 OS 파티션을 업데이트하는 전체 이미지 또는 디바이스에서 업데이트하려는 개별 패키지를 설명하는 APT 매니페스트 가져오기를 지원합니다.
업데이트를 디바이스 업데이트로 가져오려면 먼저 업데이트를 설명하는 가져오기 매니페스트를 만든 다음, 매니페스트와 업데이트 파일 또는 파일을 Azure Storage 컨테이너에 업로드합니다. 그런 다음 Azure Portal 또는 디바이스 업데이트 REST API 를 사용하여 비동기 업데이트 가져오기 프로세스를 시작할 수 있습니다. 디바이스 업데이트는 파일을 업로드하고 처리하며 IoT 디바이스에 배포하는 데 사용할 수 있도록 합니다.
중요한 콘텐츠의 경우 Azure Blob Storage용 임시 SAS와 같은 SAS(공유 액세스 서명)를 사용하여 다운로드를 보호할 수 있습니다. 자세한 내용은 SAS를 사용하여 Azure Storage 리소스에 대한 제한된 액세스 권한 부여를 참조하세요.
다음 다이어그램에서는 디바이스 업데이트에서 업데이트를 가져오는 방법을 보여 줍니다.
- 개발자는 호환성 데이터를 사용하여 업데이트 및 매니페스트를 만듭니다.
- 개발자는 업데이트 및 매니페스트를 디바이스 업데이트로 가져옵니다.
- 디바이스 업데이트는 업데이트를 처리합니다.
- 이제 호환성 데이터를 사용한 업데이트가 배포할 준비가 되었습니다.
가져오기에 대한 자세한 내용은 IoT Hub용 디바이스 업데이트로 업데이트 가져오기를 참조하세요.
관리
업데이트를 가져온 후 디바이스 및 디바이스 클래스에 대한 호환되는 업데이트를 볼 수 있습니다.
Device Update는 IoT Hub의 태그를 통해 그룹의 개념을 지원합니다. 먼저 테스트 그룹에 업데이트를 배포하는 것은 프로덕션 출시 중에 문제가 발생하는 위험을 줄이기 위한 좋은 방법입니다. Device Update 그룹에 대한 자세한 내용은 디바이스 그룹을 참조하세요.
디바이스 업데이트 에서 배포는 적절한 콘텐츠를 호환되는 특정 디바이스 집합에 연결합니다. 디바이스 업데이트는 각 디바이스에 명령을 보내고, 디바이스에 업데이트를 다운로드 및 설치하도록 지시하고, 상태를 다시 가져오는 프로세스를 오케스트레이션합니다. 업데이트 준수를 측정하는 방법에 대한 자세한 내용은 디바이스 업데이트 준수를 참조하세요.
다음 다이어그램에서는 디바이스 업데이트 그룹화 및 배포 워크플로를 보여 줍니다.
- 운영자는 디바이스에 적용 가능한 업데이트를 볼 수 있습니다.
- IoT Hub의 디바이스에 대한 디바이스 업데이트 쿼리
- 운영자는 지정된 디바이스에 대한 업데이트를 시작합니다.
- IoT Hub는 업데이트를 다운로드하고 설치하기 위해 디바이스에 메시지를 표시합니다.
- 디바이스는 업데이트를 설치하는 명령을 받습니다.
- 업데이트가 다운로드되고 설치됩니다.
- 업데이트 상태는 IoT Hub를 통해 디바이스 업데이트로 반환됩니다.