Azure Data Factory で共有のセルフホステッド統合ランタイムを作成する

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。

このガイドでは、Azure Data Factory で共有のセルフホステッド統合ランタイムを作成する方法について説明します。 これにより、共有のセルフホステッド統合ランタイムを他のデータ ファクトリで使用できます。

Note

セルフホステッド統合ランタイムを共有するデータ ファクトリが増加すると、ワークロードが増加し、キュー時間が長くなることがあります。 キュー時間が過度に長くなる場合、ノードをスケールアップしたり、ノードを追加してスケールアウトしたりできます。 最大 4 ノードまで追加できます。

Azure Data Factory で共有のセルフホステッド統合ランタイムを作成する

データ ファクトリに既に設定してある既存のセルフホステッド統合ランタイム インフラストラクチャを再利用することができます。 この再利用により、共有された既存のセルフホステッド IR を参照して、異なるデータ ファクトリにリンクされたセルフホステッド統合ランタイムを作成できます。

この機能の概要とデモンストレーションを参照するには、以下の 12 分間の動画を視聴してください。

用語

  • 共有された IR:物理インフラストラクチャで実行されている元のセルフホステッド IR。
  • リンクされた IR:別の共有された IR を参照する IR。 リンクされた IR は論理 IR であり、共有された別のセルフホステッド IR のインフラストラクチャを使用します。

Azure Data Factory の UI を使用して共有のセルフホステッド IR を作成する

Azure Data Factory の UI を使用して共有のセルフホステッド IR を作成するには、次の手順を実行します。

  1. 共有されるセルフホステッド IR で、 [別のデータ ファクトリにアクセス許可を付与] を選択し、[統合ランタイムのセットアップ] ページで、リンクされた IR を作成するデータ ファクトリを選択します。

    [共有] タブのアクセス許可を付与するためのボタン

  2. 上記の共有されるセルフホステッド IR の "リソース ID" に注目してコピーしておきます。

  3. アクセス許可が付与されたデータ ファクトリで、新しいセルフホステッド IR (共有) を作成して、リソース ID を入力します。

    セルフホステッド統合ランタイムを作成するためのボタン

    リンクされたセルフホステッド統合ランタイムを作成するためのボタン

    名前とリソース ID のボックス

Azure PowerShell を使用して共有のセルフホステッド IR を作成する

Azure PowerShell を使用して共有のセルフホステッド IR を作成するには、次の手順を実行します。

  1. データ ファクトリを作成します。
  2. セルフホステッド統合ランタイムを作成します。
  3. セルフホステッド統合ランタイムを他のデータ ファクトリと共有します。
  4. リンクされた統合ランタイムを作成します。
  5. 共有を取り消します。

前提条件

Note

Azure を操作するには、Azure Az PowerShell モジュールを使用することをお勧めします。 作業を開始するには、Azure PowerShell のインストールに関する記事を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

Note

現在 Data Factory が利用できる Azure リージョンの一覧については、「リージョン別の利用可能な製品」ページで目的のリージョンを選択してください。

Data Factory の作成

  1. Windows PowerShell Integrated Scripting Environment (ISE) を起動します。

  2. 変数を作成します。 次のスクリプトをコピーして貼り付けます。 SubscriptionNameResourceGroupName などの変数を実際の値に置き換えます。

    # If input contains a PSH special character, e.g. "$", precede it with the escape character "`" like "`$". 
    $SubscriptionName = "[Azure subscription name]" 
    $ResourceGroupName = "[Azure resource group name]" 
    $DataFactoryLocation = "EastUS" 
    
    # Shared Self-hosted integration runtime information. This is a Data Factory compute resource for running any activities 
    # Data factory name. Must be globally unique 
    $SharedDataFactoryName = "[Shared Data factory name]" 
    $SharedIntegrationRuntimeName = "[Shared Integration Runtime Name]" 
    $SharedIntegrationRuntimeDescription = "[Description for Shared Integration Runtime]"
    
    # Linked integration runtime information. This is a Data Factory compute resource for running any activities
    # Data factory name. Must be globally unique
    $LinkedDataFactoryName = "[Linked Data factory name]"
    $LinkedIntegrationRuntimeName = "[Linked Integration Runtime Name]"
    $LinkedIntegrationRuntimeDescription = "[Description for Linked Integration Runtime]"
    
  3. サインインしてサブスクリプションを選択します。 サインインして Azure サブスクリプションを選択するには、スクリプトに次のコードを追加します。

    Connect-AzAccount
    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  4. リソース グループとデータ ファクトリを作成します。

    Note

    この手順は省略可能です。 既にデータ ファクトリがある場合は、この手順をスキップしてください。

    New-AzResourceGroup コマンドを使用して Azure リソース グループを作成します。 リソース グループとは、複数の Azure リソースをまとめてデプロイ、管理する際の論理コンテナーです。 次の例では、myResourceGroup という名前のリソース グループを WestEurope の場所に作成します。

    New-AzResourceGroup -Location $DataFactoryLocation -Name $ResourceGroupName
    

    Data Factory を作成するには、次のコマンドを実行します。

    Set-AzDataFactoryV2 -ResourceGroupName $ResourceGroupName `
                             -Location $DataFactoryLocation `
                             -Name $SharedDataFactoryName
    

自己ホスト型統合ランタイムを作成する

Note

この手順は省略可能です。 他のデータ ファクトリと共有するセルフホステッド統合ランタイムが既にある場合は、この手順をスキップしてください。

