共用方式為


建立和設定自我裝載整合執行階段

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費啟動新的試用版

整合執行階段 (IR) 是 Azure Data Factory 和 Synapse 管線用來跨不同網路環境提供資料整合功能的計算基礎結構。 如需 IR 的詳細資訊,請參閱整合執行階段概觀

自我裝載整合執行階段可以在雲端資料存放區與私人網路資料存放區之間執行複製活動。 其也可以針對內部部署網路或 Azure 虛擬網路中的計算資源分派轉換活動。 安裝自我裝載整合執行階段需要有內部部署電腦或私人網路內的虛擬機器。

此文章描述如何建立和設定自我裝載 IR。

注意

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 若要開始使用,請參閱安裝 Azure PowerShell (部分機器翻譯)。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az

使用自我裝載 IR 的考量

  • 您可以針對多個內部部署資料來源,使用單一自我裝載整合執行階段。 您也可以將其與相同 Microsoft Entra 租用戶內的另一個資料處理站共用。 如需詳細資訊,請參閱共用自我裝載整合執行階段
  • 任何單一電腦上只能安裝一個自我裝載整合執行階段執行個體。 如果您有兩個需要存取內部部署資料來源的資料處理站,則請使用自我裝載 IR 共用功能來共用自我裝載 IR,或在兩部內部部署電腦上安裝自我裝載 IR,以用於個別的資料處理站或 Synapse 工作區。 Synapse 工作區不支援 Integration Runtime 共用。
  • 自我裝載整合執行階段不需要位於與資料來源相同的電腦上。 不過,讓自我裝載整合執行階段靠近資料來源,可以減少自我裝載整合執行階段連線到資料來源所花費的時間。 建議您將自我裝載整合執行階段安裝在與裝載內部部署資料來源不同的電腦上。 當自我裝載整合執行階段和資料來源位於不同電腦時,自我裝載整合執行階段就不會與資料來源競爭資源。
  • 您可以在不同電腦上有多個自我裝載整合執行階段,但它們皆連接至相同的內部部署資料來源。 例如,如果您有為兩個資料處理站提供服務的兩個自我裝載整合執行階段,則可向這兩個資料處理站註冊同一個內部部署資料來源。
  • 使用自我裝載整合執行階段,以支援 Azure 虛擬網路內的資料整合。
  • 即使您使用 Azure ExpressRoute,也應該將資料來源視為在防火牆後的內部部署資料來源。 使用自我裝載整合執行階段,將服務連線到資料來源。
  • 即使資料存放區位於雲端的 Azure 基礎結構即服務 (IaaS) 虛擬機器上,還是要使用自我裝載整合執行階段。
  • 若在 Windows 伺服器上啟用了符合 FIPS 規範的加密,則在安裝於該伺服器上的自我裝載整合執行階段中,工作可能會失敗。 若要解決此問題,您有兩個選項:在 Azure Key Vault 中儲存認證/祕密值,或在伺服器上停用符合 FIPS 規範的加密。 若要停用符合 FIPS 規範的加密,請將下列登錄子機碼的值從 1 (已啟用) 變更為 0 (已停用):HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\Enabled。 如果您使用自我裝載整合執行階段作為 SSIS 整合執行階段的 Proxy,可以啟用符合 FIPS 規範的加密,而且在將資料從內部部署移至 Azure Blob 儲存體作為暫存區域時使用。
  • 自我裝載整合執行階段設定的第一頁會提供完整授權詳細資料。

注意

目前,自我裝載整合執行階段只能與多個資料處理站共用,無法在 Synapse 工作區之間或在資料處理站與 Synapse 工作區之間共用。

命令流程和資料流程

當您在內部部署和雲端之間移動資料時,活動會使用自我裝載整合執行階段,在內部部署資料來源和雲端之間傳輸資料。

以下是使用自我裝載 IR 進行複製的資料流程步驟高階摘要:

資料流程的高階概觀

  1. 資料開發人員會先使用 Azure 入口網站或 PowerShell Cmdlet,在 Azure 資料處理站或 Synapse 工作區內建立自我裝載整合執行階段。 接著,資料開發人員會為內部部署資料存放區建立連結服務,指定服務應該用來連線到資料存放區的自我裝載整合執行階段執行個體。

  2. 自我裝載整合執行階段節點會使用 Windows 資料保護應用程式開發介面 (DPAPI) 將加密,並將認證儲存在本機上。 如果有多個節點設定為高可用性,則該認證會進一步同步處理到其他節點。 每個節點都會使用 DPAPI 來加密認證,並將其儲存在本機上。 認證同步處理無需資料開發人員介入,並且由自我裝載 IR 處理。

  3. Azure Data Factory 和 Synapse 管線會與自我裝載整合執行階段通訊,以排程和管理作業。 通訊會透過使用共用的 Azure 轉送連線的控制通道來進行。 需要執行活動作業時,服務會將要求和任何認證資訊一起排入佇列。 其這麼做是為了預防認證尚未儲存於自我裝載整合執行階段上。 自我裝載整合執行階段會在其輪詢佇列之後啟動作業。

  4. 自我裝載整合執行階段會在內部部署存放區和雲端儲存體之間複製資料。 複製的方向取決於在資料管線中設定複製活動的方式。 針對此步驟,自我裝載整合執行階段會透過安全的 HTTPS 通道,直接與雲端式儲存體服務 (例如 Azure Blob 儲存體) 通訊。

