디바이스를 다시 프로비전하는 방법
IoT 솔루션의 수명 주기 동안 IoT Hub 간에 디바이스를 이동하는 것이 일반적입니다. 본 항목은 재프로비저닝 정책을 구성하는 솔루션 운영자를 지원하기 위해 작성되었습니다.
재프로비저닝 시나리오에 대한 자세한 내용은 IoT Hub Device 재프로비저닝 개념을 참조하세요.
정책 다시 프로비전 설정
다음 단계에서는 개별 등록 또는 등록 그룹에 대한 다시 프로비전 정책을 구성합니다.
Azure Portal에 로그인하고, Device Provisioning Service 인스턴스로 이동합니다.
등록 관리를 선택한 다음, 등록 그룹 또는 개별 등록 탭을 선택합니다.
다시 프로비전하도록 구성하려는 등록 그룹 또는 개별 등록의 이름을 선택합니다.
다시 프로비전 정책 아래의 드롭다운 메뉴를 사용하여 다음 다시 프로비전 정책 중 하나를 선택합니다.
디바이스 다시 프로비전 안 함
디바이스를 다시 프로비전하고 초기 상태로 다시 설정: 이 정책은 등록 항목과 연결된 디바이스에서 새 프로비전 요청을 제출하면 작업을 수행합니다. 등록 항목 구성에 따라 디바이스가 다른 IoT 허브에 다시 할당될 수 있습니다. 디바이스에서 IoT 허브가 변경되면 초기 IoT 허브에 대한 디바이스 등록이 제거됩니다. 디바이스가 프로비전되었을 때 프로비전 서비스 인스턴스 받은 초기 구성 데이터는 새 IoT 허브에 제공됩니다. 마이그레이션 중에는 디바이스가 할당 중으로 보고됩니다.
디바이스를 다시 프로비전하고 현재 상태 마이그레이션: 이 정책은 등록 항목과 연결된 디바이스에서 새 프로비전 요청을 제출하면 작업을 수행합니다. 등록 항목 구성에 따라 디바이스가 다른 IoT 허브에 다시 할당될 수 있습니다. 디바이스에서 IoT 허브가 변경되면 초기 IoT 허브에 대한 디바이스 등록이 제거됩니다. 초기 IoT 허브의 모든 디바이스 상태 정보는 새 IoT 허브로 마이그레이션됩니다. 마이그레이션 중에는 디바이스가 할당 중으로 보고됩니다.
저장을 선택하여 변경 내용에 따라 디바이스의 다시 프로비전을 사용하도록 설정합니다.
등록 할당 정책 구성
할당 정책은 등록과 관련된 디바이스를 다시 프로비전한 후 IoT 허브에 할당하는 방법을 결정합니다. 할당 정책에 대한 자세한 내용은 할당 정책 사용 방법을 참조하세요.
디바이스 등록에 대한 할당 정책을 구성하는 단계는 다음과 같습니다.
Azure Portal에 로그인하고, Device Provisioning Service 인스턴스로 이동합니다.
등록 관리를 선택한 다음, 등록 그룹 또는 개별 등록 탭을 선택합니다.
다시 프로비전하도록 구성하려는 등록 그룹 또는 개별 등록의 이름을 선택합니다.
등록 세부 정보 페이지에서 IoT 허브 탭을 선택합니다.
다음 할당 정책 중 하나를 선택합니다.
정적: 이 정책을 사용하려면 프로비전할 디바이스에 대한 등록 항목에 원하는 IoT 허브가 나열되어야 합니다. 이 정책을 사용하면 디바이스를 할당하려는 단일 특정 IoT Hub를 지정할 수 있습니다.
동일 가중 배포: 이 정책은 각 IoT 허브에 할당된 할당 가중치에 따라 IoT 허브 전체에 디바이스를 배포합니다. 할당 가중치가 더 높은 IoT Hub는 할당될 가능성이 더 높습니다. 디바이스를 단 하나의 IoT Hub에 프로비전하려면 이 설정을 사용하는 것이 좋습니다. 이 설정이 기본값입니다.
최저 대기 시간: 디바이스와 IoT Hub 간에 최저 대기 시간으로 통신할 수 있는 IoT Hub에 디바이스를 할당합니다. 이 정책을 사용하면 디바이스가 위치에 따라 가장 가까운 IoT 허브와 통신할 수 있습니다.
사용자 지정(Azure Function 사용) : 이 정책은 Azure Functions에서 호스트되는 사용자 지정 웹후크를 사용하여 하나 이상의 IoT 허브에 디바이스를 할당합니다. 사용자 지정 할당 정책을 사용하면 디바이스를 IoT Hub에 할당하는 방법을 더 자세히 제어할 수 있습니다. 자세한 내용은 사용자 지정 할당 정책 이해를 참조하세요.
대상 IoT 허브 아래에서 할당 정책에 포함할 연결된 IoT 허브를 선택합니다. 필요에 따라 IoT 허브에 대한 연결 추가 단추를 사용하여 연결된 새 Iot 허브를 추가합니다.
정적 구성 할당 정책을 사용하면 디바이스가 할당할 IoT 허브를 선택합니다.
동일 가중 배포 할당 정책을 사용하면 구성된 할당 가중치에 따라 선택한 IoT Hub 전체에서 디바이스가 해시됩니다.
최저 대기 시간 할당 정책을 사용하면 선택한 IoT Hub가 대기 시간 평가에 포함되어 디바이스 할당에 가장 가까운 IoT Hub허브를 결정합니다.
사용자 지정 할당 정책을 사용하여 사용자 지정 할당 웹후크에서 할당을 평가하려는 IoT Hub를 선택합니다.
저장을 선택합니다.
디바이스에서 프로비전 요청 보내기
이전 섹션에서 변경한 구성에 따라 디바이스를 다시 프로비전하려면 해당 디바이스에서 다시 프로비전을 요청해야 합니다.
디바이스에서 프로비전 요청을 제출하는 빈도는 시나리오에 따라 다릅니다. 솔루션을 설계하고 다시 프로비전 논리를 정의할 때 고려해야 할 몇 가지 사항이 있습니다. 예시:
- 디바이스가 다시 시작될 것으로 예상되는 빈도
- DPS 할당량 및 한도
- 집합에 대한 예상 배포 시간(단계적 롤아웃과 한 번에 모두 비교)
- Azure 아키텍처 센터의 다시 시도 일반 지침에 설명된 대로 클라이언트 코드에 구현된 다시 시도 기능
팁
특히 수천 또는 수백만 개의 디바이스를 한 번에 다시 프로비전할 때 서비스 제한 한도에 도달할 수 있으므로 디바이스를 다시 부팅할 때마다 프로비저닝하지 않는 것이 좋습니다. 대신 Device Registration Status Lookup API를 사용하고 해당 정보를 IoT Hub에 연결해야 합니다. 실패하면 IoT Hub 정보가 변경되었을 수 있으므로 다시 프로비전을 시도합니다. 등록 상태를 쿼리하면 새 디바이스 등록으로 간주되므로 디바이스 등록 한도를 고려해야 합니다. 또한 다시 시도 일반 지침에 설명된 대로 임의 추출을 사용한 지수 백오프와 같은 적절한 다시 시도 논리 구현을 고려합니다. 경우에 따라 디바이스 기능에 따라 DPS를 사용한 최초 프로비전이 발생한 후 IoT Hub에 직접 연결하기 위해 디바이스에 직접 IoT Hub 정보를 저장할 수 있습니다. 이렇게 하려면 허브에서 특정 오류가 발생하는 경우 대체 메커니즘을 구현해야 합니다. 예를 들어 다음 시나리오를 고려하세요.
- 결과 코드가 429(너무 많은 요청)이거나 5xx 범위의 오류인 경우 허브 작업을 다시 시도하세요. 다른 오류의 경우에는 재시도하지 마세요.
- 429 오류의 경우 Retry-After 헤더에 표시된 시간 이후에만 다시 시도합니다.
- 5xx 오류의 경우 응답 후 최소 5초 후에 첫 번째 다시 시도와 함께 지수 백오프를 사용합니다.
- 429 및 5xx 이외의 오류의 경우 DPS를 통해 다시 등록합니다.
- 이상적으로는 요청 시 수동으로 프로비전을 트리거하는 메서드도 지원해야 합니다.
또한 업데이트를 집합에 푸시하는 등의 활동을 계획할 때 서비스 한도를 고려해 두는 것이 좋습니다. 예를 들어 플릿을 한꺼번에 업데이트하면 모든 디바이스가 DPS를 통해 다시 등록될 수 있습니다(등록 할당량 한도를 쉽게 초과할 수 있음). 이러한 시나리오의 경우 전체 플릿을 동시에 업데이트하는 대신 단계적으로 디바이스 업데이트를 계획하는 것이 좋습니다.
다음 단계
- 다시 프로비저닝에 대한 자세한 내용은 IoT Hub 디바이스 다시 프로비전 개념을 참조하세요.
- 프로비전 해제에 대한 자세한 내용은 이전에 자동 프로비저닝된 디바이스의 프로비전을 해제하는 방법을 참조하세요.