クイック スタート:初めての IoT Edge モジュールを Linux 仮想デバイスにデプロイするQuickstart: Deploy your first IoT Edge module to a virtual Linux device

このクイックスタートでは、コンテナー化されたコードを Linux IoT Edge 仮想デバイスに配置して、Azure IoT Edge をテストします。Test out Azure IoT Edge in this quickstart by deploying containerized code to a virtual Linux IoT Edge device. IoT Edge を使用すると、ご利用のデバイス上のコードをリモートで管理できるため、より多くのワークロードをエッジに送信できます。IoT Edge allows you to remotely manage code on your devices so that you can send more of your workloads to the edge. このクイックスタートでは、IoT Edge デバイス用に Azure 仮想マシンを使用することをお勧めします。これにより、IoT Edge サービスがインストールされているテスト マシンをすばやく作成でき、さらにテストが完了したら削除することができます。For this quickstart, we recommend using an Azure virtual machine for your IoT Edge device, which allows you to quickly create a test machine with the IoT Edge service installed and then delete it when you're finished.

このクイック スタートでは、次の方法について説明します。In this quickstart you learn how to:

  • IoT Hub を作成します。Create an IoT Hub.
  • IoT Edge デバイスを IoT ハブに登録します。Register an IoT Edge device to your IoT hub.
  • IoT Edge ランタイムをご自分の仮想デバイスにインストールして開始します。Install and start the IoT Edge runtime on your virtual device.
  • モジュールを IoT Edge デバイスにリモートで展開する。Remotely deploy a module to an IoT Edge device.

図 - デバイスとクラウドのクイック スタートのアーキテクチャ

このクイック スタートでは、IoT Edge デバイスとして構成された Linux 仮想マシンを作成する手順について説明します。This quickstart walks you through creating a Linux virtual machine that's configured to be an IoT Edge device. その後、Azure portal からご自身のデバイスにモジュールを配置します。Then, you deploy a module from the Azure portal to your device. このクイックスタートで使用されているモジュールは、温度、湿度、圧力のデータを生成するシミュレートされたセンサーです。The module used in this quickstart is a simulated sensor that generates temperature, humidity, and pressure data. 他の Azure IoT Edge チュートリアルでは、ここで行う作業を基盤としており、ビジネスに関する分析情報を得るためにシミュレートされたデータを分析する追加のモジュールを配置しています。The other Azure IoT Edge tutorials build upon the work you do here by deploying additional modules that analyze the simulated data for business insights.

アクティブな Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。If you don't have an active Azure subscription, create a free account before you begin.

Azure Cloud Shell を使用するUse Azure Cloud Shell

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。You can use either Bash or PowerShell with Cloud Shell to work with Azure services. ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell を開始するには:To start Azure Cloud Shell:

オプションOption 例とリンクExample/Link
コード ブロックの右上隅にある [使ってみる] を選択します。Select Try It in the upper-right corner of a code block. [使ってみる] を選択しても、コードは Cloud Shell に自動的にコピーされません。Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell の [使ってみる] の例
https://shell.azure.com に移動するか、 [Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. 新しいウィンドウで Cloud Shell を起動するLaunch Cloud Shell in a new window
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Azure Portal の [Cloud Shell] ボタン

Azure Cloud Shell でこの記事のコードを実行するには:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell を開始します。Start Cloud Shell.

  2. [コピー] ボタンを選択して、コード ブロックをコードにコピーします。Select the Copy button on a code block to copy the code.

  3. Windows と Linux では Ctrl+Shift+V キーを選択し、macOS では Cmd+Shift+V キーを選択して、コードを Cloud Shell セッションに貼り付けます。Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Enter キーを選択して、コードを実行します。Select Enter to run the code.

このクイック スタートの多くの手順は、Azure CLI を使用して実行します。Azure IoT には、追加機能を有効にする拡張機能が用意されています。You use the Azure CLI to complete many of the steps in this quickstart, and Azure IoT has an extension to enable additional functionality.

Azure IoT の拡張機能を Cloud Shell インスタンスに追加します。Add the Azure IoT extension to the Cloud Shell instance.

az extension add --name azure-iot

注意