必要條件

  • 以下為支援的 Windows 版本:
    • Windows 10
    • Windows 11
    • Windows Server 2016
    • Windows Server 2019
    • Windows Server 2022

不支援在網域控制站上安裝自我裝載整合執行階段。

  • 自我裝載整合執行階段需要 64 位元的作業系統,以及 .NET Framework 4.7.2 或以上版本。 如需詳細資訊,請參閱 .NET Framework 系統需求
  • 對自我裝載整合執行階段電腦建議的最小設定是 2-GHz 處理器,搭配 4 個核心、8 GB RAM 和 80 GB 的可用硬碟空間。 如需系統需求的詳細資料,請參閱下載
  • 如果主機電腦休眠,自我裝載整合執行階段就不會回應資料要求。 因此,安裝自我裝載整合執行階段之前,請先在電腦上設定適當的電源計劃。 如果將電腦設定為休眠,自我裝載整合執行階段安裝程式就會提示訊息。
  • 您必須是電腦上的系統管理員,才能成功安裝和設定自我裝載整合執行階段。
  • 複製活動執行會依特定頻率發生。 電腦上的處理器和 RAM 使用量會遵循與尖峰和閒置時間相同的模式。 資源使用量也高度仰賴要移動的資料量。 如果有多個複製作業正在進行,您會看到資源使用量在尖峰時段增加。
  • 在擷取 Parquet、ORC 或 Avro 格式的資料期間,工作可能會失敗。 如需 Parquet 的詳細資訊,請參閱 Azure Data Factory 中的 Parquet 格式。 檔案建立會在自我裝載整合電腦上執行。 若要如預期般運作,檔案建立需要下列必要條件:
    • 來自 JRE 提供者的 Java Runtime (JRE) 第 11 版,例如 Microsoft OpenJDK 11Eclipse Temurin 11。 請確定 JAVA_HOME 系統環境變數設定為 JDK 資料夾(不只是 JRE 資料夾),而且您可能也需要將 bin 資料夾新增至系統的 PATH 環境變數。

    注意

    如果發生記憶體錯誤,可能需要調整 Java 設定,如 Parquet 格式文件中所述。

注意

如果您在政府雲端中執行,請檢閱連線到政府雲端

設定自我裝載整合執行階段

若要建立和設定自我裝載整合執行階段,請使用下列程序。

透過 Azure PowerShell 建立自我裝載 IR

  1. 您可以針對此工作使用 Azure PowerShell。 以下是範例:

    Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Name $selfHostedIntegrationRuntimeName -Type SelfHosted -Description "selfhosted IR description"
    
  2. 下載並在本機電腦上安裝自我裝載整合執行階段。

  3. 擷取驗證金鑰,並使用該金鑰註冊自我裝載整合執行階段。 以下是 PowerShell 範例:

    
    Get-AzDataFactoryV2IntegrationRuntimeKey -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Name $selfHostedIntegrationRuntimeName  
    
    

注意

在 Azure Government 中執行 PowerShell 命令,請參閱使用 PowerShell 連線到 Azure Government

透過 UI 建立自我裝載 IR

使用下列步驟,利用 Azure Data Factory 或 Azure Synapse UI 建立自我裝載 IR。

  1. 在 Azure Data Factory UI 首頁,從最左邊窗格中選取 [管理] 索引標籤

    首頁的 [管理] 按鈕

  2. 在左窗格上選取 [整合執行階段],然後選取 [+ 新增]

    建立整合執行階段

  3. 在 [整合執行階段設定] 頁面上,選取 [Azure]、[自我裝載],然後選取 [繼續]

  4. 在下一個頁面,選取 [自我裝載] 以建立自我裝載 IR,然後選取 [繼續]建立自我裝載 IR

透過 UI 設定自我裝載 IR

  1. 輸入 IR 的名稱,然後選取 [建立]

  2. 在 [整合執行階段設定] 頁面上,選取 [選項 1] 底下的連結,以在您的電腦上開啟快速安裝。 或者,遵循 [選項 2] 底下的步驟手動設定。 下列指示均會以手動設定為依據:

    整合執行階段設定

    1. 複製並貼上驗證金鑰。 選取 [下載並安裝整合執行階段]

    2. 在本機 Windows 電腦下載自我裝載整合執行階段。 執行安裝程式。

    3. 在 [註冊 Integration Runtime (自我裝載)] 頁面上,貼上您先前儲存的金鑰,然後選取 [註冊]

      註冊整合執行階段

    4. 在 [新增 Integration Runtime (自我裝載) 節點] 頁面上,選取 [完成]

  3. 在自我裝載整合執行階段註冊成功之後,您會看到下列視窗:

    成功註冊

透過 Azure Resource Manager 範本在 Azure VM 上設定自我裝載 IR

您可以使用建立自我裝載 IR 範本 (英文),將 Azure 虛擬機器上的自我裝載 IR 設定自動化。 此範本可讓您輕鬆地在 Azure 虛擬網路內擁有功能完整的自我裝載 IR。 只要您將節點計數設定為 2 或更高,IR 就會具備高可用性和可擴縮性功能。

