AutoResolveIntegrationRuntime の利用用途について
AutoResolveIntegrationRuntime と Azure IR の使い分けが今ひとつ理解できなかったので、中の人に聞いてみた。
AutoResolveIntegrationRuntime = "地域" の変更できない Azure IR のことだった。
この子(AutoResolveIntegrationRuntime)はちょっと特殊な Azure IR だったんやね。
AutoResolveIntegrationRuntime は以下の点がメリットみたい。
- IR の使い回しが可能。
- 常にシンクに近いリージョンを検知(”自動解決”)する。(シンクに近いリージョンの IR を使うことで通信速度が上がる)
以下、質問と回答。
<質問内容>
以下 URL より、AutoResolveIntegrationRuntime は Azure IR と同義と認識しておりますが、認識は正しいでしょうか。
【既定の Azure IR】
AutoResolveIntegrationRuntime を明示的に使う場合として、以下 URL に記載のあるようにプロキシ構成の一環としてステージング環境に置く以外にありますでしょうか。
【Azure Blob Storage のリンクされたサービスをステージング用に準備する】
例えば、コピーアクティビティを使ってオンプレミス環境にある SQL Server から SQL Database にデータをコピーする場合、以下の設定でも良い気がするのですが、認証情報はどのように引き継がれるのでしょうか。
ソース側(SQL Server) :セルフホステッド統合ランタイム
シンク側(SQL Database):AutoResolveIntegrationRuntime
<回答>
「AutoResolveIntegrationRuntime は Azure IR と同義」という認識通り。
AutoResolveIntegrationRuntime は Data Factory をデプロイした時点でデフォルトで作成される Azure IR のこと。
自動解決の仕組みとしては、「Azure IR の場所」 を参照のこと。
※文中にある「規定の設定である自動解決の Azure IR」は、AutoResolveIntegrationRuntime のことを指している。
新規に作成する Azure IR においても、リージョンを ”自動解決” で設定することができるが、AutoResolveIntegrationRuntime においてはリージョンの変更ができない点が異なる。
「1.」で回答した通り、AutoResolveIntegrationRuntime はリージョンが ”自動解決” の Azure IR である。
シンクに近いリージョンの IR を使うことで処理能力が上がるため、”自動解決” でシンクのリージョンを検知することはメリットがある。
一方で AutoResolveIntegrationRuntime は設定の変更ができないため、以下の場合は Azure IR を新規作成して利用する必要がある。
・データコンプライアンスの要件が厳しく、データが地理的な特定の場所を離れないようにする必要がある場合。
・リンクサービスの種類において、IR のリージョンを明示的に指定する必要がある場合。
(例:Office 365 コネクターの場合、IR のリージョンは Office 365 のテナントの場所と同じである必要がある)
・データフローのコンピューティングを変更し、データフローのパフォーマンスを上げたい場合。
コピーアクティビティにおいて、セルフホステッド IR と Azure IR が同時に使われることは無い。
該当のシナリオの場合、コピーアクティビティではセルフホステッド IR が適用される。
詳細については、「使用する IR の判別」 を参照のこと。
Azure IR を立てて、シンクに近いリージョンの IR を明示的に指定する方法の方が、リージョンを検知しない分処理は早くなるんじゃない?と思ったんだけど、それでももちろん問題無いとのこと。
(「仰る通り、リージョンを検知しない分の処理は早くなると思います。」との回答)
特定の条件が無かったら、基本 AutoResolveIntegrationRuntime を使っておけば良さそうやね。