次の方法で共有


Azure IoT Operations プレビューを Arc 対応 Kubernetes クラスターにデプロイする

重要

Azure Arc によって実現されている Azure IoT Operations プレビューは、現在プレビュー段階です。 運用環境ではこのプレビュー ソフトウェアを使わないでください。

Azure IoT Operations の一般公開リリースが提供されたときには、新規インストールをデプロイすることが必要になります。 プレビュー インストールからのアップグレードはできません。

ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

Azure CLI または Azure portal を使用して Azure IoT Operations プレビューを Kubernetes クラスターにデプロイする方法について説明します。

この記事では、Azure IoT Operations の "デプロイ" と "インスタンス" について説明します。これらは 2 つの異なる概念です。

  • Azure IoT Operations のデプロイには、Azure IoT Operations シナリオを実現するすべてのコンポーネントとリソースが記述されています。 これらのコンポーネントとリソースには以下が含まれます。

    • Azure IoT Operations インスタンス
    • ARC 拡張機能
    • カスタムの場所
    • リソース同期ルール
    • 資産や資産エンドポイントなど、Azure IoT Operations ソリューションで構成できるリソース。
  • Azure IoT Operations の "インスタンス" は、MQTT ブローカー、データフロー、OPC UA コネクタなど、「Azure IoT Operations プレビューとは」で定義されている一連のサービスがバンドルされた親リソースです。

Azure IoT Operations のデプロイについて説明するときは、"デプロイ" を構成するコンポーネントの完全なセットを意味します。 デプロイが存在すると、インスタンスを表示、管理、および更新できます。

前提条件

クラウド リソース:

  • Azure サブスクリプション。

  • Azure Key Vault。 新しいキー コンテナーを作成するには、az keyvault create コマンドを使用します。

    az keyvault create --enable-rbac-authorization --name "<NEW_KEYVAULT_NAME>" --resource-group "<RESOURCE_GROUP>"
    
  • Azure アクセス許可。 詳細については、「デプロイの詳細」>「必要なアクセス許可」を参照してください。

開発リソース:

  • 開発マシンにインストールされた Azure CLI。 このシナリオには、Azure CLI バージョン 2.64.0 以降が必要です。 az --version を使用してバージョンを確認し、必要に応じて az upgrade を使用して更新します。 詳細については、Azure CLIのインストール方法に関するページを参照してください。

  • Azure CLI 用の Azure IoT Operations 拡張機能。 次のコマンドを使用して、拡張機能を追加するか、それを最新バージョンに更新します。

    az extension add --upgrade --name azure-iot-ops
    

クラスター ホスト:

  • カスタムの場所とワークロード ID 機能が有効になっている Azure Arc 対応 Kubernetes クラスター。 お持ちでない場合は、「Azure Arc 対応 Kubernetes クラスターを準備する」の手順に従います。

    クラスターに Azure IoT Operations を既にデプロイしている場合、続行する前にそれらのリソースをアンインストールします。 詳細については、「Azure IoT Operations を更新する」を参照してください。

  • クラスター ホスト上で verify-host コマンドを使用して、クラスター ホストがデプロイ用に正しく構成されていることを確認します。

    az iot ops verify-host
    
  • (省略可能) Azure IoT Operations をデプロイする前に、クラスターを監視用に準備します: 監視を構成する

展開

Azure portal または AzureCLI を使用して、Arc 対応 Kubernetes クラスターに Azure IoT Operations をデプロイします。