透過本機 PowerShell 設定現有的自我裝載 IR

您可以使用命令列來設定或管理現有的自我裝載 IR。 此使用方式特別有助於將自我裝載 IR 節點的安裝和註冊自動化。

Dmgcmd.exe 包括在自我裝載安裝程式中。 其通常位於 C:\Program Files\Microsoft Integration Runtime\5.0\Shared\ 資料夾。 此應用程式支援各種參數,而且可以透過命令列叫用,以使用批次指令碼自動化。

以下列方式使用應用程式:

dmgcmd ACTION args...

以下是應用程式動作和引數的詳細資料:

ACTION args 描述
-rn,
-RegisterNewNode
<AuthenticationKey>” [“<NodeName>”] 使用指定的驗證金鑰和節點名稱來註冊自我裝載整合執行階段節點。
-era,
-EnableRemoteAccess
<port>” [“<thumbprint>”] 啟用目前節點上的遠端存取,以設定高可用性叢集。 或者,在不經過 Azure Data Factory 或 Azure Synapse 工作區的情況下,直接針對自我裝載 IR 啟用設定認證。 您可以從相同網路中的遠端電腦使用 New-AzDataFactoryV2LinkedServiceEncryptedCredential Cmdlet 來執行後者。
-erac,
-EnableRemoteAccessInContainer
<port>” [“<thumbprint>”] 當節點在容器中執行時,啟用對目前節點的遠端存取。
-dra,
-DisableRemoteAccess
停用對目前節點的遠端存取。 多節點設定需要遠端存取。 New-AzDataFactoryV2LinkedServiceEncryptedCredential PowerShell Cmdlet 即使在停用遠端存取時仍可運作。 只要 Cmdlet 是在與自我裝載 IR 節點相同的電腦上執行,此行為就成立。
-k,
-Key
<AuthenticationKey> 覆寫或更新先前的驗證金鑰。 請小心使用此動作。 如果該金鑰適用於新的整合執行階段,則先前的自我裝載 IR 節點可能會離線。
-gbf,
-GenerateBackupFile
“” “<filePath><password> 產生目前節點的備份檔案。 備份檔案包括節點金鑰和資料存放區認證。
-ibf,
-ImportBackupFile
“” “<filePath><password> 從備份檔案還原節點。
-r,
-Restart
重新啟動自我裝載整合執行階段主機服務。
-s,
-Start
啟動自我裝載整合執行階段主機服務。
-t,
-Stop
停止自我裝載整合執行階段主機服務。
-sus,
-StartUpgradeService
啟動自我裝載整合執行階段升級服務。
-tus,
-StopUpgradeService
停止自我裝載整合執行階段升級服務。
-tonau,
-TurnOnAutoUpdate
開啟自我裝載整合執行階段自動更新。 此命令僅適用於 Azure Data Factory V1。
-toffau,
-TurnOffAutoUpdate
關閉自我裝載整合執行階段自動更新。 此命令僅適用於 Azure Data Factory V1。
-ssa,
-SwitchServiceAccount
<domain\user>” [“<password>”] 將 DIAHostService 設定為以新帳戶執行。 針對系統帳戶和虛擬帳戶使用空密碼 ""。
-elma,
-EnableLocalMachineAccess
在目前自我裝載整合執行階段節點上啟用本機電腦存取 (localhost、私人 IP)。 在自我裝載整合執行階段高可用性案例中,必須在每個自我裝載整合執行階段節點上叫用該動作。
-dlma,
-DisableLocalMachineAccess
在目前自我裝載整合執行階段節點上停用本機電腦存取 (localhost、私人 IP)。 在自我裝載整合執行階段高可用性案例中,必須在每個自我裝載整合執行階段節點上叫用該動作。
-DisableLocalFolderPathValidation 停用安全性驗證,以啟用本機電腦檔案系統的存取權。
-EnableLocalFolderPathValidation 啟用安全性驗證,以停用本機電腦檔案系統的存取權。
-eesp,
-EnableExecuteSsisPackage
在自我裝載 IR 節點上啟用 SSIS 套件執行。
-desp,
-DisableExecuteSsisPackage
在自我裝載 IR 節點上停用 SSIS 套件執行。
-gesp,
-GetExecuteSsisPackage
如果在自我裝載 IR 節點上啟用 ExecuteSsisPackage 選項,則請取得值。
如果傳回的值為 true,則啟用 ExecuteSSISPackage;如果傳回的值為 false 或 null,則停用 ExecuteSSISPackage。

