Azure IoT Edge とはWhat is Azure IoT Edge

Azure IoT Edge は、企業がデータの管理に手間取ることなくビジネス インサイトに専念できるよう、これまでクラウドで行っていた分析とカスタム ビジネス ロジックをデバイス側で実行できるようにするものです。Azure IoT Edge moves cloud analytics and custom business logic to devices so that your organization can focus on business insights instead of data management. ビジネス ロジックを標準のコンテナーにパッケージ化して IoT ソリューションをスケールアウトし、それらのコンテナーを任意のデバイスにデプロイして、すべてをクラウドから監視できます。Scale out your IoT solution by packaging your business logic into standard containers, then you can deploy those containers to any of your devices and monitor it all from the cloud.

分析は、IoT ソリューションのビジネス上の価値を決める重要な要素ですが、すべての分析をクラウドで行う必要はありません。Analytics drives business value in IoT solutions, but not all analytics needs to be in the cloud. 緊急事態に可能な限り速やかに対応することが要求される場合には、異常検出ワークロードをエッジで実行できます。If you want to respond to emergencies as quickly as possible, you can run anomaly detection workloads at the edge. 帯域幅コストを削減し、テラバイト規模の生データを転送することを回避したい場合は、データのクリーニングや集約をローカルで行い、分析のために分析情報をクラウドに送信するだけで済みます。If you want to reduce bandwidth costs and avoid transferring terabytes of raw data, you can clean and aggregate the data locally then only send the insights to the cloud for analysis.

Azure IoT Edge は、次の 3 つのコンポーネントで構成されます。Azure IoT Edge is made up of three components:

  • IoT Edge モジュール: Azure のサービス、サードパーティのサービス、または独自のコードを実行するコンテナーです。IoT Edge modules are containers that run Azure services, third-party services, or your own code. モジュールは、IoT Edge デバイスにデプロイされ、そのデバイス上のローカルで実行されます。Modules are deployed to IoT Edge devices and execute locally on those devices.
  • IoT Edge ランタイム: 個々の IoT Edge デバイス上で動作し、各デバイスにデプロイされたモジュールを管理します。The IoT Edge runtime runs on each IoT Edge device and manages the modules deployed to each device.
  • クラウドベースのインターフェイス: IoT Edge デバイスをリモートから監視して管理します。A cloud-based interface enables you to remotely monitor and manage IoT Edge devices.

注意

Azure IoT Edge は、IoT Hub の Free および Standard レベルで利用できます。Azure IoT Edge is available in the free and standard tier of IoT Hub. Free レベルは、テストおよび評価用です。The free tier is for testing and evaluation only. Basic レベルおよび Standard レベルの詳細については、適切な IoT Hub レベルの選び方に関するページを参照してください。For more information about the basic and standard tiers, see How to choose the right IoT Hub tier.

IoT Edge のモジュールIoT Edge modules

IoT Edge のモジュールは、実行の単位となるもので、Docker 互換のコンテナーとして実装されます。エッジに置かれたビジネス ロジックが、この単位で実行されます。IoT Edge modules are units of execution, implemented as Docker compatible containers, that run your business logic at the edge. 互いに通信を行う複数のモジュールを構成することで、データ処理のパイプラインを作成することができます。Multiple modules can be configured to communicate with each other, creating a pipeline of data processing. カスタム モジュールを開発するか、特定の Azure サービスをパッケージ化して、エッジからオフラインで洞察が得られるモジュールとしてまとめることができます。You can develop custom modules or package certain Azure services into modules that provide insights offline and at the edge.

エッジで利用できる人工知能Artificial intelligence at the edge

Azure IoT Edge を使用すると、複合イベント処理や機械学習、画像認識など、高価な AI を自社開発することなくデプロイすることができます。Azure IoT Edge allows you to deploy complex event processing, machine learning, image recognition, and other high value AI without writing it in-house. Azure のサービス、たとえば Azure Functions、Azure Stream Analytics、Azure Machine Learning はいずれも、Azure IoT Edge を介してオンプレミスで実行することができます。Azure services like Azure Functions, Azure Stream Analytics, and Azure Machine Learning can all be run on-premises via Azure IoT Edge. ただし、Azure サービスに限定されているわけではありません。You’re not limited to Azure services, though. だれでも AI モジュールを作成し、Azure Marketplace でコミュニティに公開することができます。Anyone is able to create AI modules and make them available to the community for use through the Azure Marketplace.

Bring Your Own CodeBring your own code

