빠른 시작: Azure CLI를 사용하여 IoT Hub Device Provisioning Service 설정
명령줄 또는 스크립트에서 Azure 리소스를 만들고 관리하는 데 Azure CLI가 사용됩니다. 이 빠른 시작에서는 Azure CLI를 사용하여 IoT 허브 및 IoT Hub Device Provisioning Service 인스턴스를 만들고 두 서비스를 연결하는 방법에 대해 자세히 설명합니다.
Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.
Important
이 빠른 시작에서 만드는 IoT 허브 및 프로비저닝 서비스는 모두 DNS 엔드포인트로 공개적으로 검색할 수 있습니다. 이러한 리소스에 사용되는 이름을 변경하려는 경우 중요한 정보가 공개되지 않도록 합니다.
필수 조건
Azure Cloud Shell에서 Bash 환경을 사용합니다. 자세한 내용은 Azure Cloud Shell의 Bash에 대한 빠른 시작을 참조하세요.
CLI 참조 명령을 로컬에서 실행하려면 Azure CLI를 설치합니다. Windows 또는 macOS에서 실행 중인 경우 Docker 컨테이너에서 Azure CLI를 실행하는 것이 좋습니다. 자세한 내용은 Docker 컨테이너에서 Azure CLI를 실행하는 방법을 참조하세요.
로컬 설치를 사용하는 경우 az login 명령을 사용하여 Azure CLI에 로그인합니다. 인증 프로세스를 완료하려면 터미널에 표시되는 단계를 수행합니다. 다른 로그인 옵션은 Azure CLI를 사용하여 로그인을 참조하세요.
메시지가 표시되면 처음 사용할 때 Azure CLI 확장을 설치합니다. 확장에 대한 자세한 내용은 Azure CLI에서 확장 사용을 참조하세요.
az version을 실행하여 설치된 버전과 종속 라이브러리를 찾습니다. 최신 버전으로 업그레이드하려면 az upgrade를 실행합니다.
리소스 그룹 만들기
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 query 및 output 옵션을 사용하여 명령 출력에서 연결 문자열을 추출합니다.
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라고 표시되는지 확인합니다.
IoT 허브 및 프로비전 서비스 연결
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 컬렉션에 표시됩니다.
리소스 정리
이 컬렉션의 다른 빠른 시작은 이 빠른 시작을 기반으로 구성됩니다. 다음 빠른 시작 또는 자습서를 사용하여 계속하려는 경우 이 빠른 시작에서 만든 리소스를 정리하지 않습니다. 계속하지 않으려는 경우 다음 명령을 사용하여 프로비전 서비스, 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 인스턴스를 배포하고, 두 리소스를 연결했습니다. 이 설정을 사용하여 디바이스를 프로비저닝하는 방법을 알아보려면 디바이스를 만들기 위한 빠른 시작으로 계속 진행하세요.