次の方法で共有


Anomaly Detector 一変量モジュールを IoT Edge にデプロイする

重要

2023 年 9 月 20 日以降は、新しい Anomaly Detector リソースを作成できなくなります。 Anomaly Detector サービスは、2026 年 10 月 1 日に廃止されます。

Azure AI サービス Anomaly Detector モジュールを IoT Edge デバイスにデプロイする方法について説明します。 IoT Edge にデプロイされると、このモジュールは、他のモジュールと共にコンテナー インスタンスとして IoT Edge 内で実行されます。 これにより、標準の Docker コンテナー環境で実行されている Anomaly Detector コンテナー インスタンスとまったく同じ API が公開されます。

前提条件

  • Azure サブスクリプションを使用してください。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
  • Azure CLI をインストールします。
  • IoT HubIoT Edge デバイス。

Anomaly Detector リソースを作成する

  1. Azure portal にサインインします。

  2. [Anomaly Detector の作成] リソースを選択します。

  3. すべての必須設定を入力します。

    設定
    名前 任意の名前 (2 から 64 文字)
    サブスクリプション 適切なサブスクリプションを選択します
    場所 近くにある任意の使用可能な場所を選択します
    価格レベル F0 - 1 秒あたり 10 回の呼び出し、1 か月あたり 2 万件のトランザクション。
    または:
    S0 - 1 秒あたり 80 回の呼び出し
    リソース グループ 使用可能なリソース グループを選択します
  4. [作成] を選択して、リソースが作成されるまで待ちます。 作成後、リソース ページに移動します。

  5. 構成された endpoint と API キーを収集します。

    ポータルの [キーとエンドポイント] タブ 設定
    概要 エンドポイント エンドポイントをコピーします。 それは、https://<your-resource-name>.cognitiveservices.azure.com/ のようなものです
    [キー] API キー 2 つのキーのうちの 1 つをコピーします。 スペースやダッシュを含まない 32 文字の英数字文字列 (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) です。

異常検出モジュールをエッジにデプロイする

  1. Azure portal で、「Anomaly Detector on IoT Edge」と検索に入力し、Azure Marketplace の結果を開きます。

  2. これにより、Azure portal の [IoT Edge モジュールのターゲット デバイス] ページに移動します。 次の必要な情報を入力します。

    1. サブスクリプションを選択します。

    2. IoT ハブを選択します。

    3. [デバイスの検索] を選択して、IoT Edge デバイスを検索します。

  3. [作成] ボタンを選択します。

  4. AnomalyDetectoronIoTEdge モジュールを選択します。

    IoT Edge モジュールのユーザー インターフェイスの画像。AnomalyDetectoronIoTEdge リンクが赤色のボックスで強調表示されており、この項目を選択することが示されています。

  5. [環境変数] に移動し、次の情報を指定します。

    1. Eula の値は accept のままにします。

    2. [請求] に Azure AI サービス エンドポイントを入力します。

    3. [ApiKey] に Azure AI サービス API キーを入力します。

    エンドポイントと API キーを表す環境変数の値を入力する必要のある領域が赤い枠で囲まれている

  6. [Update]\(更新\) を選択します。

  7. Next:ルート を選択して、ルートを定義します。 すべてのモジュールから、すべてのメッセージが Azure IoT Hub に送信されるように定義します。 ルートを宣言する方法については、IoT Edge でのルートの確立に関する記事を参照してください。

  8. [次へ: 確認および作成] を選択します。 IoT Edge デバイスにデプロイされるすべてのモジュールを定義した JSON ファイルをプレビューできます。

  9. [作成] を選択してモジュール デプロイを開始します。

  10. モジュールのデプロイが完了すると、IoT ハブの [IoT Edge] ページに戻ります。 IoT Edge デバイスの一覧からご自分のデバイスを選択し、その詳細を表示します。

  11. 下にスクロールして、一覧表示されているモジュールを表示します。 新しいモジュールについてランタイムの状態が実行中であることを確認します。

IoT Edge デバイスのランタイムの状態をトラブルシューティングするには、トラブルシューティング ガイドをご覧ください。

IoT Edge デバイスで Anomaly Detector をテストする

Azure AI サービス コンテナーが実行されている Azure IoT Edge デバイスに対して HTTP 呼び出しを行います。 コンテナーには、REST ベースのエンドポイント API が用意されています。 モジュール API には、ホスト http://<your-edge-device-ipaddress>:5000 を使用します。

または、Azure IoT Edge デバイスで Anomaly Detector クライアント ライブラリを使用してモジュール クライアントを作成し、エッジで実行中の Azure AI サービス コンテナーを呼び出すこともできます。 ホスト エンドポイント http://<your-edge-device-ipaddress>:5000 を使用し、ホスト キーを空のままにします。

エッジ デバイスでポート 5000 での受信方向の通信がまだ許可されていない場合は、新しい受信ポート規則を作成する必要があります。

Azure VM の場合、これは [仮想マシン]>[設定]>[ネットワーク]>[受信ポートの規則]>[受信ポートの規則を追加する] で設定できます。

モジュールが実行されていることを検証する方法は複数あります。 問題になっているエッジ デバイスの "外部 IP" アドレスと公開ポートを特定し、任意の Web ブラウザーを開きます。 以下に示した各種の要求 URL を使用して、コンテナーが実行中であることを確認します。 以下に示した例の要求 URL は http://<your-edge-device-ipaddress:5000 ですが、実際のコンテナーは異なる可能性があります。 エッジ デバイスの "外部 IP" アドレスを使用する必要があることにご注意ください。

要求 URL 目的
http://<your-edge-device-ipaddress>:5000/ コンテナーには、ホーム ページが用意されています。
http://<your-edge-device-ipaddress>:5000/status これも GET で要求することで、コンテナーを起動するために使用された API キーが有効であるかどうかを、エンドポイント クエリを発生させずに確認できます。 この要求は Kubernetes の liveness probe と readiness probe に対して使用できます。
http://<your-edge-device-ipaddress>:5000/swagger コンテナーには、エンドポイントの完全なドキュメント一式と、 [Try it out](試してみる) の機能が用意されています。 この機能を使用すると、コードを一切記述することなく、お客様の設定を Web ベースの HTML フォームに入力したりクエリを実行したりできます。 クエリから戻った後、HTTP ヘッダーと HTTP 本文の必要な形式を示すサンプル CURL コマンドが得られます。

コンテナーのホーム ページ

次のステップ