たれみみの備忘録

たれみみの備忘録です。仕事と酒がメインになりそう。

AutoResolveIntegrationRuntime の利用用途について

AutoResolveIntegrationRuntime と Azure IR の使い分けが今ひとつ理解できなかったので、中の人に聞いてみた。

AutoResolveIntegrationRuntime = "地域" の変更できない Azure IR のことだった。
この子(AutoResolveIntegrationRuntime)はちょっと特殊な Azure IR だったんやね。

AutoResolveIntegrationRuntime は以下の点がメリットみたい。

  • IR の使い回しが可能。
  • 常にシンクに近いリージョンを検知(”自動解決”)する。(シンクに近いリージョンの IR を使うことで通信速度が上がる)


以下、質問と回答。


<質問内容>

  1. 以下 URL より、AutoResolveIntegrationRuntime は Azure IR と同義と認識しておりますが、認識は正しいでしょうか。
    既定の Azure IR

  2. AutoResolveIntegrationRuntime を明示的に使う場合として、以下 URL に記載のあるようにプロキシ構成の一環としてステージング環境に置く以外にありますでしょうか。
    Azure Blob Storage のリンクされたサービスをステージング用に準備する

  3. 例えば、コピーアクティビティを使ってオンプレミス環境にある SQL Server から SQL Database にデータをコピーする場合、以下の設定でも良い気がするのですが、認証情報はどのように引き継がれるのでしょうか。
     ソース側(SQL Server)  :セルフホステッド統合ランタイム
     シンク側(SQL Database):AutoResolveIntegrationRuntime


<回答>

  1. 「AutoResolveIntegrationRuntime は Azure IR と同義」という認識通り。
    AutoResolveIntegrationRuntime は Data Factory をデプロイした時点でデフォルトで作成される Azure IR のこと。
    自動解決の仕組みとしては、「Azure IR の場所」 を参照のこと。
    ※文中にある「規定の設定である自動解決の Azure IR」は、AutoResolveIntegrationRuntime のことを指している。

    規定の設定である自動解決の Azure IR
    Azure IR の場所

    新規に作成する Azure IR においても、リージョンを ”自動解決” で設定することができるが、AutoResolveIntegrationRuntime においてはリージョンの変更ができない点が異なる。

  2. 「1.」で回答した通り、AutoResolveIntegrationRuntime はリージョンが ”自動解決” の Azure IR である。
    シンクに近いリージョンの IR を使うことで処理能力が上がるため、”自動解決” でシンクのリージョンを検知することはメリットがある。
    一方で AutoResolveIntegrationRuntime は設定の変更ができないため、以下の場合は Azure IR を新規作成して利用する必要がある。

    ・データコンプライアンスの要件が厳しく、データが地理的な特定の場所を離れないようにする必要がある場合。
    ・リンクサービスの種類において、IR のリージョンを明示的に指定する必要がある場合。
    (例:Office 365 コネクターの場合、IR のリージョンは Office 365 のテナントの場所と同じである必要がある)
    ・データフローのコンピューティングを変更し、データフローのパフォーマンスを上げたい場合。

  3. コピーアクティビティにおいて、セルフホステッド IR と Azure IR が同時に使われることは無い。
    該当のシナリオの場合、コピーアクティビティではセルフホステッド IR が適用される。
    詳細については、「使用する IR の判別」 を参照のこと。

    セルフホステッド IR を使用
    コピーアクティビティ



Azure IR を立てて、シンクに近いリージョンの IR を明示的に指定する方法の方が、リージョンを検知しない分処理は早くなるんじゃない?と思ったんだけど、それでももちろん問題無いとのこと。
(「仰る通り、リージョンを検知しない分の処理は早くなると思います。」との回答)
特定の条件が無かったら、基本 AutoResolveIntegrationRuntime を使っておけば良さそうやね。