從 Microsoft 下載中心安裝並註冊自我裝載 IR

  1. 瀏覽至 Microsoft 整合執行階段下載頁面

  2. 選取 [下載]、選取 64 位元版本,然後選取[下一步]。 不支援 32 位元版本。

  3. 直接執行 MSI 檔案,或將其儲存至您的硬碟並執行。

  4. 在 [歡迎] 視窗上選取語言,然後選取 [下一步]

  5. 接受「Microsoft 軟體授權條款」,然後選取 [下一步]

  6. 選取 [資料夾] 來安裝自我裝載整合執行階段,接著按一下 [下一步]

  7. 請在準備安裝分頁上,選取安裝

  8. 選取 [完成] 以完成安裝。

  9. 使用 PowerShell 取得驗證金鑰。 擷取驗證金鑰的 PowerShell 範例:

    Get-AzDataFactoryV2IntegrationRuntimeKey -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Name $selfHostedIntegrationRuntimeName
    
  10. 在您電腦上執行之 Microsoft Integration Runtime 設定管理員的 [註冊 Integration Runtime (自我裝載)] 視窗上,執行下列步驟:

    1. 將驗證金鑰貼到文字區域。

    2. (選擇性) 選取 [顯示驗證金鑰] 以查看金鑰文字。

    3. 選取註冊

注意

您可以在相同的 Microsoft 整合執行階段下載頁面取得版本資訊。

適用於自我裝載整合執行階段的服務帳戶

自我裝載整合執行階段的預設登入服務帳戶是 NT SERVICE\DIAHostService。 您可以在 [服務] -> [Integration Runtime 服務] -> [屬性] -> [登入] 中看到此項目。

適用於自我裝載整合執行階段的服務帳戶

確定帳戶具有以服務方式登入的權限。 否則,自我裝載整合執行階段無法成功啟動。 您可以在 [本機安全性原則] -> [安全性設定] -> [本機原則] -> [使用者權限指派] -> [以服務方式登入] 中檢查權限

本機安全性原則的螢幕擷取畫面 - 使用者權限指派

作為服務使用者權限指派的螢幕擷取畫面

通知區域圖示和通知

如果您將游標放在通知區域的圖示或訊息上,就會看到有關自我裝載整合執行階段狀態的詳細資料。

通知區域中的通知

高可用性與延展性

您可以將一個自我裝載整合執行階段與 Azure 中的多部內部部署機器或虛擬機器產生關聯。 這些電腦稱為節點。 一個自我裝載整合執行階段最多可與四個節點建立關聯。 在已為邏輯閘道安裝閘道的內部部署機器上擁有多個節點的優點如下:

  • 自我裝載整合執行階段的可用性更高,如此一來,其就不再是您的巨量資料解決方案或雲端資料整合的單一失敗點。 當您最多使用四個節點時,此可用性有助於確保持續性。
  • 提升在內部部署和雲端資料存放區之間移動資料時的效能和輸送量。 如需詳細資訊,請參閱效能比較

您可以從下載中心安裝自我裝載整合執行階段軟體,以關聯多個節點。 然後,使用從 New-AzDataFactoryV2IntegrationRuntimeKey Cmdlet 取得的其中一個驗證金鑰進行註冊,如教學課程中所示。

注意

您不需要建立新的自我裝載整合執行階段來關聯每個節點。 您可以將自我裝載整合執行階段安裝在另一部電腦上,並使用相同的驗證金鑰進行註冊。

注意

在新增另一個節點來取得高可用性和可擴縮性之前,請先確認已在第一個節點上啟用 [遠端存取內部網路] 選項。 若要這樣做,請選取 [Microsoft Integration Runtime 設定管理員]>[設定]>[遠端存取內部網路]

調整考量

橫向擴增

當處理器使用量偏高,且自我裝載 IR 上的可用記憶體不足時,請新增節點,以協助在電腦之間擴增負載。 如果活動因逾時或自我裝載 IR 節點離線而失敗,為閘道新增節點將有所助益。 若要新增節點,請完成下列步驟:

  1. 從 Azure Data Factory 入口網站下載 SHIR 設定
  2. 在您要新增至叢集的節點上執行安裝程式。
  3. 在安裝期間,選取加入現有整合執行階段的選項,並提供來自現有 SHIR 的驗證金鑰,以將新節點連結至現有的 SHIR 叢集。

相應增加

當處理器和可用 RAM 的使用率不佳,但並行作業的執行達到節點限制時,請增加節點可執行的並行作業數目來擴大。 若因為自我裝載 IR 多載而導致活動逾時,也建議您進行擴大。 您可以增加一個節點的容量上限,如下圖所示:

增加可在節點上執行的並行作業數量

TLS/SSL 憑證需求

如果您想要使用 TLS/SSL 憑證 (進階),從內部網路啟用遠端存取來保護整合執行階段節點之間的通訊,您可以遵循使用 TLS/SSL 憑證從內部網路啟用遠端存取中的步驟。

注意

此憑證可用來:

  • 在自我裝載 IR 節點上將連接埠加密。
  • 進行節點對節點通訊以將狀態同步,其中包括跨節點將連結服務的認證同步。
  • 當 PowerShell Cmdlet 用於來自區域網路內的連結服務認證設定時。

如果您的私人網路環境不安全,或者想要保護私人網路內節點之間的通訊,建議使用此憑證。

不論是否設定此憑證,從自我裝載 IR 移到其他資料存放區的傳輸中資料移動一律會在加密的通道內進行。

認證同步

如果您未將認證或祕密值儲存在 Azure Key Vault 中,認證或祕密值將儲存於自我裝載整合執行階段所在的電腦中。 每個節點都將含有具特定版本的認證複本。 若要讓所有節點一起運作,所有節點的版本號碼都應該相同。

Proxy 伺服器考量

