적용 대상:
IoT Edge 1.1
중요합니다
IoT Edge 1.1 지원 종료 날짜는 2022년 12월 13일이었습니다. 이 제품, 서비스, 기술 또는 API가 지원되는 방법에 대한 정보는 Microsoft 제품 수명 주기를 확인하세요. 최신 버전의 IoT Edge로 업데이트하는 방법에 대한 자세한 내용은 업데이트 IoT Edge를 참조하세요.
Azure IoT Edge 런타임은 디바이스를 IoT Edge 디바이스로 바꿔줍니다. 런타임은 Raspberry Pi처럼 작은 디바이스 또는 산업용 서버처럼 큰 디바이스에 배포할 수 있습니다. 디바이스가 IoT Edge 런타임을 사용하여 구성되면 클라우드에서 디바이스에 비즈니스 논리를 배포할 수 있습니다.
IoT Edge 런타임의 작동 방식과 포함된 구성 요소에 대한 자세한 내용은 Azure IoT Edge 런타임 및 해당 아키텍처를 참조하세요.
이 문서에서는 미리 제공된 디바이스 연결 문자열을 사용하여 Azure IoT Edge 런타임이 설치되고 구성된 Ubuntu 18.04 LTS 가상 머신을 배포하는 단계를 나열합니다. 배포는 iotedge-vm-deploy 프로젝트 리포지토리에서 유지 관리되는 cloud-init 기반 Azure Resource Manager 템플릿을 사용하여 수행됩니다.
첫 번째 부팅 시 가상 머신은 cloud-init를 통해 최신 버전의 Azure IoT Edge 런타임을 설치합니다. 또한 런타임이 시작되기 전에 제공된 연결 문자열을 설정하여 SSH 또는 원격 데스크톱 세션을 시작할 필요 없이 IoT Edge 디바이스를 쉽게 구성하고 연결할 수 있습니다.
[Azure에 배포] 단추를 사용하여 배포
Azure에 배포 단추를 사용하면 GitHub에서 유지 관리되는 Azure Resource Manager 템플릿을 효율적으로 배포할 수 있습니다. 이 섹션에서는 iotedge-vm-deploy 프로젝트 리포지토리에 포함된 Azure에 배포 단추를 사용하는 방법을 보여 줍니다.
iotedge-vm-deploy Azure Resource Manager 템플릿을 사용하여 Azure IoT Edge 지원 Linux VM을 배포합니다. 시작하려면 아래 단추를 클릭합니다.
새로 시작된 창에서 사용 가능한 양식 필드를 채웁니다.
분야 설명 구독 가상 머신을 배포하는 데 사용할 활성 Azure 구독입니다. 리소스 그룹 가상 머신 및 연결되는 해당 리소스를 포함할 기존 리소스 그룹 또는 새로 만든 리소스 그룹입니다. 지역 가상 머신을 배포할 지리적 지역 입니다. 이 값은 기본적으로 선택한 리소스 그룹의 위치로 설정됩니다. DNS 레이블 접두사 가상 머신의 호스트 이름을 접두사로 지정하는 데 사용되는 선택 항목의 필수 값입니다. 관리자 사용자 이름 배포에 대한 루트 권한을 제공하는 사용자 이름입니다. 디바이스 연결 문자열 의도한 IoT Hub 내에서 만들어진 디바이스에 대한 디바이스 연결 문자열입니다. VM 크기 배포할 가상 머신의 크기입니다. Ubuntu OS 버전 기본 가상 머신에 설치할 Ubuntu OS의 버전입니다. 인증 유형 기본 설정에 따라 sshPublicKey 또는 암호를 선택합니다. 관리자 암호 또는 키 선택한 인증 유형에 따른 SSH 공개 키 또는 암호의 값입니다. 모든 필드가 채워지면 아래쪽의 단추를 클릭하여 용어를 검토할 수 있는 위치로 이동하고
Next : Review + create만들기 를 클릭하여 배포를 시작합니다.배포가 성공적으로 완료되었는지 확인합니다. 가상 머신 리소스는 선택한 리소스 그룹에 배포되어야 합니다. 머신 이름을 적어 둡니다. 이는
vm-0000000000000형식이어야 합니다. 또한 .형식<dnsLabelPrefix><location>이어야 하는 연결된 DNS 이름을 기록해 둡다. cloudapp.azure.com.DNS 이름은 Azure Portal 내에서 새로 배포된 가상 머신의 개요 섹션에서 가져올 수 있습니다.
설정 후에 SSH를 이 VM에 연결하려면 명령에서 연결된
ssh <adminUsername>@<DNS_Name>을 사용합니다.
Azure CLI에서 배포
다음을 사용하여 Azure CLI iot 확장을 설치했는지 확인합니다.
az extension add --name azure-iot다음으로, 데스크톱에서 Azure CLI를 사용하는 경우 다음에 로그인하여 시작합니다.
az login구독이 여러 개인 경우 사용할 구독을 선택합니다.
구독 나열:
az account list --output table사용하려는 구독의 SubscriptionID 필드를 복사합니다.
복사한 ID를 사용하여 작업 구독을 설정합니다.
az account set -s <SubscriptionId>
새 리소스 그룹을 만들거나, 다음 단계에서 기존 리소스 그룹을 지정합니다.
az group create --name IoTEdgeResources --location westus2새 가상 머신을 만듭니다.
authenticationType을
password사용하려면 아래 예제를 참조하세요.az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/1.1/edgeDeploy.json" \ --parameters dnsLabelPrefix='my-edge-vm1' \ --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \ --parameters authenticationType='password' \ --parameters adminUsername='<REPLACE_WITH_USERNAME>' \ --parameters adminPasswordOrKey="<REPLACE_WITH_SECRET_PASSWORD>"SSH 키를 사용하여 인증하려면 authenticationType 을
sshPublicKey지정한 다음 adminPasswordOrKey 매개 변수에 SSH 키 값을 제공하여 인증할 수 있습니다. 아래에 예제가 나와 있습니다.#Generate the SSH Key ssh-keygen -m PEM -t rsa -b 4096 -q -f ~/.ssh/iotedge-vm-key -N "" #Create a VM using the iotedge-vm-deploy script az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/1.1/edgeDeploy.json" \ --parameters dnsLabelPrefix='my-edge-vm1' \ --parameters adminUsername='<REPLACE_WITH_USERNAME>' \ --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \ --parameters authenticationType='sshPublicKey' \ --parameters adminPasswordOrKey="$(< ~/.ssh/iotedge-vm-key.pub)"배포가 성공적으로 완료되었는지 확인합니다. 가상 머신 리소스는 선택한 리소스 그룹에 배포되어야 합니다. 머신 이름을 적어 둡니다. 이는
vm-0000000000000형식이어야 합니다. 또한 .형식<dnsLabelPrefix><location>이어야 하는 연결된 DNS 이름을 기록해 둡다. cloudapp.azure.com.DNS 이름은 이전 단계의 JSON 형식 출력에서 출력 섹션의공용 SSH 항목의 일부로서 가져올 수 있습니다. 이 항목의 값을 사용하여 새로 배포된 머신에 SSH를 수행할 수 있습니다.
"outputs": { "public SSH": { "type": "String", "value": "ssh <adminUsername>@<DNS_Name>" } }AZURE Portal 내에서 새로 배포된 가상 머신의 개요 섹션에서 DNS 이름을 가져올 수도 있습니다.
설정 후에 SSH를 이 VM에 연결하려면 명령에서 연결된
ssh <adminUsername>@<DNS_Name>을 사용합니다.
다음 단계
이제 런타임이 설치된 IoT Edge 디바이스를 프로비전했으므로 IoT Edge 모듈을 배포할 수 있습니다.
IoT Edge 런타임 설치에 문제가 있는 경우 문제 해결 페이지를 확인하세요.
기존 설치를 최신 버전의 IoT Edge로 업데이트하려면 IoT Edge 보안 디먼 및 런타임 업데이트를 참조하세요.
SSH 또는 기타 인바운드 연결을 통해 VM에 액세스하기 위해 포트를 열려면 Linux VM에 대한 포트 및 엔드포인트 열기에 대한 Azure Virtual Machines 설명서를 참조하세요.