빠른 시작: Azure CLI를 사용하여 IoT Hub Device Provisioning Service 설정
명령줄 또는 스크립트에서 Azure 리소스를 만들고 관리하는 데 Azure CLI가 사용됩니다. 이 빠른 시작에서는 Azure CLI를 사용하여 IoT Hub 및 IoT Hub Device Provisioning Service 인스턴스를 만들고 두 서비스를 함께 연결하는 방법을 자세히 설명합니다.
Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.
Important
이 빠른 시작에서 만드는 IoT Hub 및 프로비저닝 서비스는 모두 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 Hub를 만듭니 다.
다음 예제에서는 westus 위치에 my-sample-hub라는 IoT 허브를 만듭니다. IoT Hub 이름은 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, 미국 서부, 미국 서부 등 값은 대/소문자를 구분하지 않습니다. 다중 단어 형식을 사용하여 위치를 지정하는 경우 값을 따옴표로 묶습니다(예: --location "West US"
).
복원력과 안정성을 위해 가용성 영역 지원하는 지역 중 하나에 배포하는 것이 좋습니다.
IoT Hub에 대한 연결 문자열 가져오기
Device Provisioning Service와 연결하려면 IoT Hub의 연결 문자열 필요합니다. az iot hub show-connection-string 명령을 사용하여 연결 문자열 가져와서 출력을 사용하여 두 리소스를 연결할 때 나중에 사용되는 변수를 설정합니다.
다음 예제에서는 허브커넥트ionString 변수를 허브의 iothubowner 정책의 기본 키에 대한 연결 문자열 값으로 설정합니다(--policy-name
매개 변수를 사용하여 다른 정책을 지정할 수 있습니다). my-sample-hub를 앞에서 선택한 고유한 IoT 허브 이름으로 바꿉니다. 이 명령은 Azure CLI 쿼리 및 출력 옵션을 사용하여 명령 출력에서 연결 문자열 추출합니다.
hubConnectionString=$(az iot hub show-connection-string --name my-sample-hub --key primary --query connectionString -o tsv)
echo
명령을 사용하여 연결 문자열을 확인할 수 있습니다.
echo $hubConnectionString
참고 항목
이 두 명령은 Bash에서 실행되는 호스트에 유효합니다.
로컬 Windows/CMD 셸 또는 PowerShell 호스트를 사용하는 경우 해당 환경에 올바른 구문을 사용하도록 명령을 수정합니다.
Azure Cloud Shell을 사용하는 경우 셸 창의 왼쪽에 있는 환경 드롭다운이 Bash라고 검사.
IoT Hub 및 프로비저닝 서비스 연결
az iot dps linked-hub create 명령을 사용하여 IoT Hub 및 프로비저닝 서비스를 연결합니다.
다음 예제에서는 westus 위치에 my-sample-hub라는 IoT 허브와 my-sample-dps라는 Device Provisioning Service를 연결합니다. 이러한 이름은 이전에 선택한 고유한 IoT Hub 및 Device Provisioning Service 이름으로 바꿉니다. 이 명령은 이전 단계에서 허브커넥트ionString 변수에 저장된 IoT Hub에 대한 연결 문자열 사용합니다.
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 Hub는 properties.iotHubs 컬렉션에 표시됩니다.
리소스 정리
이 컬렉션의 다른 빠른 시작은 이 빠른 시작을 기반으로 구성됩니다. 후속 빠른 시작 또는 자습서를 계속 사용하려는 경우 이 빠른 시작에서 만든 리소스를 클린 않습니다. 계속하지 않으려는 경우 다음 명령을 사용하여 프로비저닝 서비스, IoT 허브 또는 리소스 그룹 및 모든 리소스를 삭제할 수 있습니다. 다음 명령에 포함된 리소스의 이름을 사용자 고유의 리소스 이름으로 바꿉니다.
프로비전 서비스를 삭제하려면 az iot dps delete 명령을 실행합니다.
az iot dps delete --name my-sample-dps --resource-group my-sample-resource-group
IoT Hub를 삭제하려면 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 Hub와 Device Provisioning Service 인스턴스를 배포하고 두 리소스를 연결했습니다. 이 설정을 사용하여 디바이스를 프로비저닝하는 방법을 알아보려면 디바이스를 만들기 위한 빠른 시작으로 계속 진행하세요.