この記事では、azure-iot と呼ばれる、Azure IoT 拡張機能の最新バージョンを使用します。This article uses the newest version of the Azure IoT extension, called azure-iot. 従来のバージョンは azure-cli-iot-ext と呼ばれます。一度にインストールできるバージョンは 1 つだけです。The legacy version is called azure-cli-iot-ext.You should only have one version installed at a time. コマンド az extension list を使用すると、現在インストールされている拡張機能を確認できます。You can use the command az extension list to validate the currently installed extensions.

拡張機能の従来のバージョンを削除するには、az extension remove --name azure-cli-iot-ext を使用します。Use az extension remove --name azure-cli-iot-ext to remove the legacy version of the extension.

拡張機能の新しいバージョンを追加するには、az extension add --name azure-iot を使用します。Use az extension add --name azure-iot to add the new version of the extension.

インストール済みの拡張機能を表示するには、az extension list を使用してください。To see what extensions you have installed, use az extension list.

前提条件Prerequisites

クラウド リソース:Cloud resources:

  • このクイック スタートで使用するすべてのリソースを管理するためのリソース グループです。A resource group to manage all the resources you use in this quickstart. このクイックスタートと以下のチュートリアルでは、リソース グループ名の例 IoTEdgeResources を使用しています。We use the example resource group name IoTEdgeResources throughout this quickstart and the following tutorials.

    az group create --name IoTEdgeResources --location westus2
    

IoT Hub の作成Create an IoT hub

このクイック スタートでは、最初に Azure CLI を使用して IoT ハブを作成します。Start the quickstart by creating an IoT hub with Azure CLI.

図 - クラウドで IoT ハブを作成する

このクイック スタートでは無料レベルの IoT Hub を使用できます。The free level of IoT Hub works for this quickstart. IoT Hub を以前に使用したことがあり、ハブを作成済みである場合は、その IoT ハブを使用することができます。If you've used IoT Hub in the past and already have a hub created, you can use that IoT hub.

次のコードにより、無料の F1 ハブがリソース グループ IoTEdgeResources に作成されます。The following code creates a free F1 hub in the resource group IoTEdgeResources. {hub_name} は、実際の IoT ハブの一意の名前に置き換えてください。Replace {hub_name} with a unique name for your IoT hub. IoT ハブの作成には数分かかることがあります。It might take a few minutes to create an IoT Hub.

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

サブスクリプションに無料のハブが既に 1 つあるためにエラーが発生する場合は、SKU を S1 に変更します。If you get an error because there's already one free hub in your subscription, change the SKU to S1. 各サブスクリプションで使用できる無料 IoT ハブは 1 つのみです。Each subscription can only have one free IoT hub. IoT ハブの名前が利用できないというエラーが発生した場合、自分以外のだれかが既にその名前のハブを所有していることを意味します。If you get an error that the IoT Hub name isn't available, it means that someone else already has a hub with that name. 新しい名前を試してください。Try a new name.

IoT Edge デバイスを登録するRegister an IoT Edge device

新しく作成された IoT ハブに IoT Edge デバイスを登録します。Register an IoT Edge device with your newly created IoT hub.

図 - IoT ハブ ID でデバイスを登録する

お使いの IoT ハブと通信できるように、IoT Edge デバイスのデバイス ID を作成します。Create a device identity for your IoT Edge device so that it can communicate with your IoT hub. デバイス ID はクラウドに置かれるので、デバイスの一意の接続文字列を使用して、物理デバイスとデバイス ID とを関連付けることになります。The device identity lives in the cloud, and you use a unique device connection string to associate a physical device to a device identity.

IoT Edge デバイスは、一般的な IoT デバイスとは異なる動作をし、別に管理できるため、この ID は IoT Edge デバイス用として --edge-enabled フラグで宣言します。Since IoT Edge devices behave and can be managed differently than typical IoT devices, declare this identity to be for an IoT Edge device with the --edge-enabled flag.

  1. Azure Cloud Shell で、次のコマンドを入力して、myEdgeDevice という名前のデバイスをハブに作成します。In the Azure Cloud Shell, enter the following command to create a device named myEdgeDevice in your hub.

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

    iothubowner ポリシー キーに関するエラーが表示された場合は、Cloud Shell で最新バージョンの azure-iot 拡張機能が実行されていることを確認してください。If you get an error about iothubowner policy keys, make sure that your Cloud Shell is running the latest version of the azure-iot extension.

  2. デバイスの接続文字列を確認します。この接続文字列により、IoT Hub 内で物理デバイスとその ID をリンクさせます。View the connection string for your device, which links your physical device with its identity in IoT Hub. これには、IoT ハブの名前、デバイスの名前、2 つの間の接続を認証する共有キーが含まれています。It contains the name of your IoT hub, the name of your device, and then a shared key that authenticates connections between the two. 次のセクションで IoT Edge デバイスを設定するときに、この接続文字列についてもう一度触れます。We'll refer to this connection string again in the next section when you set up your IoT Edge device.

    az iot hub device-identity show-connection-string --device-id myEdgeDevice --hub-name {hub_name}
    

    CLI の出力の接続文字列を確認する

