Skip to content

MS_AzureIoTEdge

nishi_74322014 edited this page Sep 1, 2026 · 1 revision

Azure IoT Edge

概要

  • Azure IoT Hubの Standard レベルに含まれる機能。
  • IoT Edge Device にランタイムをコンテナ化&デプロイし、
    Azure のサービスを利用可能にする。
    • Linux コンテナを使った Docker でコンテナ化
    • Windows コンテナは IoT Edge v1.2 以降サポートされない。
  • IoT Edge Device 上で、Azure サービスや
    ソリューションの固有コードを配備、実行できるようにするサービス。
  • これによりユーザーは、
    • 様々な Azure IoT Edge Modules をコンテナ化し、
    • 様々な IoT Edge Device 上で機能を稼働させられるようになる
      (Raspberry Pi、産業機器)。

補足(なぜエッジで処理するのか): すべてをクラウドに送らない理由は
主に 4 つある。

理由 内容
レイテンシ 「異常を検知して 100ms 以内に止める」はクラウド往復では間に合わない
通信量・コスト 生データを全部送ると回線費が跳ね上がる。現場で間引く
可用性 回線が切れても動作を継続する必要がある
データ主権 生データを国外・社外に出せない規制がある

「クラウドに全部送って処理する」構成は、
数台の PoC では成立しても本番の規模では破綻することが多い。
Microsoft Azure IoTの Hot / Warm / Cold の分割とも
同じ発想である。

詳細

費用

  • Azure IoT Edge Runtime は無償
  • 配備に Azure IoT Hubを使用する場合、
    そのインスタンスにかかる費用

配備

3 つのコンポーネントが必要になる。

インスタンスが必要になる。

Azure IoT Edge Runtime

  • Runtime と言うより、Azure IoT Hubの Agent
  • 2 つのコンテナから構成される。
コンテナ 役割
Edge Hub クラウド側の IoT Hubプロキシ的に動作する。Edge に対して Hub 接続してテレメトリを束ねる。2.0 では MQTT もサポートし、親子関係を構成できる
Edge Agent コンテナを管理する Agent(モジュールの起動・監視・更新)

補足(この 2 つの分担が要点): Edge Agent が「何を動かすか」を
クラウドから受け取り、Edge Hub が「通信をまとめる」。

[クラウド IoT Hub]
      │  デプロイ マニフェスト(どのモジュールを動かすか)
      ▼
[Edge Agent] ──起動・監視──> [モジュール群(コンテナ)]
[Edge Hub]   <──ローカル通信── [下位のデバイス(リーフ)]
      │  まとめてクラウドへ
      ▼

「親子関係を構成できる」というのは、
Edge デバイスの下にさらに Edge デバイスをぶら下げられる
(入れ子のゲートウェイ)ことを指す。
工場のライン → 工場 → 全社、といった階層構成が組める。

Azure IoT Edge Modules

  • コンテナ化されたモジュール形式でエッジに展開および管理する。
    • 1 つのモジュールには複数のコンテナを含めることができる。
    • IoT Edge によって管理される計算の最小単位(≒ コンテナ)
  • コンテナ化できれば、Azure IoT Edge 下で動作させることができる。
    • Azure サービスまたは独自ソリューション固有のコードを含められる。
    • Azure マーケットプレイスで入手できる(純正品やサードパーティ製品)。

その他

  • Automatic Device Management: 大量の IoT デバイスをまたがった
    大規模配備が可能になる。
  • Azure Arc: Azure 外(オンプレミス/他クラウド)のサーバや\n Kubernetes クラスタを Azure のリソースとして一元管理する仕組み。

モジュールの種類

Azure サービス

以下のコンテナ化された Azure サービスを動かすことができる。
クラウド・サービスをデバイスに近い Edge に配置することで、
リアルタイムに処理を実行し、データの転送量を抑えることができる。

サービス 内容
Azure AI サービス(旧 Cognitive Services) 学習済みの AI モデルをデプロイ。クラウドと同じ価格
Azure Stream Analytics リアルタイムなストリーミング処理(一部機能制限あり)
Azure Functions ゲートウェイでも有用な FaaS 機能をエッジへ
Azure Machine Learning コンテナ化された学習済みモデルに限定
Azure Blob StorageAzureのストレージ クラウドと同期されるローカルの Blob Storage
Azure SQL Edge RDBMS + ストリーミング処理 / AI 分析
SQL Server Module コンテナ化された SQL Server on Linux

補足(クラウド サービスをエッジで動かす意味): 「同じサービスを
クラウドでもエッジでも動かせる」ことの価値は、
配置を後から変えられる点にある。

PoC:   デバイス ──> [クラウドで推論]
         ↓ 通信量・レイテンシが問題に
本番:  デバイス ──> [エッジで推論] ──要約だけ──> クラウド

アプリのコードを書き換えずに、
デプロイ先を変えるだけで移せるのが利点である。
ローカル Blob Storage も同様で、
「回線が切れている間は貯めて、繋がったら同期する」という
動作をアプリ側の実装なしで実現できる。

移行メモ(最新化:名称と対応 OS): 本ページ執筆後の主な変更点。

項目 現在
Azure Cognitive Services Azure AI サービスに改称・統合
Windows コンテナ v1.2 以降非対応(本ページの記述どおり。現在も変わらず)
Windows デバイス Linux コンテナ on Windows(EFLOW) で対応
Azure Time Series Insights 2024年に廃止。後継は Azure Data Explorer / Fabric

Windows 上で IoT Edge を動かす場合、
現在は EFLOW(Azure IoT Edge for Linux on Windows) という
「Windows 上の軽量 Linux VM で Linux コンテナを動かす」構成になる
WSL2と似た発想である)。

参考

Microsoft Learn


Tags: 移行, インフラストラクチャ, クラウド, Azure, IoT, コンテナ

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally