빠른 시작: Azure CLI를 사용하여 IoT Hub Device Provisioning Service 설정

명령줄 또는 스크립트에서 Azure 리소스를 만들고 관리하는 데 Azure CLI가 사용됩니다. 이 빠른 시작에서는 Azure CLI를 사용하여 IoT 허브 및 IoT Hub Device Provisioning Service 인스턴스를 만들고 두 서비스를 연결하는 방법에 대해 자세히 설명합니다.

Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.

Important

이 빠른 시작에서 만드는 IoT 허브 및 프로비저닝 서비스는 모두 DNS 엔드포인트로 공개적으로 검색할 수 있습니다. 이러한 리소스에 사용되는 이름을 변경하려는 경우 중요한 정보가 공개되지 않도록 합니다.

필수 조건

리소스 그룹 만들기

az group create 명령을 사용하여 리소스 그룹을 만듭니다. Azure 리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다.

다음 예제에서는 westus 위치에 my-sample-resource-group이라는 리소스 그룹을 만듭니다.

az group create --name my-sample-resource-group --location westus

이 예제에서는 리소스 그룹을 미국 서부 위치에 만듭니다. az account list-locations -o table 명령을 실행하여 사용할 수 있는 위치의 목록을 볼 수 있습니다.

IoT Hub 만들기

az iot hub create 명령을 사용하여 IoT 허브를 만듭니다.

다음 예제에서는 westus 위치에 my-sample-hub라는 IoT 허브를 만듭니다. IoT 허브 이름은 Azure에서 전역적으로 고유해야 하므로 예 이름에 고유한 접두사 또는 접미사를 추가하거나 완전히 새 이름을 선택합니다. 이름이 IoT 허브에 대한 명명 규칙을 준수해야 합니다. 즉, 길이는 3-50자여야 하고, 대문자나 소문자 영숫자 또는 하이픈('-')만 포함할 수 있습니다.

az iot hub create --name my-sample-hub --resource-group my-sample-resource-group --location westus

Device Provisioning Service 인스턴스 만들기

az iot dps create 명령을 사용하여 Device Provisioning Service 인스턴스를 만듭니다.

다음 예에서는 westus 위치에 my-sample-dps라는 Device Provisioning Service 인스턴스를 만듭니다. 또한 고유의 인스턴스에 대해 전역적으로 고유한 이름을 선택해야 합니다. 이름이 IoT Hub Device Provisioning Service에 대한 명명 규칙을 준수해야 합니다. 즉, 길이는 3-64자여야 하고, 대문자나 소문자 영숫자 또는 하이픈('-')만 포함할 수 있습니다.

az iot dps create --name my-sample-dps --resource-group my-sample-resource-group --location westus

이 예제에서는 프로비전 서비스를 미국 서부 지역에 만듭니다. az provider show --namespace Microsoft.Devices --query "resourceTypes[?resourceType=='ProvisioningServices'].locations | [0]" --out table 명령을 실행하거나 Azure 상태 페이지로 이동하여 “Device Provisioning Service”를 검색함으로써 사용 가능한 위치 목록을 볼 수 있습니다. 명령에서 위치는 단일 또는 다중 단어 형식(예: westus, West US, WEST US 등)으로 지정할 수 있습니다. 값은 대/소문자를 구분하지 않습니다. 다중 단어 형식을 사용하여 위치를 지정하는 경우 값을 따옴표로 묶습니다(예: --location "West US").

복원력과 안정성을 위해 가용성 영역을 지원하는 지역 중 하나에 배포하는 것이 좋습니다.

IoT 허브에 대한 연결 문자열 가져오기

Device Provisioning Service와 연결하려면 IoT 허브의 연결 문자열이 필요합니다. az iot hub connection-string show 명령을 사용하여 연결 문자열을 가져오고 해당 출력을 사용하여 나중에 두 리소스를 연결할 때 사용되는 변수를 설정합니다.