デバイスに独自のコードをデプロイする場合にも Azure IoT Edge が役立ちます。When you want to deploy your own code to your devices, Azure IoT Edge supports that, too. Azure IoT Edge には、他の Azure IoT サービスと同じプログラミング モデルが踏襲されています。Azure IoT Edge holds to the same programming model as the other Azure IoT services. 同じコードをデバイスでもクラウドでも実行できます。The same code can be run on a device or in the cloud. コーディングの対象プラットフォームを自由に選べるよう、Azure IoT Edge は Linux と Windows の両方に対応しています。Azure IoT Edge supports both Linux and Windows so you can code to the platform of your choice. Java、.NET Core 2.0、Node.js、C、Python がサポートされているため、開発者は既に身に付けた言語でコードを記述でき、また既存のビジネス ロジックを利用することができます。It supports Java, .NET Core 2.0, Node.js, C, and Python so your developers can code in a language they already know and use existing business logic.

IoT Edge ランタイムIoT Edge runtime

Azure IoT Edge ランタイムは、カスタム ロジックやクラウド ロジックを IoT Edge デバイスで実行することを可能にするものです。The Azure IoT Edge runtime enables custom and cloud logic on IoT Edge devices. IoT Edge デバイスに常駐して管理操作や通信処理を実行します。It sits on the IoT Edge device, and performs management and communication operations. このランタイムによって実行されるいくつかの機能を次に示します。The runtime performs several functions:

  • デバイスにワークロードをインストールし、更新する。Install and update workloads on the device.
  • デバイス上の Azure IoT Edge のセキュリティ標準を維持する。Maintain Azure IoT Edge security standards on the device.
  • IoT Edge モジュールの実行状態を絶えず確保する。Ensure that IoT Edge modules are always running.
  • モジュールの正常性をクラウドにレポートしてリモート監視を可能にする。Report module health to the cloud for remote monitoring.
  • ダウンストリームのリーフ デバイスと IoT Edge デバイス間、IoT Edge デバイス上のモジュール間、IoT Edge デバイスとクラウド間の通信を管理する。Manage communication between downstream leaf devices and an IoT Edge device, between modules on an IoT Edge device, and between an IoT Edge device and the cloud.

IoT Edge ランタイムは、IoT Hub に対して洞察とレポートを送信します。

Azure IoT Edge デバイスをどのように使用するかは開発者しだいです。How you use an Azure IoT Edge device is up to you. そのランタイムは多くの場合、他のオンプレミス デバイスからのデータを集約して処理するゲートウェイ デバイスに対して AI をデプロイする目的で使用されますが、そのデプロイ モデルは選択肢の 1 つにすぎません。The runtime is often used to deploy AI to gateway devices which aggregate and process data from other on-premises devices, but this deployment model is just one option.

Azure IoT Edge ランタイムは、多数の IoT デバイス上で動作することにより、さまざまな利用形態を実現します。The Azure IoT Edge runtime runs on a large set of IoT devices to enable using the runtime in a wide variety of ways. Linux と Windows の両方のオペレーティング システムに対応し、ハードウェアの細部を抽象化する働きを担います。It supports both Linux and Windows operating systems and abstracts hardware details. 処理するデータが比較的少ない場合や、リソース消費の激しいワークロードを実行するために産業サーバーを使用する場合は、Raspberry Pi 3 よりも小さいデバイスを使用してください。Use a device smaller than a Raspberry Pi 3 if you’re not processing much data, or use an industrial server to run resource-intensive workloads.

IoT Edge クラウド インターフェイスIoT Edge cloud interface

製造元やモデルが異なっていたり、地理的に分散したりしている数百万台の IoT デバイスのソフトウェア ライフサイクルを管理するのは困難です。It's difficult to manage the software lifecycle for millions of IoT devices that are often different makes and models or geographically scattered. ワークロードは、特定の種類のデバイス用に作成および構成され、すべてのデバイスにデプロイされ、異常な動作をしているデバイスを検出するために監視されます。Workloads are created and configured for a particular type of device, deployed to all of your devices, and monitored to catch any misbehaving devices. これらのアクティビティをデバイス単位で行うことはできないので、一定の規模で実施する必要があります。These activities can’t be done on a per device basis and must be done at scale.

Azure IoT Edge は、Azure IoT ソリューション アクセラレータ とシームレスに連携し、実際のソリューションのニーズに合った一元的なコントロール プレーンを提供します。Azure IoT Edge integrates seamlessly with Azure IoT solution accelerators to provide one control plane for your solution’s needs. ユーザーは Cloud Services を通じて次のことを実行できます。Cloud services allow you to:

  • 特定の種類のデバイス上で動作するワークロードを作成して構成する。Create and configure a workload to be run on a specific type of device.
  • まとまったデバイスに対してワークロードを送信する。Send a workload to a set of devices.
  • 現場のデバイスで実行されるワークロードを監視する。Monitor workloads running on devices in the field.

デバイスのテレメトリとアクションはクラウドで調整される

次の手順Next steps

ここで説明した概念を、シミュレートされたデバイスに対して IoT Edge をデプロイする方法に関するページで試してみましょう。Try out these concepts by deploying IoT Edge on a simulated device.