Azure portal のデプロイ エクスペリエンスは、リソースと構成に基づいてデプロイ コマンドを生成するヘルパー ツールです。 最後の手順は Azure CLI コマンドを実行することなので、前のセクションで説明した Azure CLI の前提条件が必要です。

  1. Azure portal で、Azure IoT Operations を検索して選択します。

  2. [作成] を選択します

  3. [基本] タブで次の情報を指定します。

    パラメーター
    サブスクリプション Arc 対応クラスターを含むサブスクリプションを選択します。
    リソース グループ Arc 対応クラスターを含むリソース グループを選択します。
    [Cluster name](クラスター名) Azure IoT Operations をデプロイするクラスターを選択します。
    カスタムの場所名 省略可能: カスタムの場所の既定の名前を置き換えます。

    ポータルから Azure IoT Operations をデプロイするための最初のタブを示すスクリーンショット。

  4. [Next:構成] を選択します。

  5. [構成] タブで、次の情報を入力します。

    パラメーター
    Azure IoT Operations 名 省略可能: Azure IoT Operations インスタンスの既定の名前を置き換えます。
    MQTT ブローカーの構成 省略可能: MQTT ブローカーの既定の設定を編集します。 詳細については、「MQTT ブローカーのコア設定を構成する」を参照してください。
    データフロー プロファイルの構成 省略可能: データフローの既定の設定を編集します。 詳細については、「データフロー プロファイルを構成する」を参照してください。

    ポータルから Azure IoT Operations をデプロイするための 2 番目のタブを示すスクリーンショット。

  6. [次へ: 依存関係の管理] を選択します。

  7. [依存関係の管理] タブで、既存のスキーマ レジストリを選択するか、次の手順を使用して作成します。

    1. [新規作成] を選択します。

    2. スキーマ レジストリ名スキーマ レジストリ名前空間を指定します。

    3. [Azure Storage コンテナーの選択] を選択します。

    4. 階層型名前空間が有効なアカウントの一覧からストレージ アカウントを選択するか、[作成] を選択して作成します。

      スキーマ レジストリには、階層型名前空間とパブリック ネットワーク アクセスが有効になっている Azure ストレージ アカウントが必要です。 新しいストレージ アカウントを作成する場合は、ストレージ アカウントの種類として [汎用 v2] を選択し、[階層型名前空間][有効] に設定します。

    5. ストレージ アカウントのコンテナーを選択するか、[コンテナー] を選択して作成します。

    6. [適用] を選択して、スキーマ レジストリの構成を確認します。

  8. [依存関係の管理] タブで、[セキュリティで保護された設定] 展開オプションを選択します。

    ポータルから Azure IoT Operations をデプロイするための 3 番目のタブでの、セキュリティで保護された設定の選択を示すスクリーンショット。

  9. [展開オプション] セクションで、次の情報を入力します。

    パラメーター
    サブスクリプション Azure キー コンテナーが含まれているサブスクリプションを選択します。
    Azure Key Vault Azure キー コンテナーを選択するか、[新規作成] を選択します。

    キー コンテナーの権限モデルとしてコンテナー アクセス ポリシーがあることを確認してください。 この設定を確認するには、[選択したコンテナーの管理]>[設定]>[アクセス構成] を選択します。
    シークレットのユーザー割り当てマネージド ID ID を選択するか、[新規作成] を選択します。
    AIO コンポーネントのユーザー割り当てマネージド ID ID を選択するか、[新規作成] を選択します。 シークレット用に選択したものと同じマネージド ID を使用しないでください。

    ポータルから Azure IoT Operations をデプロイするための 3 番目のタブでの、セキュリティで保護された設定の構成を示すスクリーンショット。

  10. [次へ: オートメーション] を選択します。

  11. ターミナルの [オートメーション] タブで、各 Azure CLI コマンドを一度に 1 つずつ実行します。

    1. 以前に既にサインインしている場合も、ブラウザーを使って対話操作で Azure CLI にサインインします。 対話操作でサインインしないと、Azure IoT Operations をデプロイする次の手順に進んだときに、"リソースにアクセスするにはデバイスを管理対象にする必要があります" というエラーが表示される場合があります。

      az login
      
    2. Azure CLI 環境を前提条件に従って準備していない場合は、任意のターミナルで今すぐ準備してください。

      az upgrade
      az extension add --upgrade --name azure-iot-ops
      
    3. 前のタブで新しいスキーマ レジストリを作成することを選択した場合は、az iot ops schema registry create コマンドをコピーして実行します。

    4. Azure IoT Operations のデプロイ用にクラスターを準備するために、依存関係と基本サービス (スキーマ レジストリを含む) をデプロイします。 az iot ops init コマンドをコピーして実行します。

      ヒント

      init コマンドは、クラスターごとに 1 回実行するだけでかまいません。 Azure IoT Operations バージョン 0.7.0 が既にデプロイされているクラスターを再利用する場合は、この手順をスキップできます。

      このコマンドは、完了までに数分かかる場合があります。 ターミナルのデプロイの進行状況の表示で進行状況を確認できます。

    5. Azure IoT Operations をクラスターにデプロイします。 az iot ops create コマンドをコピーして実行します。

      このコマンドは、完了までに数分かかる場合があります。 ターミナルのデプロイの進行状況の表示で進行状況を確認できます。

    6. Azure IoT Operations インスタンスのシークレット同期を有効にします。 az iot ops secretsync enable コマンドをコピーして実行します。 このコマンドは、次の操作を行います。

      • ユーザー割り当てマネージド ID を使用してフェデレーション ID 資格情報を作成します。
      • Azure Key Vault にアクセスするために、ユーザー割り当てマネージド ID にロールの割り当てを追加します。
      • Azure IoT Operations インスタンスに関連付けられている最小シークレット プロバイダー クラスを追加します。
    7. ユーザー割り当てマネージド ID を Azure IoT Operations インスタンスに割り当てます。 az iot ops identity assign コマンドをコピーして実行します。

      このコマンドでは、指定された接続クラスターの OIDC 発行者と Azure IoT Operations サービス アカウントを使用して、フェデレーション ID 資格情報も作成されます。

  12. すべての Azure CLI コマンドが正常に完了したら、Azure IoT Operations のインストール ウィザードは閉じてかまいません。

デプロイの進行中は、クラスターに適用されているリソースを監視できます。 ターミナルでサポートされている場合は、 init および create コマンドでデプロイの進行状況が表示されます。

それ以外の場合、またはコマンドに --no-progress を追加して進行状況インターフェイスを無効にする場合は、kubectl コマンドを使用してクラスター上のポッドを表示できます。

kubectl get pods -n azure-iot-operations

デプロイが完了するまでに数分かかる場合があります。 ビューを更新するには get pods コマンドを再実行します。

デプロイが完了した後は、az iot ops check を使って、IoT Operations サービスのデプロイの正常性、構成、使いやすさを評価します。 check コマンドは、デプロイと構成の問題を見つけるのに役立ちます。

az iot ops check

--detail-level 2 パラメーターを追加して詳細ビューを表示すれば、トピック マップ、QoS、メッセージ ルートの構成を確認することもできます。

次のステップ

コンポーネントを SQL や Fabric などの Azure エンドポイントに接続する必要がある場合は、Azure IoT Operations プレビューのデプロイのシークレットを管理する方法を確認してください。