다음 예제에서는 hubConnectionString 변수를 허브의 iothubowner 정책에 있는 기본 키에 대한 연결 문자열 값으로 설정합니다(--policy-name 매개 변수를 사용하여 다른 정책을 지정할 수 있음). my-sample-hub를 앞에서 선택한 고유한 IoT 허브 이름으로 바꿉니다. 이 명령은 Azure CLI queryoutput 옵션을 사용하여 명령 출력에서 연결 문자열을 추출합니다.

hubConnectionString=$(az iot hub connection-string show --name my-sample-hub --key primary --query connectionString -o tsv)

echo 명령을 사용하여 연결 문자열을 확인할 수 있습니다.

echo $hubConnectionString

참고 항목

이러한 두 명령은 Bash에서 실행되는 호스트에 유효합니다.

로컬 Windows/CMD 셸 또는 PowerShell 호스트를 사용하는 경우, 해당 환경에 대해 올바른 구문을 사용하도록 명령을 수정합니다.

Azure Cloud Shell을 사용하는 경우 셸 창의 왼쪽에 있는 환경 드롭다운에 Bash라고 표시되는지 확인합니다.

az iot dps linked-hub create 명령을 사용하여 IoT 허브와 프로비전 서비스를 연결합니다.

다음 예제에서는 westus 위치에 있는 my-sample-hub라는 IoT 허브와 my-sample-dps라는 디바이스 프로비저닝 서비스를 연결합니다. 두 이름을 이전에 선택한 고유한 IoT 허브 이름과 Device Provisioning Service 이름으로 바꿉니다. 이 명령은 이전 단계의 hubConnectionString 변수에 저장된 IoT 허브의 연결 문자열을 사용합니다.

az iot dps linked-hub create --dps-name my-sample-dps --resource-group my-sample-resource-group --connection-string $hubConnectionString --location westus

이 명령을 완료하는 데 몇 분 정도 걸릴 수 있습니다.

프로비전 서비스 확인

az iot dps show 명령을 사용하여 프로비전 서비스에 대한 세부 정보를 가져옵니다.

다음 예제에서는 my-sample-dps라는 프로비전 서비스에 대한 세부 정보를 가져옵니다. 이 이름을 사용자 고유의 Device Provisioning Service 이름으로 바꿉니다.

az iot dps show --name my-sample-dps

연결된 IoT 허브는 properties.iotHubs 컬렉션에 표시됩니다.

Provisioning Service 확인

리소스 정리

이 컬렉션의 다른 빠른 시작은 이 빠른 시작을 기반으로 구성됩니다. 다음 빠른 시작 또는 자습서를 사용하여 계속하려는 경우 이 빠른 시작에서 만든 리소스를 정리하지 않습니다. 계속하지 않으려는 경우 다음 명령을 사용하여 프로비전 서비스, IoT 허브 또는 리소스 그룹 및 모든 관련 리소스를 삭제할 수 있습니다. 다음 명령에 포함된 리소스 이름을 사용자 고유의 리소스 이름으로 바꿉니다.

프로비전 서비스를 삭제하려면 az iot dps delete 명령을 실행합니다.

az iot dps delete --name my-sample-dps --resource-group my-sample-resource-group

IoT 허브를 삭제하려면 az iot hub delete 명령을 실행합니다.

az iot hub delete --name my-sample-hub --resource-group my-sample-resource-group

리소스 그룹 및 모든 관련 리소스를 삭제하려면 az group delete 명령을 실행합니다.

az group delete --name my-sample-resource-group

다음 단계

이 빠른 시작에서는 IoT 허브 및 Device Provisioning Service 인스턴스를 배포하고, 두 리소스를 연결했습니다. 이 설정을 사용하여 디바이스를 프로비저닝하는 방법을 알아보려면 디바이스를 만들기 위한 빠른 시작으로 계속 진행하세요.