IoT Edge デバイスを構成するConfigure your IoT Edge device

Azure IoT Edge ランタイムがインストールされた仮想マシンを作成します。Create a virtual machine with the Azure IoT Edge runtime on it.

図 - デバイス上でランタイムを開始する

IoT Edge ランタイムはすべての IoT Edge デバイスに展開されます。The IoT Edge runtime is deployed on all IoT Edge devices. これは 3 つのコンポーネントで構成されます。It has three components. IoT Edge セキュリティ デーモンは、IoT Edge デバイスが起動するたびに開始され、IoT Edge エージェントを起動してデバイスをブートストラップします。The IoT Edge security daemon starts each time an IoT Edge device boots and bootstraps the device by starting the IoT Edge agent. IoT Edge エージェントは、IoT Edge ハブなど、IoT Edge デバイス上のモジュールの展開と監視を容易にします。The IoT Edge agent facilitates deployment and monitoring of modules on the IoT Edge device, including the IoT Edge hub. IoT Edge ハブは、IoT Edge デバイス上のモジュール間、およびデバイスと IoT ハブの間の通信を管理します。The IoT Edge hub manages communications between modules on the IoT Edge device, and between the device and IoT Hub.

ランタイムの構成中に、デバイスの接続文字列を入力します。During the runtime configuration, you provide a device connection string. これは、Azure CLI から取得した文字列です。This is the string that you retrieved from the Azure CLI. この文字列によって、Azure 内の IoT Edge デバイス ID と物理デバイスとが関連付けられます。This string associates your physical device with the IoT Edge device identity in Azure.

IoT Edge デバイスを展開するDeploy the IoT Edge device

このセクションでは、Azure Resource Manager テンプレートを使用して新しい仮想マシンを作成し、そこに IoT Edge ランタイムをインストールします。This section uses an Azure Resource Manager template to create a new virtual machine and install the IoT Edge runtime on it. 代わりに独自の Linux デバイスを使用する場合は、Linux への Azure IoT Edge ランタイムのインストールに関するページのインストール手順を行ってから、このクイックスタートに戻ることができます。If you want to use your own Linux device instead, you can follow the installation steps in Install the Azure IoT Edge runtime on Linux, then return to this quickstart.