次のコマンドを実行して、セルフホステッド統合ランタイムを作成します。

$SharedIR = Set-AzDataFactoryV2IntegrationRuntime `
    -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $SharedDataFactoryName `
    -Name $SharedIntegrationRuntimeName `
    -Type SelfHosted `
    -Description $SharedIntegrationRuntimeDescription

統合ランタイムの認証キーを取得してノードを登録する

次のコマンドを実行して、セルフホステッド統合ランタイムの認証キーを取得します。

Get-AzDataFactoryV2IntegrationRuntimeKey `
    -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $SharedDataFactoryName `
    -Name $SharedIntegrationRuntimeName

応答には、このセルフホステッド統合ランタイムの認証キーが含まれています。 このキーは、統合ランタイム ノードを登録するときに使用します。

セルフホステッド統合ランタイムをインストールして登録する

  1. セルフホステッド統合ランタイムのインストーラーを「Azure Data Factory Integration Runtime」からダウンロードします。

  2. インストーラーを実行して、セルフホステッド統合をローカル コンピューターにインストールします。

  3. 前の手順で取得した認証キーを使用して、新しいセルフホステッド統合を登録します。

セルフホステッド統合ランタイムを他のデータ ファクトリと共有する

別のデータ ファクトリを作成する

Note

この手順は省略可能です。 共有先のデータ ファクトリが既にある場合は、この手順をスキップしてください。 ただし、他のデータ ファクトリに対してロールの割り当てを追加または削除するには、ユーザー アクセス管理者所有者など、Microsoft.Authorization/roleAssignments/write アクセス許可と Microsoft.Authorization/roleAssignments/delete アクセス許可が必要です。

$factory = Set-AzDataFactoryV2 -ResourceGroupName $ResourceGroupName `
    -Location $DataFactoryLocation `
    -Name $LinkedDataFactoryName

アクセス許可を付与する

作成して登録したセルフホステッド統合ランタイムにアクセスする必要があるデータ ファクトリに対してアクセス許可を付与します。

重要

この手順はスキップしないでください。

New-AzRoleAssignment `
    -ObjectId $factory.Identity.PrincipalId ` #MSI of the Data Factory with which it needs to be shared
    -RoleDefinitionName 'Contributor' `
    -Scope $SharedIR.Id

リンクされたセルフホステッド統合ランタイムを作成する

次のコマンドを実行して、リンクされたセルフホステッド統合ランタイムを作成します。

Set-AzDataFactoryV2IntegrationRuntime `
    -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $LinkedDataFactoryName `
    -Name $LinkedIntegrationRuntimeName `
    -Type SelfHosted `
    -SharedIntegrationRuntimeResourceId $SharedIR.Id `
    -Description $LinkedIntegrationRuntimeDescription

これで、このリンクされた統合ランタイムを任意のリンクされたサービスで使用できます。 リンクされた統合ランタイムでは、共有された統合ランタイムを使用してアクティビティを実行します。

データ ファクトリからの統合ランタイムの共有を取り消す

共有された統合ランタイムからデータ ファクトリのアクセス権を取り消すには、次のコマンドを実行します。

Remove-AzRoleAssignment `
    -ObjectId $factory.Identity.PrincipalId `
    -RoleDefinitionName 'Contributor' `
    -Scope $SharedIR.Id

既存のリンクされた統合ランタイムを削除するには、共有された統合ランタイムに対して次のコマンドを実行します。

Remove-AzDataFactoryV2IntegrationRuntime `
    -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $SharedDataFactoryName `
    -Name $SharedIntegrationRuntimeName `
    -LinkedDataFactoryName $LinkedDataFactoryName

監視

共有された IR:

共有された統合ランタイムを検索するための選択

共有された統合ランタイムを監視

リンクされた IR:

リンクされた統合ランタイムを検索するための選択

リンクされた統合ランタイムを監視

セルフホステッド IR の共有に関する既知の制限事項

  • リンクされた IR が作成されるデータ ファクトリには、マネージド ID が必要です。 既定で、Azure portal または PowerShell コマンドレットで作成されたデータ ファクトリには、暗黙的にマネージド ID が作成されます。 ただし、Azure Resource Manager テンプレートまたは SDK を使用してデータ ファクトリを作成する場合は、ID プロパティを明示的に設定する必要があります。 この設定により、Resource Manager ではマネージド ID を含むデータ ファクトリが作成されます。

  • この機能をサポートする Data Factory .NET SDK のバージョンは、1.1.0 以降である必要があります。

  • アクセス許可を付与するには、ユーザーには、共有 IR が存在するデータ ファクトリ内に所有者ロールまたは継承された所有者ロールが必要です。

  • 共有機能は、同じ Microsoft Entra テナント内のデータ ファクトリに対してのみ機能します。

  • Microsoft Entra ID のゲスト ユーザーの場合、UI の検索機能 (検索キーワードを使用してすべてのデータ ファクトリを一覧表示する) が動作しません。 ただし、ゲスト ユーザーがデータ ファクトリの所有者である限り、検索機能を使用せずに IR を共有できます。 IR を共有する必要があるデータ ファクトリのマネージド ID について、 [アクセス許可の割り当て] ボックスにそのマネージド ID を入力し、Data Factory UI で [追加] を選択します。

    Note

    この機能は Data Factory V2 でのみ使用できます。