適用対象: IoT Edge 1.5
重要
IoT Edge 1.5 LTS は、サポートされているリリースです。 IoT Edge 1.4 LTS は、2024 年 11 月 12 日をもってサポートが終了しています。 以前のリリースの場合は、「IoT Edge を更新する」を参照してください。
Azure IoT Edge ランタイムは、デバイスを IoT Edge デバイスに変換します。 Raspberry Pi と同じサイズのデバイス、または産業用サーバーと同じ大きさのデバイスにランタイムをデプロイします。 IoT Edge ランタイムを設定したら、クラウドからデバイスにビジネス ロジックをデプロイします。
IoT Edge ランタイムのしくみとそのコンポーネントの詳細については、 Azure IoT Edge ランタイムとそのアーキテクチャを理解する方法に関するページを参照してください。
この記事では、指定されたデバイス接続文字列を使用して Azure IoT Edge ランタイムがインストールされ、構成された Ubuntu 仮想マシンをデプロイする手順を示します。 デプロイでは、iotedge-vm-deploy プロジェクト リポジトリの cloud-init ベースの Azure Resource Manager テンプレートを使用します。
初回起動時に、仮想マシンは cloud-init を使用して最新バージョンの Azure IoT Edge ランタイムをインストールします。 また、ランタイムが開始される前に指定された接続文字列が設定されるため、SSH またはリモート デスクトップ セッションを開始することなく、IoT Edge デバイスをすばやく設定して接続できます。
[Deploy to Azure] ボタンを使用してデプロイする
[Azure へのデプロイ] ボタンを使用すると、GitHub から Azure Resource Manager テンプレートをすばやくデプロイできます。 このセクションでは、iotedge-vm-deploy プロジェクト リポジトリの [Azure にデプロイ] ボタンを使用する方法について説明します。
iotedge-vm-deploy Azure Resource Manager テンプレートを使用して、Azure IoT Edge 対応の Linux VM をデプロイします。 開始するには、次のボタンを選択します。
新しいウィンドウで、使用可能なフォーム フィールドの値を入力します。
フィールド 説明 サブスクリプション 仮想マシンをデプロイするためのアクティブな Azure サブスクリプション。 リソース グループ 仮想マシンとそれに関連付けられているリソースを格納する既存または新しいリソース グループ。 リージョン 仮想マシンをデプロイする 地理的リージョン 。 この値の既定値は、選択したリソース グループの場所です。 DNS ラベル プレフィックス 仮想マシンのホスト名にプレフィックスを付けるために選択する必要な値。 管理ユーザー名 デプロイに対するルート特権を持つユーザー名。 デバイスの接続文字列 IoT ハブ内で作成したデバイスのデバイス接続文字列。 VM のサイズ デプロイする仮想マシンの サイズ 。 Ubuntu OS バージョン ベース仮想マシンにインストールする Ubuntu OS のバージョン。 認証の種類 設定に基づいて sshPublicKey または パスワード を選択します。 [管理パスワードまたはキー] 選択した認証の種類に応じて、SSH 公開キーまたはパスワードの値。 Next : Review + create
を選択して用語を確認し、[作成] を選択してデプロイを開始します。デプロイが正常に完了したことを確認します。 仮想マシン リソースは、選択したリソース グループにデプロイされます。
vm-0000000000000
という形式のコンピューター名をメモします。 また、関連付けられている DNS 名 (<dnsLabelPrefix>
.<___location>
の形式) を書き留めます。cloudapp.azure.com。DNS 名は、Azure portal の新しい仮想マシンの [概要] セクションにあります。
設定後にこの VM に SSH 接続する場合は、以下のコマンドで、関連付けられている DNS 名を使用します。
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
新しい仮想マシンを作成します。
の
password
使用するには、次の例を使用します。az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/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='password' \ --parameters adminPasswordOrKey="<REPLACE_WITH_SECRET_PASSWORD>"
SSH キーを使用して認証するには、 の
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/main/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
形式です。 また、関連付けられている DNS 名 (<dnsLabelPrefix>
.<___location>
形式) も書き留めます。cloudapp.azure.com。パブリック SSH エントリの一部として、出力セクションで、前の手順の JSON 形式の出力から DNS 名を取得できます。 この値を使用して、新しくデプロイされたマシンに SSH 接続します。
"outputs": { "public SSH": { "type": "String", "value": "ssh <adminUsername>@<DNS_Name>" } }
また、Azure portal で新しくデプロイされた仮想マシンの [概要] セクションから DNS 名を取得することもできます。
設定後にこの VM に SSH 接続する場合は、以下のコマンドで、関連付けられている DNS 名を使用します。
ssh <adminUsername>@<DNS_Name>
次のステップ
ランタイムがインストールされた IoT Edge デバイスをプロビジョニングしたら、 IoT Edge モジュールをデプロイします。
IoT Edge ランタイムのインストールに問題がある場合は、トラブルシューティング のページ を 参照してください。
既存のインストールを最新バージョンの IoT Edge に更新するには、「 IoT Edge セキュリティ デーモンとランタイムを更新する」を参照してください。
SSH またはその他の受信接続を介して VM にアクセスするためにポートを開く場合は、 Linux VM へのポートとエンドポイントの開き方に関する Azure Virtual Machines のドキュメントを参照してください。