적용 대상: IoT Edge 1.1
중요합니다
IoT Edge 1.1 지원 종료 날짜는2022년 12월 13일이었습니다. 이 제품, 서비스, 기술 또는 API가 지원되는 방법에 대한 정보는 Microsoft 제품 수명 주기를 확인하세요. 최신 버전의 IoT Edge로 업데이트하는 방법에 대한 자세한 내용은 업데이트 IoT Edge참조하세요.
이 문서에서는 대칭 키를 사용하여 하나 이상의 Windows IoT Edge 디바이스를 자동 프로비전하는 엔드투엔드 지침을 제공합니다. Azure IoT Hub DPS(Device Provisioning Service)를 사용하여 Azure IoT Edge 디바이스를 자동으로 프로비전할 수 있습니다. 자동 프로비전 프로세스에 익숙하지 않은 경우 계속하기 전에 프로비전 개요를 검토하세요.
비고
Windows 컨테이너가 있는 Azure IoT Edge는 Azure IoT Edge 버전 1.2부터 지원되지 않습니다.
Windows 디바이스에서 IoT Edge를 실행하기 위한 새 방법으로Linux용 Azure IoT Edge 사용을 고려하십시오.
Windows에서 Linux용 Azure IoT Edge를 사용하려는 경우 해당하는 방법 가이드단계를 따를 수 있습니다.
작업은 다음과 같습니다.
- 단일 디바이스에 대한 개별 등록 또는 디바이스 세트에 대한 그룹 등록을 만듭니다.
- IoT Edge 런타임을 설치하고 IoT Hub에 연결합니다.
대칭 키 증명은 디바이스 프로비저닝 서비스 인스턴스로 디바이스를 인증하는 간단한 방법입니다. 이 증명 방법은 디바이스 프로비저닝을 처음 사용하는 개발자나 엄격한 보안 요구 사항이 없는 개발자를 위한 "Hello World" 환경을 나타냅니다. TPM 또는 X.509 인증서를 사용하는 디바이스 증명은 더욱 안전하며, 보다 엄격한 보안 요구 사항에 사용해야 합니다.
필수 조건
클라우드 리소스
- 활성 IoT 허브
- IoT 허브에 연결된 Azure의 IoT Hub Device Provisioning Service 인스턴스
- 디바이스 프로비저닝 서비스 인스턴스가 없는 경우 IoT Hub Device Provisioning Service 빠른 시작의 새 IoT Hub Device Provisioning Service 만들기 및 IoT 허브와 디바이스 프로비저닝 서비스 연결 섹션의 지침을 따를 수 있습니다.
- 디바이스 프로비저닝 서비스를 실행한 후 개요 페이지에서 ID 범위 값을 복사합니다. IoT Edge 런타임을 구성하는 경우 이 값을 사용합니다.
디바이스 요구 사항
IoT Edge 디바이스로 사용할 물리적 또는 가상 Windows 디바이스입니다.
각 디바이스를 식별하려면 고유한등록 ID를 정의해야 합니다. 디바이스에서 MAC 주소, 일련 번호 또는 고유 정보를 사용할 수 있습니다. 이 예제에서는 등록 ID에 대한 sn-007-888-abc-mac-a1-b2-c3-d4-e5-f6
문자열을 형성하는 MAC 주소와 일련 번호의 조합을 사용합니다. 유효한 문자는 소문자 영숫자 및 대시(-
)입니다.
DPS 등록 만들기
DPS를 통해 하나 이상의 디바이스를 프로비전하려면 등록을 만듭니다.
단일 IoT Edge 디바이스를 프로비전하려는 경우 개별 등록을 만듭니다. 여러 디바이스를 프로비전해야 하는 경우 DPS 그룹 등록 만들기 단계를 따릅니다.
DPS에서 등록을 만들 때 초기 디바이스 트윈 상태를 선언할 기회가 있습니다. 디바이스 쌍에서 지역, 환경, 위치 또는 디바이스 유형 같은 솔루션에 필요한 모든 메트릭으로 디바이스 그룹에 태그를 설정할 수 있습니다. 이러한 태그는 자동 배포를 만드는 데 사용됩니다.
디바이스 프로비저닝 서비스의 등록에 대한 자세한 내용은 디바이스 등록을 관리하는 방법을 참조하세요.
DPS 개별 등록 만들기
팁 (조언)
이 문서의 단계는 Azure Portal에 대한 것이지만 Azure CLI를 사용하여 개별 등록을 만들도록 할 수도 있습니다. 자세한 내용은 az iot dps enrollment를 참조하세요. CLI 명령의 일부로 엣지 사용 플래그를 사용하여 IoT Edge 장치를 등록하도록 지정합니다.
Azure Portal에서 IoT Hub Device Provisioning Service 인스턴스로 이동합니다.
설정에서 등록 관리를 선택합니다.
등록을 구성하려면 개별 등록 추가를 선택한 다음, 다음 단계를 완료합니다.
메커니즘에서 대칭 키를 선택합니다.
디바이스에 대한 고유한 등록 ID를 제공합니다.
원하는 경우, 디바이스에 대한 IoT Hub 디바이스 ID를 제공합니다. 디바이스 ID를 사용하여 모듈 배포에 대한 개별 디바이스를 대상으로 할 수 있습니다. 디바이스 ID를 제공하지 않으면 등록 ID가 사용됩니다.
등록이 IoT Edge 디바이스에 대한 것이라고 선언하려면 True를 선택합니다.
원하는 경우, 초기 디바이스 쌍 상태에 태그 값을 추가합니다. 태그를 사용하여 모듈 배포에 대한 디바이스 그룹을 대상으로 할 수 있습니다. 다음은 그 예입니다.
{ "tags": { "environment": "test" }, "properties": { "desired": {} } }
저장을 선택합니다.
IoT Edge 런타임을 설치할 때 사용할 개별 등록의 기본 키 값을 복사합니다.
이제 이 디바이스에 대한 등록이 존재하므로 IoT Edge 런타임은 설치 중에 디바이스를 자동으로 프로비저닝할 수 있습니다.
IoT Edge 설치
이 섹션에서는 IoT Edge용 Windows VM 또는 물리적 디바이스를 준비합니다. 그런 다음, IoT Edge를 설치합니다.
Azure IoT Edge OCI 호환 컨테이너 런타임을 사용합니다. moby 기반 엔진인 Moby설치 스크립트에 포함되어 있으므로 엔진을 설치하는 추가 단계가 없습니다.
IoT Edge 런타임을 설치하려면 다음을 수행합니다.
관리자로 PowerShell을 실행합니다.
PowerShell(x86)이 아닌 PowerShell의 AMD64 세션을 사용합니다. 사용 중인 세션 유형이 확실하지 않은 경우 다음 명령을 실행합니다.
(Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
다음 작업을 수행하는 Deploy-IoTEdge 명령을 실행합니다.
- Windows 컴퓨터가 지원되는 버전에 있는지 확인합니다.
- 컨테이너 기능 켜기
- Moby 엔진 및 IoT Edge 런타임을 다운로드합니다.
. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; ` Deploy-IoTEdge
메시지가 표시되면 디바이스를 다시 시작합니다.
디바이스에 IoT Edge를 설치하는 경우 추가 매개 변수를 사용하여 다음을 포함한 프로세스를 수정할 수 있습니다.
- 프록시 서버를 통해 이동하도록 트래픽을 직접 지정합니다.
- 오프라인 설치를 위해 설치 관리자를 로컬 디렉터리로 가리킵니다.
이러한 추가 매개 변수에 대한 자세한 내용은 Windows 컨테이너 있는 IoT Edge용 PowerShell 스크립트참조하세요.
클라우드 ID를 사용하여 디바이스를 구성하십시오.
런타임이 디바이스에 설치되면 디바이스를 Device Provisioning Service 및 IoT Hub에 연결하는 데 사용되는 정보로 구성합니다.
다음 정보를 준비합니다.
- DPS ID 범위 값
- 만든 디바이스 등록 ID
- 개별 등록의 기본 키 또는 그룹 등록을 사용하는 장치의 파생 키 중 하나입니다.
관리자 모드에서 PowerShell 창을 엽니다. PowerShell(x86)이 아닌 IoT Edge를 설치할 때 PowerShell의 AMD64 세션을 사용해야 합니다.
Initialize-IoTEdge 명령은 머신에서 IoT Edge 런타임을 구성합니다. 이 명령은 기본적으로 Windows 컨테이너를 사용한 수동 프로비저닝으로 설정되므로
-DpsSymmetricKey
플래그를 사용하여 대칭 키 인증으로 자동 프로비저닝을 사용합니다.paste_scope_id_here
,paste_registration_id_here
및paste_symmetric_key_here
자리 표시자 값을 이전에 수집한 데이터로 바꿉다.. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; ` Initialize-IoTEdge -DpsSymmetricKey -ScopeId paste_scope_id_here -RegistrationId paste_registration_id_here -SymmetricKey paste_symmetric key_here
성공적인 설치 확인
런타임이 성공적으로 시작한 경우 IoT Hub로 이동하고 디바이스에 IoT Edge 모듈 배포를 시작할 수 있습니다.
Device Provisioning Service에서 만든 개별 등록이 사용되었는지 확인할 수 있습니다. Azure Portal에서 Device Provisioning Service 인스턴스로 이동합니다. 귀하가 생성한 개인 등록의 등록 세부 정보를 엽니다. 등록 상태가 할당됨이고 디바이스 ID가 나열된 것을 확인할 수 있습니다.
디바이스에서 다음 명령을 사용하여 IoT Edge가 성공적으로 설치되고 시작되는지 확인합니다.
IoT Edge 서비스의 상태를 확인합니다.
Get-Service iotedge
서비스 로그를 검사합니다.
. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog
실행 중인 모듈을 나열합니다.
iotedge list
다음 단계
디바이스 프로비전 서비스 등록 프로세스를 사용하면 새 디바이스를 프로비전할 때 디바이스 ID 및 디바이스 트윈 태그를 동시에 설정할 수 있습니다. 자동 디바이스 관리를 사용하여 개별 디바이스 또는 디바이스 그룹을 대상으로 하려면 이러한 값을 사용할 수 있습니다. Azure CLI를 사용하거나 Azure Portal을 사용하여 대규모로 IoT Edge 모듈을 배포하고 모니터링하는 방법을 알아봅니다.