次の CLI コマンドを使用して、構築済みの iotedge-vm-deploy テンプレートに基づいて IoT Edge デバイスを作成します。Use the following CLI command to create your IoT Edge device based on the prebuilt iotedge-vm-deploy template.

  • bash または Cloud Shell ユーザーの場合は、次のコマンドをテキスト エディターにコピーし、プレースホルダーのテキストを実際の情報に置き換えてから、bash または Cloud Shell ウィンドウにコピーします。For bash or Cloud Shell users, copy the following command into a text editor, replace the placeholder text with your information, then copy into your bash or Cloud Shell window:

    az deployment group create --resource-group IoTEdgeResources --template-uri "https://aka.ms/iotedge-vm-deploy" --parameters dnsLabelPrefix='my-edge-vm' --parameters adminUsername='azureUser' --parameters deviceConnectionString=$(az iot hub device-identity show-connection-string --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) --parameters authenticationType='password' --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
    
  • PowerShell ユーザーの場合は、次のコマンドを PowerShell ウィンドウにコピーし、プレースホルダーのテキストを実際の情報に置き換えます。For PowerShell users, copy the following command into your PowerShell window, then replace the placeholder text with your own information:

    az deployment group create `
    --resource-group IoTEdgeResources `
    --template-uri "https://aka.ms/iotedge-vm-deploy" `
    --parameters dnsLabelPrefix='my-edge-vm1' `
    --parameters adminUsername='azureUser' `
    --parameters deviceConnectionString=$(az iot hub device-identity show-connection-string --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) `
    --parameters authenticationType='password' `
    --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
    

このテンプレートにより、以下のパラメーターが受け取られます。This template takes the following parameters:

パラメーターParameter 説明Description
resource-groupresource-group リソースが作成されるリソース グループ。The resource group in which the resources will be created. この記事全体で使用してきた既定の IoTEdgeResources を使用するか、サブスクリプションの既存のリソース グループの名前を指定します。Use the default IoTEdgeResources that we've been using throughout this article or provide the name of an existing resource group in your subscription.
template-uritemplate-uri 使用している Resource Manager テンプレートへのポインター。A pointer to the Resource Manager template that we're using.
dnsLabelPrefixdnsLabelPrefix 仮想マシンのホスト名を作成するために使用される文字列。A string that will be used to create the virtual machine's hostname. 例の my-edge-vm を使用するか、新しい文字列を指定します。Use the example my-edge-vm or provide a new string.
adminUsernameadminUsername 仮想マシンの管理者アカウントのユーザー名。A username for the admin account of the virtual machine. 例の azureUser を使用するか、新しいユーザー名を入力します。Use the example azureUser or provide a new username.
deviceConnectionStringdeviceConnectionString 仮想マシンで IoT Edge ランタイムを構成するために使用される IoT Hub のデバイス ID の接続文字列。The connection string from the device identity in IoT Hub, which is used to configure the IoT Edge runtime on the virtual machine. このパラメーター内の CLI コマンドで、接続文字列を取得します。The CLI command within this parameter grabs the connection string for you. プレースホルダーのテキストを実際の IoT ハブ名に置き換えます。Replace the placeholder text with your IoT hub name.
authenticationTypeauthenticationType 管理者アカウントの認証方法。The authentication method for the admin account. このクイックスタートでは password 認証を使用しますが、このパラメーターを sshPublicKey に設定することもできます。This quickstart uses password authentication, but you can also set this parameter to sshPublicKey.
adminPasswordOrKeyadminPasswordOrKey 管理者アカウントの SSH キーのパスワードまたは値。The password or value of the SSH key for the admin account. プレースホルダーのテキストをセキュリティで保護されたパスワードに置き換えます。Replace the placeholder text with a secure password. パスワードは、12 文字以上で、小文字、大文字、数字、特殊文字の 4 つのうち 3 つを使用する必要があります。Your password must be at least 12 characters long and have three of four of the following: lowercase characters, uppercase characters, digits, and special characters.

デプロイが完了すると、仮想マシンに接続するための SSH 情報を含む JSON 形式の出力が CLI で受信されます。Once the deployment is complete, you should receive JSON-formatted output in the CLI that contains the SSH information to connect to the virtual machine. outputs セクションの public SSH エントリの値をコピーします。Copy the value of the public SSH entry of the outputs section:

出力からパブリック SSH 値を取得する

IoT Edge ランタイムの状態を確認するView the IoT Edge runtime status

このクイック スタートの残りのコマンドは、IoT Edge デバイス自体で実行します。これにより、デバイスの動作を実際に確認することができます。The rest of the commands in this quickstart take place on your IoT Edge device itself, so that you can see what's happening on the device. 仮想マシンを使用している場合は、設定した管理者のユーザー名と、デプロイ コマンドによって出力された DNS 名を使用して、そのマシンに接続します。If you're using a virtual machine, connect to that machine now using the admin username that you set up and the DNS name that was output by the deployment command. DNS 名は、Azure portal の仮想マシンの概要ページでも確認できます。You can also find the DNS name on your virtual machine's overview page in the Azure portal. 次のコマンドを使用して、仮想マシンに接続します。Use the following command to connect to your virtual machine. {admin username}{DNS name} を独自の値に置き換えます。Replace {admin username} and {DNS name} with your own values.

ssh {admin username}@{DNS name}

仮想マシンに接続したら、ランタイムが IoT Edge デバイスに正常にインストールされ、構成されていることを確認します。Once connected to your virtual machine, verify that the runtime was successfully installed and configured on your IoT Edge device.

  1. IoT Edge セキュリティ デーモンがシステム サービスとして実行されていることを確認します。Check to see that the IoT Edge security daemon is running as a system service.

    sudo systemctl status iotedge
    

    IoT Edge デーモンがシステム サービスとして実行されていることを確認する

    ヒント

    iotedge コマンドの実行には、昇格された特権が必要です。You need elevated privileges to run iotedge commands. IoT Edge ランタイムのインストール後に初めてマシンにサインインし直すと、アクセス許可は自動的に更新されます。Once you sign out of your machine and sign back in the first time after installing the IoT Edge runtime, your permissions are automatically updated. それまでは、コマンドの前に sudo を使用します。Until then, use sudo in front of the commands.

  2. サービスのトラブルシューティングが必要な場合は、サービス ログを取得します。If you need to troubleshoot the service, retrieve the service logs.

    journalctl -u iotedge
    
  3. IoT Edge デバイス上で実行されているすべてのモジュールを表示します。View all the modules running on your IoT Edge device. 初めてサービスが開始されたので、edgeAgent モジュールが実行されていることのみが確認できます。Since the service just started for the first time, you should only see the edgeAgent module running. edgeAgent モジュールが既定で実行され、デバイスにデプロイする追加モジュールのインストールと起動を支援します。The edgeAgent module runs by default and helps to install and start any additional modules that you deploy to your device.

    sudo iotedge list
    

    ご自身のデバイス上の 1 つのモジュールを表示する

IoT Edge デバイスの構成はこれで完了です。Your IoT Edge device is now configured. クラウドからモジュールをデプロイして実行することができます。It's ready to run cloud-deployed modules.

モジュールを展開するDeploy a module

Azure IoT Edge デバイスをクラウドから管理し、IoT Hub に利用統計情報を送信するモジュールを展開します。Manage your Azure IoT Edge device from the cloud to deploy a module that will send telemetry data to IoT Hub.

図 - クラウドからデバイスにモジュールを配置する

Azure IoT Edge の主要な機能の 1 つは、クラウドからお客様の IoT Edge デバイスにコードをデプロイできることです。One of the key capabilities of Azure IoT Edge is being able to deploy code to your IoT Edge devices from the cloud. IoT Edge モジュールは、コンテナーとして実装されている実行可能ファイルのパッケージです。IoT Edge modules are executable packages implemented as containers. このセクションでは、Azure Marketplace の IoT Edge モジュールのセクションで事前に構築したモジュールを、Azure IoT ハブから直接デプロイします。In this section, you deploy a pre-built module from the IoT Edge Modules section of the Azure Marketplace directly from your Azure IoT Hub.

このセクションでデプロイするモジュールはセンサーをシミュレートし、生成されたデータを送信します。The module that you deploy in this section simulates a sensor and sends generated data. シミュレートされたデータを開発とテストに使用できるため、このモジュールは IoT Edge の使用を開始する際にコードの一部として役に立ちます。This module is a useful piece of code when you're getting started with IoT Edge because you can use the simulated data for development and testing. このモジュールで行われる内容を正確に確認したい場合は、シミュレートされた温度センサーのソース コードをご覧いただけます。If you want to see exactly what this module does, you can view the simulated temperature sensor source code.

Azure Marketplace からお客様の最初のモジュールをデプロイするには、次の手順を使用します。To deploy your first module from the Azure Marketplace, use the following steps:

  1. Azure Portal にサインインし、IoT Hub に移動します。Sign in to the Azure portal and navigate to your IoT hub.

  2. 左側のペインのメニューで、 [デバイスの自動管理] の下にある [IoT Edge] を選択します。From the menu on the left pane, under Automatic Device Management, select IoT Edge.

  3. デバイスの一覧でターゲット デバイスのデバイス ID をクリックします。Click on the device ID of the target device from the list of devices.

  4. 上部のバーで [モジュールの設定] を選択します。On the upper bar, select Set Modules.

    [デバイスの詳細] ページから [モジュールの設定] を選択する

  5. このページの [IoT Edge モジュール] セクションで、 [追加] をクリックし、ドロップダウンメニューから [Marketplace モジュール] を選択します。In the IoT Edge Modules section of the page, click Add and select Marketplace Module from the drop-down menu.

    Marketplace モジュールを追加する

  6. [IoT Edge モジュールの Marketplace] で、"シミュレートされた温度センサー" を検索し、そのモジュールを選択します。In the IoT Edge Module Marketplace, search for "Simulated Temperature Sensor" and select that module.

  7. SimulatedTemperatureSensor モジュールが [IoT Edge モジュール] セクションに追加されており、[必要な状態] が [実行しています] になっていることにご注目ください。Notice that the SimulatedTemperatureSensor module is added to the IoT Edge Modules section, with the desired status running.

    次へ:ルート を選択し、ウィザードの次の手順に進みます。Select Next: Routes to continue to the next step of the wizard.

    温度センサー モジュールが表示されたら、次の手順に進みます。

  8. ウィザードの [ルート] タブで、モジュールと IoT ハブの間でメッセージが渡される方法を定義できます。On the Routes tab of the wizard, you can define how messages are passed between modules and the IoT Hub. ルートは名前と値のペアを使用して作成されます。Routes are constructed using name/value pairs. このページには 2 つのルートが表示されるはずです。You should see two routes on this page. route という名前の既定のルートから IoT Hub (名前は $upstream) にすべてのメッセージが送信されます。The default route called route sends all messages to IoT Hub (which is called $upstream). Marketplace からモジュールを追加したとき、SimulatedTemperatureSensorToIoTHub という名前の 2 つ目のルートが自動的に作成されました。A second route called SimulatedTemperatureSensorToIoTHub was created automatically when you added the module from the Marketplace. このルートによって、特に、シミュレートされた温度モジュールから IoT Hub にすべてのメッセージが送信されます。This route sends all messages specifically from the simulated temperature module to IoT Hub. この場合、既定のルートは冗長となるため、削除できます。You can delete the default route because it's redundant in this case.

    次へ:確認と作成 を選択し、ウィザードの次の手順に進みます。Select Next: Review + create to continue to the next step of the wizard.

    既定のルートを削除し、次の手順に進みます。

  9. ウィザードの [確認と作成] タブでは、IoT Edge デバイスにデプロイされているすべてのモジュールを定義する JSON ファイルをプレビューできます。On the Review + create tab of the wizard, you can preview the JSON file that defines all the modules that get deployed to your IoT Edge device. SimulatedTemperatureSensor モジュールに加え、edgeAgentedgeHub という 2 つのランタイム モジュールが含まれていることに注目してください。Notice that the SimulatedTemperatureSensor module is included as well as the two runtime modules, edgeAgent and edgeHub. 確認が完了したら [作成] を選択します。Select Create when you're done reviewing.

    IoT Edge デバイスに新しいデプロイを送信しても、デバイスには何もプッシュされません。When you submit a new deployment to an IoT Edge device, nothing is pushed to your device. 代わりに、デバイスから IoT Hub に対して、新しい指示のクエリが定期的に実行されます。Instead, the device queries IoT Hub regularly for any new instructions. 更新されたデプロイ マニフェストがデバイスによって検出されると、新しいデプロイに関する情報が使用されてクラウドからモジュール イメージがプルされ、ローカルでのモジュールの実行が開始されます。If the device finds an updated deployment manifest, it uses the information about the new deployment to pull the module images from the cloud then starts running the modules locally. このプロセスは数分かかることがあります。This process may take a few minutes.

  10. モジュールのデプロイの詳細が作成されると、ウィザードは [デバイスの詳細] ページに戻ります。After you create the module deployment details, the wizard returns you to the device details page. [デバイスの詳細] ページの [モジュール] タブでデプロイの状態を確認します。$edgeAgent、$edgeHub、SimulatedTemperatureSensor という 3 つのモジュールが表示されているはずです。On the device details page, view the deployment status in the Modules tab. Three modules should be listed: $edgeAgent, $edgeHub, and SimulatedTemperatureSensor. デプロイで指定されたとおりに表示されているのにデバイスによってレポートされていないモジュールが 1 つ以上ある場合、それらはまだお客様の IoT Edge デバイスによって起動中です。If one or more of the modules are listed as specified in deployment but not reported by device, your IoT Edge device is still starting them. 少し待ってから、ページの上部にある [更新] をクリックします。Wait a few moments and select Refresh at the top of the page.

    デプロイ済みのモジュールの一覧に SimulatedTemperatureSensor を表示する

生成されたデータを表示するView generated data

このクイック スタートでは、新しい IoT Edge デバイスを作成し、そこに IoT Edge ランタイムをインストールしました。In this quickstart, you created a new IoT Edge device and installed the IoT Edge runtime on it. その後、Azure portal を使用して、IoT Edge モジュールをデプロイし、デバイス自体を変更せずにモジュールをデバイスで実行しました。Then, you used the Azure portal to deploy an IoT Edge module to run on the device without having to make changes to the device itself.

この場合、プッシュしたモジュールによって、後でテストするために使用できるサンプル環境データが生成されます。In this case, the module that you pushed generates sample environment data that you can use for testing later. シミュレートされたセンサーは、マシンと、マシンの周囲の環境の両方を監視します。The simulated sensor is monitoring both a machine and the environment around the machine. たとえば、このセンサーは、サーバー ルーム、工場のフロア、または風力タービンに配置されている可能性があります。For example, this sensor might be in a server room, on a factory floor, or on a wind turbine. メッセージには、周囲の温度と湿度、機械の温度と圧力、タイムスタンプが含まれます。The message includes ambient temperature and humidity, machine temperature and pressure, and a timestamp. IoT Edge のチュートリアルでは、このモジュールによって作成されたデータを分析用のテスト データとして使用します。The IoT Edge tutorials use the data created by this module as test data for analytics.

再び IoT Edge デバイスでコマンド プロンプトを開くか、Azure CLI から SSH 接続を使用します。Open the command prompt on your IoT Edge device again, or use the SSH connection from Azure CLI. IoT Edge デバイスで、クラウドからデプロイされたモジュールが実行されていることを確認します。Confirm that the module deployed from the cloud is running on your IoT Edge device:

sudo iotedge list

ご利用のデバイスの 3 つのモジュールを表示する

温度センサー モジュールから送信されているメッセージを確認します。View the messages being sent from the temperature sensor module:

sudo iotedge logs SimulatedTemperatureSensor -f

ヒント

IoT Edge のコマンドでは、モジュール名を参照する際に大文字と小文字が区別されます。IoT Edge commands are case-sensitive when referring to module names.

モジュールからのデータを表示する

Visual Studio Code 用の Azure IoT Hub の拡張機能を使用して、IoT ハブに到着したメッセージを監視することもできます。You can also watch the messages arrive at your IoT hub by using the Azure IoT Hub extension for Visual Studio Code.

リソースをクリーンアップするClean up resources

IoT Edge のチュートリアルに進む場合は、このクイック スタートで登録および設定したデバイスを使用できます。If you want to continue on to the IoT Edge tutorials, you can use the device that you registered and set up in this quickstart. それ以外の場合は、課金されないようにするために、作成した Azure リソースを削除してもかまいません。Otherwise, you can delete the Azure resources that you created to avoid charges.

新しいリソース グループで仮想マシンと IoT ハブを作成した場合、そのグループと関連するすべてのリソースを削除できます。If you created your virtual machine and IoT hub in a new resource group, you can delete that group and all the associated resources. リソース グループの内容を再確認して、残しておくべきものがないことを確認してください。Double check the contents of the resource group to make sure that there's nothing you want to keep. グループ全体を削除したくない場合は、リソースを個別に削除してもかまいません。If you don't want to delete the whole group, you can delete individual resources instead.

重要

リソース グループを削除すると、元に戻すことができません。Deleting a resource group is irreversible.

IoTEdgeResources グループを削除します。Remove the IoTEdgeResources group. リソース グループを削除するのに数分かかる場合があります。It might take a few minutes to delete a resource group.

az group delete --name IoTEdgeResources

リソース グループが削除されたことは、リソース グループの一覧を表示することによって確認できます。You can confirm the resource group is removed by viewing the list of resource groups.

az group list

次のステップNext steps

このクイック スタートでは、IoT Edge デバイスを作成し、Azure IoT Edge クラウド インターフェイスを使用してコードをデバイスにデプロイしました。In this quickstart, you created an IoT Edge device and used the Azure IoT Edge cloud interface to deploy code onto the device. その環境に関する生データを生成するテスト デバイスができあがりました。Now, you have a test device generating raw data about its environment.

次の手順では、ビジネス ロジックを実行する IoT Edge モジュールの作成を開始できるように、ローカル開発環境を設定します。The next step is to set up your local development environment so that you can start creating IoT Edge modules that run your business logic.