重要
Microsoft Purview 統合カタログと従来の Microsoft Purview データ ガバナンス機能 (旧称 Azure Purview) は廃止されます。 Microsoft は、Microsoft Fabric のデータ ガバナンス機能を統合しています。 新しいアカウントは作成できなくなり、既存の機能は 2027 年 11 月 12 日までメンテナンス モードのままになります。 廃止のタイムライン、移行ガイダンス、推奨される次の手順については、 Microsoft Purview データ ガバナンスの廃止のお知らせを参照してください。
この記事では、基盤となるインフラストラクチャを改善していくつかの利点を提供する、Linux 用の Kubernetes ベースの新しい SHIR 機能の詳細について説明します。
- スケーラビリティ: 数百台のマシンに拡張できます。
- パフォーマンス: スキャン ワークロードのパフォーマンスが向上しました。
- セキュリティ (コンテナー化): Windows マシンで SHIR を直接ホストするのではなく、Kubernetes クラスターでコンテナー化されたセキュリティを導入する機能
この記事では、Kubernetes でサポートされているセルフホステッド統合ランタイムをインストールして管理する方法について詳しく説明します。
サポートされているデータ ソース
サポートされているすべてのソースの一覧については、 各統合ランタイム テーブルでサポートされているデータ ソースを参照してください。
アーキテクチャ
アーキテクチャの大まかな観点では、KubernetesベースのSHIRがインストールされると、ユーザーのKubernetesクラスタのノードにいくつかのポッドが自動作成されます。 このインストールは、IRCTL という名前のコマンド ライン ツールによってトリガーできます (詳細は次のセクションで説明します)。 IRCTL は Microsoft Purview Service に接続して SHIR を登録し、Kubernetes クラスターに接続して SHIR をインストールします。
インストール中に、SHIR イメージが MCR (Microsoft コンテナー レジストリ) から SHIR ポッドにダウンロードされます。 インストールが完了すると、ユーザーのクラスター内のポッドは Microsoft Purview Service に接続してスキャン ジョブをプルします。 スキャン ジョブが取得されると、ユーザーのオンプレミス データ ソースに接続してデータ スキャンを行うことができます。
前提条件
エンタープライズ データ ガバナンス ソリューションを使用している Microsoft Purview アカウント。
Kubernetes クラスター: 既存の Linux ベースの Kubernetes クラスターを用意するか、準備する必要があります。 ノードは、Kubernetes ノード セレクターの定義に従うノード セレクターによって識別できます。 最小構成:
- コンテナーの種類: Linux
- Kubernetes バージョン: 1.24.9 以降
- ノード OS: x86 アーキテクチャで実行される Linux ベースの OS
- ノードの仕様: 最低 8 コア CPU、32 GB のメモリ、80 GB 以上のハード ディスク空き容量
- ノード数: >=1 (クラスター自動スケーラーを有効にする のではなく 修正する必要があります)
- ノードあたりのポッド数: >= 20 (最大ポッド数 – Self-Hosted IR に属していない他のポッドの数)
注:
各ノードのフォルダ /var/irstorage/ は SHIR 用に予約されています。 SHIR で読み取りおよび書き込み可能です。 このフォルダーから保存しているログを取得するか、このフォルダーに外部ドライバーをアップロードできます。 存在しない場合は SHIR によって作成され、SHIR が削除された後は削除されません。 SHIR で使用されるコンテナー イメージは Kubernetes ガベージ コレクションによって管理され、SHIR によってクリーンアップされません。 Kubernetes クラスターの適切なしきい値を構成します。
Kubernetes クラスター ネットワーク: 使用している Kubernetes クラスターは、 ネットワーク要件に記載されているエンドポイントに接続できる必要があります。
統合ランタイム コマンド ライン ツール: Microsoft Purview Kubernetes SHIR をローカルで管理するには、IRCTL という名前のコマンド ライン ツールが必要です。 このツールは、SHIR の作成プロセス中にダウンロードできます。 IRCTL は、Microsoft Purview SHIR を管理するためのコマンド ライン ツールです。 詳細については、 IRCTL のドキュメントを参照してください。
-
Kubernetes コンテキスト: Kubernetes クラスターと通信するには、Kubernetes クラスター情報と、このクラスターに対するユーザーのアクセス許可と資格情報を含む Kubernetes コンテキストが必要です。 SHIR管理のためのユーザーの権限の設定を容易にするには、Kubernetes管理ロールから始めることができます。 このコンテキストは、Kubernetes クラスターのセットアップ時に生成され、構成ファイルに保存されます。 このファイルを入手する場所と方法は、Kubernetes クラスターの設定によって異なります。
-
kubeadm initを使用して Kubernetes クラスターを設定する場合は、/etc/Kubernetes/admin.confの下に構成ファイルがあります。 - AKS を使用している場合は、AKS のガイダンスに従って、Az PowerShell module コマンドを使用して、このクラスターの資格情報をローカル マシンに取得できます。 コンテキストは、
$HOME/.kube/configの下の構成ファイルに直接マージできます。 - Kubernetes クラスターを設定するために他のツールを使用している場合は、 Kubernetes のドキュメントを参照してください。
- Kubernetes コンテキストの config ファイルがある場合は、IRCTL コマンドを実行するマシン上の config ファイル (
$HOME/.kube/config) にマージします。 または、Kubernetesコンテキストの設定ファイルをKUBECONFIGという名前の環境変数に設定することもできます。 Kubernetesコンテキストの詳細については、 複数のクラスタへのアクセスの構成を参照してください。
-
Kubernetes でサポートされているセルフホステッド統合ランタイムを作成する
Kubernetes SHIR を制御および管理するために、ユーザーは IRCTL という名前のコマンド ライン ツールをダウンロードできます。 次に示すのは、Kubernetes でサポートされているセルフホステッド統合ランタイムの手順です。
この手順では IRCTL をダウンロードしますが、直接リンクについては、 IRCTL のドキュメントを参照してください。
Kubernetes でサポートされているセルフホステッド統合ランタイムを設定する
Microsoft Purview データ マップで [統合ランタイム] ウィンドウを開きます
- 新しい Microsoft Purview ポータルを使用している場合:
- データ マップを開く
- [ソース管理] を選択する
- 統合ランタイムの選択
- 従来の Microsoft Purview ガバナンス ポータルを使用している場合:
- データ マップを開く
- 統合ランタイムの選択
- 新しい Microsoft Purview ポータルを使用している場合:
[ +新規 ] ボタンを選択します
[セルフホステッド] を選択し、[続行] を選択します
ランタイムに名前を付けてから、 Kubernetes サービス サポート の切り替えを選択して有効にします
[作成] を選択します
[登録キーの取得] を選択します
キー値をコピーします。 後で IRCTL でコマンドを実行するために必要です。
ヒント
必要に応じて、キーを再生成するか、生成されたキーを取り消すことができます。
[ IRCTL をダウンロードして統合ランタイムをインストールする ] リンクを選択して、IRCTL ツールをダウンロードします。 (次の手順に従って IRCTL を直接ダウンロードすることもできます。)
IRCTL コマンド ラインを実行するマシン上で、ダウンロードから IRCTL をインストールします。 IRCTL は、Kube 構成のコンテキストによって Kubernetes クラスターに接続します。context が指定されていない場合、IRCTL は現在のコンテキストを使用します。 コンテキストは、次の 2 つの方法のいずれかで設定できます。
kubectl コマンド ラインを実行し、次のコマンドを実行して現在のコンテキストを確認します。
kubectl config get-contexts – List all contexts configured on the machinekubectl config current-context – Get the current context namekubectl config use-context <name of context>IRCTL を実行し、
--contextを実行して Kube 構成にコンテキストを指定します
IRCTL コマンド ラインを実行し、コピーした登録キーでこのコマンドを実行します。
./irctl create --registration-key <registration key copied from the portal>注:
ノード セレクターが指定されていない場合は、Kubernetes クラスターのすべてのノードが使用されます。 AKS の場合、AKS ノード プールのラベルをノード セレクターとして使用するか、SHIR ノードに異なるラベルをカスタマイズすることをお勧めします。
次の印刷イメージが表示されます。
[Info] Start to create SHIR with Kubernetes context [your-context]...... [Info] Environment validation passed! [Info] Registering SHIR[example-k8s-shir] for Microsoft Purview Account [yourpurviewaccount]...... [Info] SHIR Registration done! [Info] Provisioning SHIR, it may take about 5-30 minutes......done! [Info] SHIR creation succeeded!ヒント
Ctrl-C またはその他の理由によってインストールの進行状況が途切れた場合は、次のコマンドを使用してインストールの進行状況を監視できます。
./irctl install statusインストールが完了したら、SHIR の現在の状態をチェックするには、次のコマンドを実行します。
./irctl describeMicrosoft Purview ポータルの [統合ランタイム] ページで SHIR の状態をチェックすることもできます。
外部ドライバーでスキャンを設定する
一部のデータ ソースをスキャンする場合は、Microsoft Purview がデータ ソースに接続できるように、SHIR がインストールされているコンピューターに対応するドライバーをインストールする必要があります。 以下は、Db2 スキャンの例です。 特定の前提条件については、それぞれのコネクタの記事を参照してください。
注:
これらの外部ドライバーを必要とするデータ ソースには、その前提条件に情報が記載されています。
この例では、Db2 ドライバーをインストールしています。 他のドライバーの場合も手順は同様です。
ドライバーをダウンロードします (各ソースに個別のドライバーが一覧表示されます)。例えば、DB2 ドライバーはこちらにあります: 「Db2 に接続して管理する」を参照してください。
統合ランタイムの各ノードにドライバーをアップロードします。 次のようなコマンドを使用できます。
./irctl storage upload --source jdbc_sqlj/db2_driver --destination driver/db2アップロードが正常に完了すると、次のようになります。
========== Context ========== Kubernetes Context : k8s-shir-test-cluster Purview Account : test-purview-1 Self-hosted Intrgration Runtime: k8s-shir-demo ========== Progress ========== Processing 2/2 nodes... aks-shirpool-27141791-vmss000000: SUCCEEDED aks-shirpool-27141791-vmss000001: SUCCEEDED ========== Results ========== jdbc_sqlj/db2_driver -> /var/irstorage/driver/db2注:
ノードを置き換えるか、新しいノードにスケールアウトする場合は、外部ドライバーを再度アップロードする必要があります。
次のコマンドでアップロードされたファイルを確認します。
./irctl storage list driver/db2次のような応答が表示されます。
========== Context ========== Kubernetes Context : k8s-shir-test-cluster Purview Account : test-purview-1 Self-hosted Intrgration Runtime: k8s-shir-demo ========== Progress ========== Processing 2/2 nodes... aks-shirpool-27141791-vmss000000: SUCCEEDED aks-shirpool-27141791-vmss000001: SUCCEEDED ========== Results ========== Node: aks-shirpool-27141791-vmss000000 - Succeeded /var/irstorage/driver/db2 total 9364 drwxr-xr-x 2 root root 4096 May 15 14:23 . drwxr-xr-x 3 root root 4096 May 15 14:23 .. -rwxrwxr-x 1 root root 6568346 May 15 14:23 db2jcc4.jar Node: aks-shirpool-27141791-vmss000001 - Succeeded /var/irstorage/driver/db2 total 9364 drwxr-xr-x 2 root root 4096 May 15 14:23 . drwxr-xr-x 3 root root 4096 May 15 14:23 .. -rwxrwxr-x 1 root root 6568346 May 15 14:23 db2jcc4.jar手順 3 の Destination 値を持つ DriverLocation の値を使用してスキャンを作成します。
高可用性と拡張性
Kubernetes でサポートされているセルフホステッド統合ランタイムのインストール中にノード セレクターを使用することで、Kubernetes クラスターの複数のノードを高可用性に割り当てることができます。 複数のノードを使用する利点は次のとおりです。
- セルフホステッド統合ランタイムの可用性が向上し、スキャンの単一障害点ではなくなりました。
- より多くの同時スキャンを実行します。 各ノードは、同時に多くのスキャン実行を強化できます。 より多くの同時スキャンが必要な場合は、Kubernetesクラスターのノードを手動でスケールアウトできます。
- Azure Blob、Azure Data Lake Storage Gen2、Azure Files などの一部のソースをスキャンする場合、スキャンを実行するたびに複数のノードを使用してスキャン パフォーマンスを向上させることができます。 その他のソースの場合、スキャンは 1 つのノードでのみ実行されます。
Kubernetes でサポートされているセルフホステッド統合ランタイムの機能は、Kubernetes クラスターのノードを手動でスケールアウト/インすることで更新できます。
注:
新しい各ノードでスキャンに必要なすべてのドライバーをアップロードする必要があります。
ネットワークの要件
| ドメイン名 | 送信ポート | 説明 |
|---|---|---|
パブリック クラウド: <tenantID>-api.purview-service.microsoft.comAzure Government: <tenantID>-api.purview-service.microsoft.us中国: <tenantID>-api.purview-service.microsoft.cn |
443 | Microsoft Purview サービスに接続するために必要です。 Microsoft Purview プライベート エンドポイントを使用する場合、このエンドポイントはアカウント プライベート エンドポイントの対象となります。 |
パブリック クラウド: <purview_account>.purview.azure.comAzure Government: <purview_account>.purview.azure.us中国: <purview_account>.purview.azure.cn |
443 | Microsoft Purview サービスに接続するために必要です。 Microsoft Purview プライベート エンドポイントを使用する場合、このエンドポイントはアカウント プライベート エンドポイントの対象となります。 |
パブリック クラウド: <managed_storage_account>.blob.core.windows.net または <ingestion_storage_account>.*.blob.storage.azure.netAzure Government: <managed_storage_account>. blob.core.usgovcloudapi.net または<ingestion_storage_account>. blob.core.usgovcloudapi.net中国: <managed_storage_account>.blob.core.chinacloudapi.cnまたは <ingestion_storage_account>.blob.core.chinacloudapi.cn |
443 | Microsoft Purview マネージド Azure Blob ストレージ アカウントに接続するために必要です。 |
パブリック クラウド: <managed_storage_account>.queue.core.windows.net または <ingestion_storage_account>.*.queue.storage.azure.netAzure Government: <managed_storage_account>. queue.core.usgovcloudapi.net または<ingestion_storage_account>. queue.core.usgovcloudapi.net中国: <managed_storage_account>.queue.core.chinacloudapi.cnまたは <ingestion_storage_account>.queue.core.chinacloudapi.cn |
443 | Microsoft Purview マネージド Azure Queue ストレージ アカウントに接続するために必要です。 |
パブリック クラウド: *.compute.governance.azure.comAzure Government: *.compute.governance.azure.us中国: *.compute.governance.azure.cn |
443 | Microsoft Purview サービスに接続するために必要です。 現時点では専用リソースがないためワイルドカードが必要です。 |
| mcr.microsoft.com | 443 | 画像のダウンロードに必要です。 |
| *.data.mcr.microsoft.com | 443 | 画像のダウンロードに必要です。 |
注:
ユーザーがスキャンするソースによっては、他のドメインや、他の Azure または外部ソースの送信ポートも許可する必要があります。
バージョン
通常、セルフホステッド統合ランタイムの新しいマイナー バージョンを毎月1つリリースします。これには、機能、機能強化、バグ修正が含まれています。
セルフホステッド統合ランタイムの各バージョンは、1 年で有効期限が切れます。
現在のバージョンのチェック方法
Kubernetes セルフホステッド統合ランタイムのバージョンは、ポータルまたは IRCTL でチェックできます。
ポータル
- Microsoft Purview ポータルで、データ マップに移動します。
- 統合ランタイムの選択
- 統合ランタイムの説明行の 4 列目は [バージョン] となり、そこでバージョンをチェックできます。
IRCTL (1.1.0 以降)
describe コマンドは、統合ランタイムのバージョンを返します。
./irctl describe
自動更新
バージョン 1.1.0 以降、Kubernetes セルフホステッド統合ランタイムは自動更新をサポートしており、これは既定で有効になっています。 この機能により、統合ランタイムは月に約 1 回、Microsoft が管理する最新のバージョンに自動的にアップグレードされます。
オプトアウト
最新の機能と機能強化を活用するために、自動更新を有効にしておくことをお勧めします。 ただし、IRCTL を使用して自動更新をオプトアウトするオプションがあります。 自動更新の構成は再インストール後も維持されるため、インストールのたびに無効にする必要はありません。
./irctl config set autoUpdate.enabled false
./irctl config view
自動更新バージョンと最新バージョン
安定性を確保するために、自動更新は通常、1 か月の遅延で最新バージョンより遅れています。 自動更新バージョンは Microsoft によって管理されます。
統合ランタイムを新しいバージョンにアップグレードする場合は、 特定のバージョンの IRCTL を使用して手動アップグレードを実行する必要があります。