如果您的公司網路環境使用 Proxy 伺服器來存取網際網路,請將自我裝載整合執行階段設定為使用適當的 Proxy 設定。 您可以在初始註冊階段期間設定 Proxy。

指定 Proxy

設定時,自我裝載整合執行階段會使用 Proxy 伺服器來連線到雲端服務的來源和目的地 (其使用 HTTP 或 HTTPS 通訊協定)。 這就是您為什麼要在初始設定期間選取 [變更連結]

設定 Proxy

有三個組態選項:

  • 不使用 Proxy:自我裝載整合執行階段不會明確使用任何 Proxy 連線到雲端服務。
  • 使用系統 Proxy:自我裝載整合執行階段會使用 diahost.exe.config 和 diawp.exe.config 中設定的 Proxy 設定。如果這些檔案未指定 Proxy 設定,則自我裝載整合執行階段會直接連線至雲端服務,而不經由 Proxy。
  • 使用自訂 Proxy:設定要用於自我裝載整合執行階段的 HTTP Proxy 設定,而不使用 diahost.exe.config 和 diawp.exe.config 中的設定。需要 [位址] 和 [連接埠] 值。 根據您的 Proxy 驗證設定而定,[使用者名稱] 和 [密碼] 值為選擇性項目。 自我裝載整合執行階段上的所有設定都會使用 Windows DPAPI 加密,並儲存在本機電腦上。

當您儲存更新的 Proxy 設定之後,自我裝載整合執行階段主機服務就會自動重新啟動。

當您註冊自我裝載整合執行階段之後,如果您想要檢視或更新 Proxy 設定,請使用 Microsoft Integration Runtime 設定管理員。

  1. 開啟 [Microsoft Integration Runtime 管理員]
  2. 選取 [設定] 索引標籤。
  3. 在 [HTTP Proxy] 下方,選取 [變更] 連結,以開啟 [設定 HTTP Proxy] 對話方塊。
  4. 選取 [下一步]。 您接著會看到一個警告,要求您提供權限來儲存 Proxy 設定,並重新啟動整合執行階段主機服務。

您可以使用設定管理員工具來檢視和更新 HTTP Proxy。

檢視並更新 Proxy

注意

如果您為 Proxy 伺服器設定了 NTLM 驗證,整合執行階段主機服務就會在網域帳戶中執行。 如果您稍後變更網域帳戶的密碼,請記得更新服務的組態設定並重新啟動服務。 基於此需求,建議您使用不需經常更新密碼的專用網域帳戶來存取 Proxy 伺服器。

設定 Proxy 伺服器設定

如果您針對 HTTP Proxy 選取 [使用系統 Proxy] 選項,則自我裝載整合執行階段會使用 diahost.exe.config 和 diawp.exe.config 中的 Proxy 設定。這些檔案未指定 Proxy 時,自我裝載整合執行階段會直接連線至雲端服務,而不經由 Proxy。 下列程序說明如何更新 diahost.exe.config 檔案:

  1. 在檔案總管中,建立 C:\Program Files\Microsoft Integration Runtime\5.0\Shared\diahost.exe.config 的安全複本,作為原始檔案的備份。

  2. 開啟以系統管理員身分執行的筆記本。

  3. 在記事本中,開啟文字檔 C:\Program Files\Microsoft Integration Runtime\5.0\Shared\diahost.exe.config。

  4. 尋找預設的 system.net 標籤,如下列程式碼中所示:

    <system.net>
        <defaultProxy useDefaultCredentials="true" />
    </system.net>
    

    接著,您可以新增 Proxy 伺服器詳細資料,如以下範例所示:

    <system.net>
        <defaultProxy enabled="true">
              <proxy bypassonlocal="true" proxyaddress="http://proxy.domain.org:8888/" />
        </defaultProxy>
    </system.net>
    

    Proxy 標籤允許其他屬性指定所需的設定,例如 scriptLocation。 若要了解語法,請參閱 <proxy> 元素 (網路設定)

    <proxy autoDetect="true|false|unspecified" bypassonlocal="true|false|unspecified" proxyaddress="uriString" scriptLocation="uriString" usesystemdefault="true|false|unspecified "/>
    
  5. 將設定檔儲存於其原始位置。 接著,重新啟動自我裝載整合執行階段主機服務,以套用變更。

    若要重新啟動服務,請使用控制台中的 [服務] 小程式。 或從「整合執行階段組態管理員」中,選取 [停止服務] 按鈕,然後再選取 [啟動服務]

    如果服務未啟動,可能因為在您已編輯的應用程式設定檔中加入了不正確的 XML 標記語法。

重要

別忘了同時更新 diahost.exe.config 和 diawp.exe.config。

您也必須確定 Microsoft Azure 位於您公司的允許清單中。 您可以下載有效 Azure IP 位址的清單。 每個雲端的 IP 範圍 (依區域和該雲端中標記的服務細分) 現在均可於 MS 下載上取得:

使用私人端點時設定 Proxy 伺服器設定

