Azure IoT Operations をデプロイするときは、Azure Arc 対応 Kubernetes クラスターにサービス スイートをインストールします。 この記事では、シナリオで考慮すべきさまざまなデプロイ オプションの概要について説明します。
サポートされている環境
サポートされている Windows 環境
Microsoft では、Windows での Azure IoT Operations デプロイに対して次の Kubernetes ディストリビューションをサポートしています。 次の表では、サポート レベルと、Microsoft が展開の検証に使用するバージョンについて詳しく説明します。
| Kubernetes ディストリビューション | Architecture | サポート レベル | 検証済みの最小バージョン |
|---|---|---|---|
| AKS Edge Essentials | x86_64 | パブリック プレビュー | AksEdge-K3s-1.29.6-1.8.202.0 |
| Azure ローカルでの AKS | x86_64 | パブリック プレビュー | Azure Stack HCI OS バージョン 23H2、ビルド 2411 |
- 検証済みの最小バージョンは、Microsoft が Azure IoT Operations デプロイの検証に使用する Kubernetes ディストリビューションの最小バージョンです。
サポートされている Linux 環境
Microsoft では、Linux 環境での Azure IoT Operations デプロイに対して、次の Kubernetes ディストリビューションをサポートしています。 次の表に、サポート レベルと、Microsoft が展開の検証に使用するバージョンを示します。
| Kubernetes ディストリビューション | Architecture | サポート レベル | 検証済みの最小バージョン | 検証済みの最小 OS |
|---|---|---|---|---|
| K3s | x86_64 | 一般公開 | 1.31.1 | Ubuntu 24.04 |
| Tanzu Kubernetes リリース (TKr) | x86_64 | 一般公開 | 1.28.11 | Tanzu Kubernetes Grid 2.5.2 |
- 検証済みの最小バージョンは、Microsoft が Azure IoT Operations デプロイの検証に使用する Kubernetes ディストリビューションの最小バージョンです。
- 検証済みの最小 OS は、Microsoft が展開の検証に使用するオペレーティング システムの最小バージョンです。
Von Bedeutung
Azure IoT Operations デプロイのサポートは、TKr のバージョン 1.28.11 でのみ利用できます。
注
課金使用量レコードは、サポートや可用性レベルに関係なく、Azure IoT Operations がインストールされているすべての環境で収集されます。
Azure IoT Operations をインストールするには、Azure IoT Operations を使用できる次のハードウェア要件を満たしている必要があります。 フォールト トレランスを有効にするマルチノード クラスターを使用している場合は、パフォーマンスを向上させるために推奨容量までスケールアップします。
| 仕様 | 最小 | 推奨 |
|---|---|---|
| ハードウェア メモリ容量 (RAM) | 16 GB | 32 GB |
| Azure IoT Operations の使用可能なメモリ (RAM) | 10 GB | 使用状況によって異なる |
| CPU | 4 つの vCPU | 8 つの vCPU |
注
最小構成は、Azure IoT 操作を実行する場合にのみ適しています。
機能を選択する
Azure IoT Operations には、2 つのデプロイ モードが用意されています。 "テスト設定" (評価シナリオの場合に作業を開始しやすい、基本的な機能のサブセット) を使用してデプロイすることを選択できます。 または、完全な機能セットである "セキュリティで保護された設定" を使用してデプロイすることもできます。
テスト設定のデプロイ
テスト設定のみを使用するデプロイには、次の特性があります。
- シークレットまたはユーザー割り当てマネージド ID 機能は構成しません。
- これは、評価目的でエンドツーエンドのクイック スタート サンプルを有効にするように設計されているため、OPC PLC シミュレーターをサポートし、システム割り当てマネージド ID を使用してクラウド リソースに接続します。
- セキュリティで保護された設定を使用するようにアップグレードできます。
クイックスタート エクスペリエンスについては、「クイック スタート: K3s を使用して GitHub Codespaces で Azure IoT Operations を実行する」のシナリオを使用できます。 このシナリオは、軽量の Kubernetes ディストリビューション (K3s) を使用し、GitHub Codespaces で実行されるため、クラスターを設定したり、ツールをローカルにインストールしたりする必要はありません。
テスト設定を使って Azure IoT Operations をデプロイするには、次の記事に従ってください。
- 「Azure Arc 対応 Kubernetes クラスターを準備する」から始めて、クラスターを構成して Arc 対応にします。
- 次に、「Azure IoT Operations をテスト クラスターにデプロイする」の手順に従います。
ヒント
いつでも、セキュリティで保護された設定を有効にするの手順に従って、セキュリティで保護された設定を使用するように Azure IoT Operations インスタンスをアップグレードできます。
セキュリティで保護された設定のデプロイ
セキュリティで保護された設定を使用するデプロイには、次の特性があります。
- 運用環境に対応したシナリオ向けに設計されています。
- これにより、シークレットとユーザー割り当てマネージド ID が有効になり、どちらも運用環境対応のシナリオを開発するための重要な機能です。 シークレットは、Azure IoT Operations コンポーネントが OPC UA サーバーやデータ フロー エンドポイントなどのクラスター外のリソースに接続するたびに使用されます。
セキュリティで保護された設定を使って Azure IoT Operations をデプロイするには、次の記事に従ってください。
- 「Azure Arc 対応 Kubernetes クラスターを準備する」から始めて、クラスターを構成して Arc 対応にします。
- 次に、「Azure IoT Operations を運用クラスターにデプロイする」の手順に従います。
必要なアクセス許可
次の表では、昇格されたアクセス許可を必要とする Azure IoT Operations のデプロイと管理タスクについて説明します。 ユーザーへのロールの割り当てについては、「Azure ロールを割り当てる手順」をご覧ください。
| タスク | 必要なアクセス許可 | コメント |
|---|---|---|
| Azure IoT Operations をデプロイする | Azure IoT Operations のオンボード ロール | このロールには、Azure IoT Operations と Azure Device Registry のリソースの読み取りと書き込みに必要なすべてのアクセス許可があります。 このロールには Microsoft.Authorization/roleAssignments/write アクセス許可があります。 |
| リソース プロバイダーを登録する | サブスクリプション レベルでの共同作成者ロール | サブスクリプションごとに 1 回行うだけで済みます。 次のリソース プロバイダーを登録する必要があります: Microsoft.ExtendedLocation、Microsoft.SecretSyncController、Microsoft.Kubernetes、Microsoft.KubernetesConfiguration、Microsoft.IoTOperations、Microsoft.DeviceRegistry。 |
| Key Vault にシークレットを作成する | リソース レベルでの キー コンテナー シークレット責任者ロール | Azure Key Vault からシークレットを同期するための、セキュリティで保護された設定のデプロイにのみ必要です。 |
| ストレージ アカウントの作成と管理 | ストレージ アカウント共同作成者ロール | Azure IoT Operations のデプロイに必要です。 |
| リソース グループを作成する | リソース グループ共同作成者ロール | Azure IoT Operations リソースを格納するためのリソース グループを作成するのに必要です。 |
| クラスターを Azure Arc にオンボードする | Kubernetes クラスター - Azure Arc のオンボード ロール | Azure IoT Operations をデプロイするには、Arc 対応クラスターが必要です。 |
| Azure リソース ブリッジのデプロイを管理する | Azure リソース ブリッジのデプロイ ロール | Azure IoT Operations をデプロイするために必要です。 |
| デプロイにアクセス許可を付与する | Azure Arc 対応 Kubernetes クラスター ユーザー ロール | Azure Arc 対応 Kubernetes クラスターへのデプロイのアクセス許可を付与するために必要です。 |
ヒント
Akri サービスの自動資産検出機能を使用するには、Azure IoT Operations インスタンスでリソース同期を有効にする必要があります。 詳細については、「 OPC UA 資産検出とは」を参照してください。
Azure CLI を使用してロールを割り当てる場合は、az role assignment create コマンドを使ってアクセス許可を付与します。 たとえば、az role assignment create --assignee sp_name --role "Role Based Access Control Administrator" --scope subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyResourceGroup のように指定します。
Azure portal を使用してユーザーまたはプリンシパルに特権管理者ロールを割り当てる場合は、条件を使ってアクセスを制限するように求められます。 このシナリオでは、[ロールの割り当ての追加] ページで [Allow user to assign all roles] (ユーザーがすべてのロールを割り当てることを許可する) という条件を選択します。
サイトを使用してインスタンスを整理する
Azure IoT Operations では、インスタンスを整理するための Azure Arc サイトがサポートされています。 "サイト" は、リソース グループのような Azure のクラスター リソースですが、通常、サイトは物理的な場所によってインスタンスをグループ化し、OT ユーザーが資産を簡単に見つけて管理できるようにします。 IT 管理者がサイトを作成し、サブスクリプションまたはリソース グループにスコープを設定します。 その後、Arc 対応クラスターにデプロイされた Azure IoT Operations は、サブスクリプションまたはリソース グループに関連付けられたサイトに自動的に収集されます
詳細については、「Azure Arc サイト マネージャーとは (プレビュー)」を参照してください
Azure IoT Operations エンドポイント
エンタープライズ ファイアウォールまたはプロキシを使用して送信トラフィックを管理する場合は、Azure IoT Operations をデプロイする前に次のエンドポイントを構成します。
Azure Arc 対応 Kubernetes エンドポイントのエンドポイント。
注
Azure Arc Gateway を使用してクラスターを Arc に接続する場合は、Arc Gateway のガイダンスに基づいて、より小規模なエンドポイント セットを構成できます。
Azure CLI エンドポイント内のエンドポイント。
このエンドポイントの一覧から
graph.windows.net、*.azurecr.io、*.blob.core.windows.net、および*.vault.azure.netが必要です。Azure IoT Operations には次のエンドポイントが特に必要です。
エンドポイント (DNS) 説明 <customer-specific>.blob.core.windows.netスキーマ レジストリのストレージ。 エンドポイントのお客様固有のサブドメインを特定するには、「ストレージ アカウント エンドポイント」を参照してください。 データをクラウドにプッシュするには、選択したデータ プラットフォームに基づいて次のエンドポイントを有効にします。
- Microsoft Fabric OneLake: Fabric URL を許可リストに追加します。
- Event Hubs: 接続に関する問題のトラブルシューティング - Azure Event Hubs。
- Event Grid: 接続に関する問題のトラブルシューティング - Azure Event Grid。
- Azure Data Lake Storage Gen 2: ストレージ アカウントの Standard エンドポイント。
データの保存場所
Azure Resource Manager を使用すると、Azure portal または Azure CLI を使用して、クラウドから Kubernetes クラスター内の Azure IoT Operations インスタンスを管理および制御できます。 Azure IoT Operations 用の Azure Resource Manager リソースを 現在サポートされているリージョンにデプロイする必要がある一方で、運用ワークロードとデータが物理的に存在する場所を選択します。 Azure IoT Operations のランタイムとコンピューティングは、オンプレミスおよびあなたの管理下に残ります。
このアーキテクチャにより、デプロイの次の特性が保証されます。
- すべての運用プロセスとワークロードは、独自のローカル インフラストラクチャで実行されます。
- データ所在地の要件に準拠するには、ソリューションで使用するデータ ストレージまたはデータ処理リソースの Azure リージョンを選択します。
- データは、ローカル インフラストラクチャと Azure ストレージと処理リソースの間で直接転送されます。 データは、クラウド内の Azure IoT Operations リソースを通過しません。
- Azure IoT Operations インスタンスの Azure Resource Manager の場所は、管理とオーケストレーションの論理リファレンスです。
- 顧客の運用データは再配置されません。 サービスの改善やインフラストラクチャの問題の事前識別に使用されるメトリックやログなどの一部のシステム テレメトリは、Azure IoT Operations リソースが配置されている Azure リージョンに流れる場合があります。
次の図は、データの保存と処理に別の Azure リージョンを必要に応じて使用しながら、ローカル インフラストラクチャでデータ主権を維持する方法を示すデプロイの例を示しています。 この例では:
- Azure IoT Operations 管理リソースは、 米国西部 リージョンにデプロイされます。 このリージョンは、Azure IoT Operations でサポートされているリージョンの 1 つです。
- 運用ワークロードとデータは、データの所在とデータ主権を確保するために、完全な管理のもと、ネットワークのエッジにおけるオンプレミスに残ります。
- データストレージと処理リソースは、特定の地域データ所在地の要件を満たすために カナダ中部 リージョンにデプロイされます。
次のステップ
Azure Arc 対応 Kubernetes クラスターを準備して、Azure IoT Operations のクラスターを構成し、Arc 対応にします。