Azure self-hosted integration runtime IR
The self-hosted runtime can be run from an independent server outside of azure.
It is useful when Azure doesn't have the driver / libraries available for the data integration, e.g. OSI PI data source is not supported in Azure natively.
So one way is to install OSI PI data source driver on a server, and then Azure Data Factory runs the integration job on that server through self-hosted runtime.
Another issue the self-hosted runtime solves is accessing data source behind a firewall. For example, an on-premise data source is behind a firecall and can not be accessed firectly
from Azure. We can install a self-hosted runtime on a server that has access to the data source. Then Azure would be able to run jobs on that server and access to the data source.
1. Create a self-hosted integration runtime
In Data Factory, go to Manage -> Integration runtimes. Click +New to create a new runtime and select 'Self-Host'. On the setup page, it creates authentication key. The key is for
the actual runtime installed on another server to connect back to Azure Data Factory.
Note it is the runtime server connects to Azure, not Azure connects to the server. Azure may not be able to even see that server if it is behind a firewall. But the otherway around
should work, i.e. the server connects to Azure to establish the connection, and then Azure and send jobs onto that server. Clever.
2. Download the actual integration runtime "Microsoft Integration Runtime" and install it on a server.
It will ask for the authentication key to connect to Azure.
Done.
Sharing runtime
If multiple data factories are sharing the same self-hosted runtime.
Just go to the 'Sharing' tab where the self-hosted runtime was created in Azure, and grant permission to a second data factory to use the runtime.
Linked Service
When creating a linked service for the data source, simply choose the self-hosted integration runtime.
Change the registered data factory for runtime
When install self-hosted runtime, it asks for the data factory's key. If want to ditch the old data factory and reuse the installed runtime for a new data factory, it needs to re-register the key.
The "Microsoft Integration Runtime Configuration Manager" can show the registration and stop service, but it can not change the registration.
To do that, need to run the powershell script at:
C:\Program Files\Microsoft Integration Runtime\5.0\PowerShellScript\RegisterIntegrationRuntime.ps1
With the first parameter as the new key.
Open the powershell script the first part about param is:
param
(
$gatewayKey = $(throw "Please input the Integration Runtime key to register."),
$IsRegisterOnRemoteMachine = $false,
$NodeName = ""
)