如果您的公司網路架構涉及使用私人端點,而且基於安全性考量,您的公司原則不允許從裝載自我裝載整合執行階段的 VM 到 Azure Data Factory 服務 URL 的直接網際網路連線,則您將需要允許略過 ADF 服務 URL 以取得完整連線。 下列程序說明如何更新 diahost.exe.config 檔案。 您也應該針對 diawp.exe.config 檔案重複這些步驟。

  1. 在檔案總管中,建立 C:\Program Files\Microsoft Integration Runtime\5.0\Shared\diahost.exe.config 的安全複本,作為原始檔案的備份。

  2. 開啟以系統管理員身分執行的筆記本。

  3. 在記事本中,開啟 C:\Program Files\Microsoft Integration Runtime\5.0\Shared\diahost.exe.config

  4. 尋找預設 system.net 標記,如此處所示:

    <system.net>
        <defaultProxy useDefaultCredentials="true" />
    </system.net>
    

    接著,您可以新增 bypasslist 詳細資料,如下列範例所示:

    <system.net>
      <defaultProxy>
          <bypasslist>
              <add address = "[adfresourcename].[adfresourcelocation].datafactory.azure.net" />
          </bypasslist>
          <proxy 
          usesystemdefault="True"
          proxyaddress="http://proxy.domain.org:8888/"
          bypassonlocal="True"
          />
      </defaultProxy>
    </system.net>
    

如果您看到類似下列的錯誤訊息,原因可能是防火牆或 Proxy 伺服器的設定不正確。 此類設定會防止自我裝載整合執行階段連線到 Data Factory 或 Synapse 管線來自我驗證。 請參閱上一節,以確保您的防火牆和 Proxy 伺服器的設定皆正確。

  • 當您嘗試註冊自我裝載整合執行階段時,收到下列錯誤訊息:「無法註冊此 Integration Runtime 節點! 請確認驗證金鑰有效,且整合服務主機服務正在這部電腦上執行。」

  • 當您開啟「Integration Runtime 組態管理員」時,您會看到「已中斷連線」或「正在連線」狀態。 當您檢視 Windows 事件記錄時,在 [事件檢視器]>[應用程式和服務記錄]>[Microsoft Integration Runtime] 下方,您會看到如下的錯誤訊息:

    Unable to connect to the remote server
    A component of Integration Runtime has become unresponsive and restarts automatically. Component name: Integration Runtime (self-hosted).
    

啟用來自內部網路的遠端存取

如果您使用 PowerShell 從您安裝自我裝載整合執行階段所在以外的其他網路電腦加密認證,您可以啟用 [來自內部網路的遠端存取] 選項。 如果您執行 PowerShell 從您安裝自我裝載整合執行階段所在的電腦上加密認證,則無法啟用 [來自內部網路的遠端存取] 選項。

在新增另一個節點以取得高可用性和可擴縮性之前,先啟用 [來自內部網路的遠端存取]

當您執行自我裝載整合執行階段安裝程式 3.3 版或更新版本時,根據預設,自我裝載整合執行階段安裝程式會在自我裝載整合執行階段電腦上停用 [來自內部網路的遠端存取]

當您使用來自合作夥伴或其他人的防火牆時,可以手動開啟連接埠 8060 或使用者設定的連接埠。 如果您在設定自我裝載整合執行階段時遇到防火牆問題,請使用下列命令來在不需設定防火牆的情況下安裝自我裝載整合執行階段:

msiexec /q /i IntegrationRuntime.msi NOFIREWALL=1

如果您選擇不在自我裝載整合執行階段電腦上開啟連接埠 8060,請使用設定認證應用程式以外的機制來設定資料存放區認證。 例如,您可以使用 New-AzDataFactoryV2LinkedServiceEncryptCredential PowerShell Cmdlet。

連接埠和防火牆

需要考慮的防火牆有兩個:

  • 在組織的中央路由器上執行的「公司防火牆」
  • 在安裝自我裝載整合執行階段的本機電腦上,以精靈形式設定的「Windows 防火牆」

防火牆

在公司防火牆層級,您需要設定下列網域和輸出連接埠:

網域名稱 輸出連接埠 描述
公用雲端:*.servicebus.windows.net
Azure Government:*.servicebus.usgovcloudapi.net
中國:*.servicebus.chinacloudapi.cn
443 必須提供此資訊,自我裝載整合執行階段才能進行互動式撰寫。 如果已啟用獨立式互動式撰寫,則不需要。
公用雲端:{datafactory}.{region}.datafactory.azure.net
*.frontend.clouddatahub.net
Azure Government:{datafactory}.{region}.datafactory.azure.us
中國:{datafactory}.{region}.datafactory.azure.cn
443 必須提供此資訊,自我裝載整合執行階段才能連線到 Data Factory 服務。
針對公用雲端中新建立的 Data Factory,請從自我裝載整合運行時間密鑰中尋找完整功能變數名稱 (FQDN),其格式為 {data factory}。{region}.datafactory.azure.net。 針對舊版 Data Factory 和任何版本的 Azure Synapse Analytics,如果您在自我裝載整合密鑰中看不到 FQDN,請改用 *.frontend.clouddatahub.net。
download.microsoft.com 443 自我裝載整合執行階段所需,以用於下載更新。 如果您停用自動更新,您可以略過設定此網域。
金鑰保存庫 URL 443 如果您將認證儲存於 Key Vault 中,Azure Key Vault 會需要此項。

