이 문서에서는 Azure Portal 또는 Azure CLI를 사용하여 Azure Device Update for IoT Hub를 사용하여 IoT 디바이스에 업데이트를 배포하는 방법을 알아봅니다.
필수 조건
업데이트 배포
이 섹션에서는 Azure Portal 또는 Azure CLI를 사용하여 업데이트를 배포하는 방법을 설명합니다.
Azure Portal에서 IoT Hub로 이동합니다.
왼쪽 탐색 창의 디바이스 관리에서 업데이트를 선택합니다.
업데이트 페이지에서 그룹 및 배포 탭을선택하고 업데이트 준수 차트 및 디바이스 그룹 목록을 봅니다. 디바이스 그룹에 사용할 수 있는 최근에 가져온 업데이트를 보려면 보기를 새로 고쳐야 할 수 있습니다.
그룹 목록의 상태 아래에서 이 그룹에 사용할 수 있는 하나 이상의 새 업데이트 옆에 배포를 선택합니다.
업데이트 규정 준수 차트 및 그룹 목록을 표시합니다. 태그 기반 또는 기본 그룹에 사용할 수 있는 새 업데이트가 표시됩니다. 한 번 새로 고쳐야 할 수도 있습니다. 자세한 내용은 디바이스 업데이트 규정 준수를 참조하세요.
하나 이상의 업데이트 사용 가능한 상태 옆에 있는 배포를 선택합니다.
오른쪽 목록에서 배포할 원하는 업데이트를 선택합니다.
즉시 또는 나중에 시작하도록 배포를 예약합니다.
팁
기본적으로 시작 날짜/시간은 현재 시간으로부터 24시간입니다. 배포를 조만간 시작하려면 다른 날짜와 시간을 선택해야 합니다.
필요한 경우 자동 롤백 정책을 만듭니다. 그런 다음 만들기를 선택합니다.
현재 업데이트 탭에서 배포 상태를 볼 수 있습니다.
그룹 기본 보기에서 준수 차트는 업데이트가 현재 진행 중임을 보여 줍니다.
디바이스가 성공적으로 업데이트되면 준수 차트 및 배포 세부 정보가 해당 상태를 반영하도록 업데이트됩니다.
Azure Cloud Shell의 Bash 환경을 사용하여 다음 명령을 실행할 수 있습니다. Cloud Shell 시작을 선택하여 Cloud Shell을 열거나 Azure Portal의 위쪽 도구 모음에서 Cloud Shell 아이콘을 선택합니다.
또는 원하는 경우 Azure CLI 명령을 로컬로 실행할 수 있습니다.
-
Azure CLI 설치. az 버전을 실행하여 설치된 Azure CLI 버전 및 종속 라이브러리를 확인하고 az upgrade를 실행하여 최신 버전을 설치합니다.
-
az login을 실행하여 Azure에 로그인합니다.
-
azure-iot
처음 사용할 때 메시지가 표시되면 확장을 설치합니다. 최신 버전의 확장을 사용하고 있는지 확인하려면 다음을 실행합니다 az extension update --name azure-iot
.
팁
이 문서의 Azure CLI 명령은 명령 인수를 더 쉽게 읽을 수 있도록 줄 연속에 백슬래시 \ 문자를 사용합니다. 이 구문은 Bash 환경에서 작동합니다. PowerShell에서 이러한 명령을 실행하는 경우 각 백슬래시를 백틱 '으로 바꾸거나 완전히 제거합니다.
업데이트 가용성 확인
명령을 az iot du device group list
사용하여 디바이스 그룹을 식별합니다.
az iot du device group list \
--account <Device Update account name> \
--instance <Device Update instance name>\
그런 다음, 그룹에 사용할 수 있는 최상의 업데이트를 표시하는 데 사용합니다 az iot du device group show
. 명령은 다음과 같은 인수를 사용합니다.
-
--account
: 디바이스 업데이트 계정 이름입니다.
-
--instance
: 디바이스 업데이트 인스턴스 이름입니다.
-
--group-id
: 태그의 값이거나 $default
태그가 없는 디바이스에 ADUGroup
대해 이 배포를 대상으로 하는 디바이스 그룹 ID입니다.
-
--resource-group
: 디바이스 업데이트 계정 리소스 그룹 이름입니다.
-
--best-updates
: 각 업데이트가 필요한 디바이스 수를 포함하여 디바이스 그룹에 사용할 수 있는 최상의 업데이트를 반환합니다.
-
--update-compliance
: 최신 업데이트에 있는 디바이스 수, 새 업데이트가 필요한 수 및 현재 새 업데이트를 수신하는 디바이스 수와 같은 디바이스 그룹 업데이트 준수 정보를 반환합니다.
그룹에 가장 적합한 업데이트를 확인하려면 다음과 같이 명령을 실행합니다.
az iot du device group show \
--account <Device Update account name> \
--instance <Device Update instance name>\
--group-id <device group ID>\
--best-updates
배포 만들기
디바이스 그룹에 대한 배포를 만드는 데 사용합니다 az iot du device deployment create
. 명령은 다음과 같은 인수를 사용합니다.
-
--account
: 디바이스 업데이트 계정 이름입니다.
-
--instance
: 디바이스 업데이트 인스턴스 이름입니다.
-
--group-id
: 태그의 값이거나 $default
태그가 없는 디바이스에 ADUGroup
대해 이 배포를 대상으로 하는 디바이스 그룹 ID입니다.
-
--deployment-id
: 이 배포를 식별하는 ID입니다.
-
--update-name
, --update-provider
및 --update-version
: 이 배포의 업데이트에 updateId
대한 고유 식별자인 개체를 정의하는 매개 변수입니다.
다음과 같이 명령을 실행합니다.
az iot du device deployment create \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID> \
--update-name <update name> \
--update-provider <update provider> \
--update-version <update version>
선택적 인수 사용
선택적 인수를 사용하면 배포를 추가로 구성할 수 있습니다. 선택적 인수의 전체 목록은 선택적 매개 변수를 참조 하세요.
자동 롤백 정책을 만들려면 다음 매개 변수를 추가합니다.
-
--failed-count
: 롤백을 트리거하는 배포에서 실패한 디바이스의 수입니다.
-
--failed-percentage
: 롤백을 트리거하는 배포에서 실패한 디바이스의 백분율입니다.
-
--rollback-update-name
, --rollback-update-provider
--rollback-update-version
: 롤백이 시작되는 경우 사용할 업데이트에 대한 매개 변수입니다.
다음과 같이 명령을 실행합니다.
az iot du device deployment create \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID> \
--update-name <update name> \
--update-provider <update provider> \
--update-version <update version> \
--failed-count 10 \
--failed-percentage 5 \
--rollback-update-name <rollback update name> \
--rollback-update-provider <rollback update provider> \
--rollback-update-version <rollback update version>
배포 시작 시간을 설정하려면 다음과 같이 매개 변수를 사용하여 --start-time
배포에 대한 대상 날짜 및 시간을 제공합니다.
az iot du device deployment create \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group id> \
--deployment-id <deployment id> \
--update-name <update name> \
--update-provider <update provider> \
--update-version <update version> \
--start-time "2022-12-20T01:00:00"
배포 상태 모니터링
업데이트 페이지의 그룹 및 배포 탭에서 배포한 그룹을 선택합니다.
그룹 세부 정보 페이지에서 현재 배포 또는 배포 기록 탭으로 이동하여 배포가 진행 중인지 확인합니다.
배포 옆의 세부 정보를 선택하여 배포 세부 정보, 업데이트 세부 정보 및 대상 디바이스 클래스 세부 정보를 확인합니다. 필요에 따라 디바이스 클래스의 이름을 추가할 수 있습니다.
최신 상태 세부 정보를 보려면 새로 고침을 선택합니다.
그룹 세부 정보 페이지의 그룹 기본 사항 탭으로 이동하여 특정 디바이스의 상태를 검색하거나 필터링하여 배포에 실패한 디바이스를 봅니다.
az iot du device deployment list를 사용하여 디바이스 그룹에 대한 모든 배포를 볼 수 있습니다.
az iot du device deployment list \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group id>
az iot du device deployment show를 사용하여 특정 배포의 세부 정보를 확인합니다.
az iot du device deployment show \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID>
배포 진행 중, 배포 완료 또는 배포 실패 디바이스의 수에 대한 정보를 반환하는 --status
플래그를 추가합니다.
az iot du device deployment show \
--account <Device Update account name> \
--instance <Device Update instance name> \
--group-id <device group ID> \
--deployment-id <deployment ID> \
--status
업데이트 배포 다시 시도
배포에 실패하면 실패한 디바이스에 대한 배포를 다시 시도할 수 있습니다.
그룹 세부 정보 화면의 현재 배포 탭으로 이동합니다.
실패한 디바이스 다시 시도를 선택하고 확인 알림을 승인합니다.
az iot du device deployment retry를 사용하여 디바이스의 대상 하위 그룹에 대한 배포를 다시 시도합니다.
이 명령은 디바이스 업데이트 에이전트에서 보고한 모델 ID 및 호환성 속성에서 생성된 --class-id
인수를 사용합니다.
az iot du device deployment retry \
--account <Device Update account name> \
--instance <Device Update instance name> \
--deployment-id <deployment ID> \
--group-id <device group ID> \
--class-id <device class ID>
관련 콘텐츠