演習 - IoT Edge デバイスをデプロイする

完了

Azure Cloud Shell で次の手順を実行します。 開始する前に、この学習モジュール用の Azure アカウントが必要です。 Azure アカウントを持っていない場合は、無料のアカウントを作成してください。 学生の場合は、無料の Azure for Students アカウントにサインアップします (クレジット カードは必要ありません)。 それ以外の場合は、無料の Azure アカウントにサインアップします。

Web ブラウザーから https://portal.azure.com に移動し、サインインします。

クラウド リソースを作成する

  1. Azure IoT の拡張機能を Cloud Shell インスタンスに追加します。

    az extension add --name azure-iot
    

    Note

    このモジュールでは、azure-iot という名前の Azure IoT 拡張機能の最新バージョンを使用します。 インストールするバージョンは、一度に 1 つのみとしてください。 コマンド az extension list を使用すると、現在インストールされている拡張機能を確認できます。 レガシ バージョンの拡張機能を削除するには、az extension remove --name azure-cli-iot-ext を使用します。

  2. このモジュールで使用するすべてのリソースを管理するためのリソース グループを作成します。 ご自分のリソース グループに名前を付けます。

    az group create --name {resource_group_name} --location westus2
    

IoT ハブを作成する

リソース グループに無料の F1 ハブを作成します。 {hub_name} は、実際の IoT ハブの一意の名前に置き換えてください。 IoT ハブの作成には数分かかることがあります。

az iot hub create --resource-group {resource_group_name} --name {hub_name} --sku F1 --partition-count 2

Note

サブスクリプションに無料のハブが既に 1 つあるためにエラーが発生する場合は、SKU を S1 に変更します。 各サブスクリプションで使用できる無料 IoT ハブは 1 つのみです。 IoT ハブの名前が利用できないというエラーが発生した場合、自分以外のだれかが既にその名前のハブを所有していることを意味します。 新しい名前を試してください。

IoT Edge デバイスを登録する

新しく作成された IoT ハブに IoT Edge デバイスを登録します。

  1. ハブに myEdgeDevice という名前のデバイスを作成します。

    az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name {hub_name}
    

    Note

    iothubowner ポリシー キーに関するエラーが表示された場合は、Cloud Shell で最新バージョンの azure-iot 拡張機能が実行されていることを確認してください。

  2. デバイスの接続文字列を確認します。この接続文字列により、IoT Hub 内で物理デバイスとその ID をリンクさせます。 これには、IoT ハブの名前、デバイスの名前、2 つの間の接続を認証する共有キーが含まれています。 次のセクションで IoT Edge デバイスを設定するときに、この接続文字列についてもう一度触れます。

    az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name} --output table
    
  3. 次のようなデバイス接続文字列をメモしておきます。

    HostName={YourIoTHubName}.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey={YourSharedAccessKey}
    

IoT Edge デバイスを構成する

  1. Cloud Shell を使用して、デプロイ用の ssh キーを作成する必要があります。 次のコマンドでは、RSA 暗号化と 4096 ビット長を使用して SSH キー ペアが作成されます。

    ssh-keygen -m PEM -t rsa -b 4096
    
  2. 公開キーは、次の cat コマンドを使用して表示できます。必要に応じて、~/.ssh/id_rsa.pub を公開キー ファイルのパスとファイル名に置き換えてください。

    cat ~/.ssh/id_rsa.pub
    
  3. 一般的な公開キーの値は次の例のようになります。

    ssh-rsa AAAAB3NzaC1yc2EAABADAQABAAACAQC1/KanayNr+Q7ogR5mKnGpKWRBQU7F3Jjhn7utdf7Z2iUFykaYx+MInSnT3XdnBRS8KhC0IP8ptbngIaNOWd6zM8hB6UrcRTlTpwk/SuGMw1Vb40xlEFphBkVEUgBolOoANIEXriAMvlDMZsgvnMFiQ12tD/u14cxy1WNEMAftey/vX3Fgp2vEq4zHXEliY/sFZLJUJzcRUI0MOfHXAuCjg/qyqqbIuTDFyfg8k0JTtyGFEMQhbXKcuP2yGx1uw0ice62LRzr8w0mszftXyMik1PnshRXbmE2xgINYg5xo/ra3mq2imwtOKJpfdtFoMiKhJmSNHBSkK7vFTeYgg0v2cQ2+vL38lcIFX4Oh+QCzvNF/AXoDVlQtVtSqfQxRVG79Zqio5p12gHFktlfV7reCBvVIhyxc2LlYUkrq4DHzkxNY5c9OGSHXSle9YsO3F1J5ip18f6gPq4xFmo6dVoJodZm9N0YMKCkZ4k1qJDESsJBk2ujDPmQQeMjJX3FnDXYYB182ZCGQzXfzlPDC29cWVgDZEXNHuYrOLmJTmYtLZ4WkdUhLLlt5XsdoKWqlWpbegyYtGZgeZNRtOOdN6ybOPJqmYFd2qRtb4sYPniGJDOGhx4VodXAjT09omhQJpE6wlZbRWDvKC55R2d/CSPHJscEiuudb+1SG2uA/oik/WQ== username@domainname
    
  4. [デプロイ] ボタンをクリックすると、ARM テンプレートを使用して、Azure IoT Edge ランタイムが事前インストールされた仮想マシンが (cloud-init 経由で) 作成されます。 ランタイムの構成中に、デバイスの接続文字列を入力します。 これは、Azure CLI から取得した文字列です。 この文字列によって、Azure 内の IoT Edge デバイス ID と物理デバイスとが関連付けられます。

    The illustration shows deploy button for virtual machine.

  5. ランタイムの構成中に、デバイスの接続文字列を入力します。 これは、Azure CLI から取得した文字列です。 この文字列によって、Azure 内の IoT Edge デバイス ID と物理デバイスとが関連付けられます。

    The illustration shows overview of custom template.

    Note

    次の手順で仮想マシンに接続するために使用するため、管理者ユーザー名をメモしてください。

ネットワーク ポート 8181 を開く

  1. "IoTEdgeResources" リソース グループに移動し、前の手順で作成した仮想マシンをクリックします。

  2. [ネットワーク] に移動し、[受信ポート規則の追加] をクリックします。

    The illustration shows how to add inbound port.

  3. [宛先ポート範囲] と [名前] を入力します。 その後、セキュリティ規則 "Port_8181" を作成中であることを知らせるポップアップが表示されます。

    The illustration shows how to add inbound security port.

  4. 処理が完了すると、ポート 8181 が追加されます。

    The illustration shows port 8181.

自分の知識をチェックする

1.

エッジのデプロイの状態を監視するために使用されるコマンドは次のうちのどれですか?