在 Windows 防火牆層級或電腦層級,通常會啟用這些輸出連接埠。 如果沒有,您可以在自我裝載整合執行階段電腦上設定網域和連接埠。

注意

由於 Azure 轉送目前不支援服務標籤,因此您必須在 NSG 規則中使用服務標籤 AzureCloudInternet 來與 Azure 轉送通訊。 若要與 Azure Data Factory 和 Synapse 工作區通訊,您可以在 NSG 規則設定中使用服務標籤 DataFactoryManagement

根據您的來源和接收器而定,您可能需要在公司防火牆或 Windows 防火牆上,允許額外的網域和輸出連接埠。

網域名稱 輸出連接埠 描述
*.core.windows.net 443 當您使用分段複製功能時,可供自我裝載整合執行階段用來連線到 Azure 儲存體帳戶。
*.database.windows.net 1433 只有當您在 Azure SQL Database 或 Azure Synapse Analytics (或選擇性的其他位置) 之間複製時才需要。 若要在不開啟連接埠 1433 的情況下,將資料複製到 SQL Database 或 Azure Synapse Analytics,請使用分段複製功能。
*.azuredatalakestore.net
login.microsoftonline.com/<tenant>/oauth2/token
443 只有當您在 Azure Data Lake Store 和選擇性的其他位置之間複製時才需要。

對於某些雲端資料庫 (例如 Azure SQL Database 和 Azure Data Lake),您可能需在其防火牆設定上允許自我裝載整合執行階段電腦的 IP 位址。

注意

在同一部機器上安裝整合執行階段和 Power BI 閘道是不正確的,主要的原因是整合執行階段使用連接埠號碼 443,這也是 Power BI 閘道主要使用的連接埠之一。

獨立式互動式製作 (預覽)

若要執行互動式製作動作 (例如資料預覽和連線測試),自我裝載整合執行階段需要連線至 Azure 轉送。 如果未建立連線,則有兩個可能的解決方案可確保功能不中斷。 第一個選項是將 Azure 轉送端點新增至防火牆的允許清單 取得 Azure 轉送的 URL。 或者,您可以啟用獨立式互動式製作。

注意

如果自我裝載整合執行階段無法建立與 Azure 轉送的連線,則其狀態將會標示為「有限」。

獨立式互動式製作的螢幕擷取畫面。

注意

啟用獨立式互動式製作時,將會透過此功能獨佔地路由傳送所有互動式製作流量,並略過 Azure 轉送。 您選擇停用此功能之後,才會將流量重新導向回 Azure 轉送。

注意

啟用獨立式互動式製作時,不支援「取得 IP」和「傳送記錄」。

取得 Azure 轉送的 URL

需要放入防火牆允許清單的一個必要網域和連接埠,是用來與 Azure 轉送進行通訊。 自我裝載整合執行階段會加以使用來進行互動式製作,例如,測試連線、瀏覽資料夾清單和表格清單、取得結構描述,以及預覽資料。 如果您不想允許 .servicebus.windows.net,而且想要有更特定的 URL,則您可以從服務入口網站查看自我裝載整合執行階段所需的所有 FQDN。

透過UI取得 Azure 轉寄的URL:

執行下列步驟:

  1. 移至服務入口網站,然後選取自我裝載整合執行階段。

  2. 在 [編輯] 頁面中,選取 [節點]

  3. 選取 [檢視服務 URL] 以取得所有 FQDN。

    Azure 轉送 URL

  4. 您可以在防火牆規則的允許清單中新增這些 FQDN。

注意

如需 Azure 轉送連線通訊協定相關的詳細資料,請參閱 Azure 轉送混合式連線通訊協定

透過腳本取得 Azure 轉寄的 URL:

# The documentation of Synapse self hosted integration runtime (SHIR) mentions that the SHIR requires access to the Azure Service Bus IP addresses
# https://learn.microsoft.com/en-us/azure/data-factory/create-self-hosted-integration-runtime
# It is a requirement to use a wildcard (*.servicebus.windows.net) in your firewalls.
# While this is the easiest way to clear the firewall, it also opens the firewall to all Azure Service Bus IP addresses, including malicious_actor.servicebus.windows.net.
# This might be restricted by your security policies.
# This script resolves the Azure Service Bus IP addresses used by an integration runtime and adds them to the network security group (NSG) rule for the Synapse self-hosted integration runtime (SHIR).
# As the mapping of IP addresses to Domain Names might change, we recommend to run at least once a day to keep the NSG up to date.
# An alternative to running this script is to use the "Self-contained interactive authoring" feature of the self hosted integration runtime.

# Prerequisites:
# - PowerShell installed
# - Azure CLI (az) installed and logged in (https://learn.microsoft.com/en-us/cli/azure/)
# - signed in user needs rights to modify NSG (e.g. Network contributor) and to read status of the SHIR (e.g. reader), plus reader on the subscription

param (
    [string]$synapseRresourceGroupName = "synapse_test",
    [string]$nsgResourceGroupName = "adf_shir_rg",
    [string]$synapseWorkspaceName = "synapse-test-jugi2",
    [string]$integrationRuntimeName = "IntegrationRuntime2",
    [string]$networkSecurityGroupName = "jugis-shir-nsg",
    [string]$securityRuleName = "AllowSynapseServiceBusIPs",
    [int]$priority = 100
)

