CI/CD を使用したリンクされた Resource Manager テンプレート

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

Data Factory in Microsoft Fabric は、よりシンプルなアーキテクチャ、組み込みの AI、および新機能を備えた次世代のAzure Data Factoryです。 データ統合を初めて使用する場合は、Fabric Data Factory から始めます。 既存の ADF ワークロードをFabricにアップグレードして、データ サイエンス、リアルタイム分析、レポートの新機能にアクセスできます。

データ ファクトリの継続的インテグレーションとデリバリー (CI/CD) を設定している場合は、ファクトリの規模が拡大するにつれて、Azure Resource Manager テンプレートの制限を超える可能性があります。 たとえば、1 つの制限は、Resource Manager テンプレート内のリソースの最大数です。 大規模なファクトリに対応するために、ファクトリの完全なResource Manager テンプレートを生成するときに、Data Factory はリンクされたResource Manager テンプレートを生成するようになりました。 この機能を使用すると、ファクトリのペイロード全体が複数のファイルに分割されるので、制限によって制約されることはありません。

リンクされたテンプレートの検索

Git を構成した場合、リンクされたテンプレートが生成され、linkedTemplates という新しいフォルダーの adf_publish ブランチにある完全なResource Manager テンプレートと共に保存されます。

リンクドリソースマネージャーテンプレートフォルダー

リンクされたResource Manager テンプレートは、通常、基本テンプレートと、ベースにリンクされている子テンプレートのセットで構成されます。 親テンプレートは ArmTemplate_master.json という名前になり、子テンプレートには、ArmTemplate_0. json、ArmTemplate_1.json といったパターンで名前が付けられます。

リンクされたテンプレートの使用

完全なResource Manager テンプレートではなくリンクされたテンプレートを使用するには、ArmTemplateForFactory.json (完全なResource Manager テンプレート) ではなく、ArmTemplate_master.json を指すように CI/CD タスクを更新します。 Resource Managerでは、デプロイ時にアクセスできるように、リンクされたテンプレートをストレージ アカウントAzureアップロードする必要もあります。 詳細については、「 VSTS を使用したリンクされたResource Manager テンプレートのデプロイを参照してください。

これはリンクされたテンプレートであるため、ARM デプロイ タスクにはストレージ アカウントの URL と SAS トークンが必要です。 リンクされたテンプレートはユーザーのコンテキストなしでAzure内にデプロイされるため、サービス プリンシパルがブログにアクセスできる場合でも、SAS トークンが必要です。 これを実現するには、CI/CD ステップによって生成されるリンク されたテンプレートには、次のパラメーター containerURIcontainerSasTokenが必要です。 SAS トークンは、セキュリティで保護された変数として、または Azure Key Vault などのサービスからシークレットとして渡すことが推奨されます。

Data Factory のスクリプトは、必ず CI/CD パイプラインのデプロイ タスクの前後に追加してください。

Git が構成されていない場合は、 [ARM テンプレート] 一覧の [ARM テンプレートのエクスポート] を使用して、リンクされたテンプレートにアクセスできます。

リソースをデプロイするときには、デプロイが増分更新と完全更新のどちらであるかを指定する必要があります。 これら 2 つのモードの違いは、Resource Managerテンプレートにないリソース グループ内の既存のリソースを処理する方法です。 デプロイ モードを確認します。

共有セルフホステッド統合ランタイムに関する考慮事項

Warnung

リンクされた ARM テンプレートを、リンク (共有) セルフホステッド統合ランタイム を使用する環境にデプロイする場合、Resource Manager展開では、リンクされた IR 構成が、登録されたノードのないプレーンなセルフホステッド IR 定義で上書きされます。 これにより、IR が 使用不可になり、それに依存するすべてのリンクされたサービスが中断されます。 これは、発行時に生成されたリンクされた ARM テンプレートは、常にスタンドアロン Microsoft.DataFactory/factories/integrationRuntimes リソースとして統合ランタイムをエクスポートするためです。ターゲット環境でのリンクされた IR リレーションシップは認識されません。

これを回避するには、Resource Manager の展開手順の前に、リンクされたテンプレートファイルから IR リソース定義を削除する手順を CI/CD パイプラインに追加してください。 ターゲット環境でソース ファクトリとは異なる IR 名が使用されている場合は、削除後に名前変更手順を追加します。 ターゲット環境の共有 IR はそのまま残り、リンクされているすべてのサービスはデプロイ後も引き続き正しく解決されます。