Azure Device Update for IoT Hub를 사용하여 업데이트 배포
이 문서의 내용
이 문서에서는 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>
관련 콘텐츠