# Check if the user is already logged in
$azAccount = az account show 2>$null

if (-not $azAccount) {
    # Run az login with managed identity if not logged in
    az login --identity
}

# Retrieve the URLs of the connections from the Synapse self-hosted integration runtime
$urls = az synapse integration-runtime get-status `
    --resource-group $synapseRresourceGroupName `
    --workspace-name $synapseWorkspaceName `
    --name $integrationRuntimeName `
    --query "properties.serviceUrls" -o tsv

# Initialize an empty array to hold the IP addresses
$ipAddresses = @()

# Iterate over the URLs to resolve and collect the IP addresses
# The proper DNS resolution might only work within Azure, not locally
foreach ($url in $urls) {
    Write-Output "Processing URL: $url"
    $ip = [System.Net.Dns]::GetHostAddresses($url) | Where-Object { $_.AddressFamily -eq 'InterNetwork' } | Select-Object -ExpandProperty IPAddressToString
    if ($ip) {
        $ipAddresses += $ip
    }
}

# Remove duplicate IP addresses from the array
$ipAddresses = $ipAddresses | Sort-Object -Unique

# Convert the array of IP addresses to a space-separated string
$ipAddressesString = $ipAddresses -join ' '

# Create or update the network security group rule to allow outbound traffic for the collected IP addresses
# Using Invoke-Expression to handle the command string
$az_cmd = "az network nsg rule create --resource-group $nsgResourceGroupName --nsg-name $networkSecurityGroupName --name $securityRuleName --priority $priority --destination-address-prefixes $ipAddressesString --destination-port-ranges '443' --direction Outbound --access Allow --protocol '*' --description 'Allow outbound access to Synapse servicebus IPs'"
Invoke-Expression $az_cmd

將資料從來源複製到接收器

確定您在公司防火牆上、自我裝載整合執行階段電腦的 Windows 防火牆上,以及資料存放區本身,正確啟用防火牆規則。 啟用這些規則,可讓自我裝載整合執行階段同時成功連線到來源和接收器。 請為複製作業所涉及的每個資料存放區啟用規則。

例如,若要從內部部署資料存放區複製到 SQL Database 接收器或 Azure Synapse Analytics 接收器,請執行下列步驟:

  1. 在適用於 Windows 防火牆和公司防火牆的連接埠 1433 上,允許輸出 TCP 通訊。
  2. 設定 Azure SQL Database 的防火牆設定,將自我裝載整合執行階段電腦的 IP 位址新增到允許的 IP 位址清單。

注意

如果您的防火牆不允許使用輸出連接埠 1433,自我裝載整合執行階段就無法直接存取 SQL 資料庫。 在此情況下,您可以針對 SQL Database 和 Azure Synapse Analytics 使用暫存複製。 在此案例中,您只需要 HTTPS (連接埠 443),即可進行資料移動。

如果您的所有資料來源和接收器以及自我裝載整合執行階段都位於內部部署環境中,則複製的資料將不會移至雲端,而是嚴格保留在內部部署環境內。

認證存放區

使用自我裝載整合執行階段時,有兩種方式可以儲存認證:

  1. 使用 Azure Key Vault。

這是將認證儲存在 Azure 的建議方式。 自我裝載整合執行階段可以直接從 Azure Key Vault 取得認證,這可高度避免一些潛在安全性問題,或自我裝載整合執行階段節點之間的任何認證同步問題。 2.在本機儲存認證。

認證將推送至自我裝載整合執行階段的電腦並進行加密。 當您的自我裝載整合執行階段從當機復原時,您可以從之前備份的認證來復原認證,或者編輯連結服務,然後再次將認證推送至自我裝載整合執行階段。 否則,管線會在透過自我裝載整合執行階段執行時,因為缺少認證而無法運作。

注意

如果您想要將認證儲存在本機,您必須將用來進行互動式製作的網域放在防火牆的允許清單中,並開啟連接埠。 此通道也適合讓自我裝載整合執行階段用來取得認證。 如需互動式製作所需的網域和連接埠,請參閱連接埠和防火牆

安裝最佳作法

您可以從 Microsoft 下載中心下載受控識別安裝套件來安裝自我裝載整合執行階段。 如需逐步指示,請參閱在內部部署與雲端之間移動資料一文。

  • 在適用於自我裝載整合執行階段的主機電腦上設定電源計劃,使該電腦不休眠。 如果主機電腦休眠,自我裝載整合執行階段就會離線。
  • 定期備份與自我裝載整合執行階段相關聯的認證。
  • 若要將自我裝載 IR 設定作業自動化,請參閱透過 PowerShell 設定現有的自我裝載 IR

重要考量

安裝自我裝載整合執行階段時,請考慮遵循下列事項

  • 將其保留在接近資料來源的位置,但不一定要在同一部機器上
  • 請勿將其安裝在與 Power BI 閘道相同的機器上
  • 僅限 Windows Server (FIPS 相容的加密伺服器可能會導致作業失敗)
  • 可跨多個資料來源共用
  • 可跨多個資料處理站共用

如需逐步指示,請參閱教學課程:將內部部署資料複製到雲端