Nakonfigurujte vlastní hostovanou IR jako proxy pro Azure-SSIS IR

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Data Factory v Microsoft Fabric je nová generace Azure Data Factory s jednodušší architekturou, integrovanou AI a novými funkcemi. Pokud s integrací dat začínáte, začněte Fabric Data Factory. Stávající úlohy ADF se můžou upgradovat na Fabric pro přístup k novým funkcím v oblasti datové vědy, analýzy v reálném čase a reportingu.

Tento článek popisuje, jak spouštět balíčky SSIS (Služby Integrace SQL Serveru) v prostředí Azure-SSIS Integration Runtime (Azure-SSIS IR) s místním prostředím Integration Runtime (místní prostředí IR) nakonfigurovaným jako proxy server.

Pomocí této funkce můžete přistupovat k datům a spouštět úlohy místně, aniž byste museli připojit prostředí Azure-SSIS IR k virtuální síti. Tato funkce je užitečná, když má vaše podniková síť příliš složitou konfiguraci nebo příliš omezující zásadu, abyste do ní mohli vložit prostředí Azure-SSIS IR.

Tuto funkci je zatím možné povolit pouze v úloze Tok dat SSIS a úlohách Execute SQL/Process.

Zapnuto u Tok dat Úkol, tato funkce ji rozdělí do dvou přípravných úloh, kdykoli je to možné:

  • Místní přípravná úloha: Tato úloha spouští komponentu toku dat, která se připojuje k místnímu úložišti dat v místním prostředí IR. Přesouvá data z místního úložiště dat do pracovní oblasti ve službě Azure Blob Storage nebo naopak.
  • Přípravná úloha cloudu: Tato úloha spouští komponentu toku dat, která se nepřipojí k místnímu úložišti dat v prostředí Azure-SSIS IR. Přesouvá data z přípravné zóny ve službě Azure Blob Storage do cloudového úložiště dat i opačně.

Pokud úloha Tok dat Task přesune data z místního prostředí do cloudu, pak úkoly prvního a druhého stupně budou být úkoly pro místní staging a cloudový staging. Pokud úloha Tok dat přesune data z cloudu do místního prostředí, první a druhá meziskladovací úloha budou cloudová a místní meziskladovací úloha. Pokud úloha Tok dat přesune data z místního prostředí do místního prostředí, budou první i druhé pracovní úlohy místní úlohy přípravy. Pokud úloha Tok dat přesune data z cloudu do cloudu, tato funkce se nedá použít.

Tato funkce je povolená při spouštění úloh SQL nebo procesů, spustí je ve vašem místním prostředí IR.

Další výhody a možnosti této funkce umožňují například nastavit místní prostředí IR v oblastech, které ještě azure-SSIS IR nepodporuje, a povolit veřejnou statickou IP adresu místního prostředí IR na bráně firewall vašich zdrojů dat.

Příprava místního prostředí IR

Pokud chcete tuto funkci použít, nejprve vytvoříte datovou továrnu a nastavíte v ní prostředí Azure-SSIS IR. Pokud jste to ještě neudělali, postupujte podle pokynů v tématu Nastavení prostředí Azure-SSIS IR.

Pak nastavíte místní prostředí IR ve stejné datové továrně, ve které je nastavené prostředí Azure-SSIS IR. Postup najdete v tématu Vytvoření místního prostředí IR.

Nakonec stáhnete a nainstalujete nejnovější verzi místního prostředí IR a další ovladače a modul runtime na místním počítači nebo virtuálním počítači Azure následujícím způsobem:

  • Stáhněte a nainstalujte nejnovější verzi místního prostředí IR.

  • Pokud je místní prostředí IR verze 5.28.0 nebo novější, povolte spouštění balíčků SSIS na uzlu místního prostředí Integration Runtime.

    Vlastnost ExecuteSsisPackage je nově zavedena z místního prostředí IR verze 5.28.0. Pokud chcete povolit nebo zakázat spouštění balíčků SSIS, použijte následující akci místního prostředí IR:

    • -EnableExecuteSsisPackage Povolte spouštění balíčků SSIS na uzlu místního prostředí IR.

    • -DisableExecuteSsisPackage Zakažte spouštění balíčků SSIS na uzlu místního prostředí IR.

    • -GetExecuteSsisPackage

    Podrobnosti příkazového řádku self-hosted IR najdete v tématu Nastavení existujícího self-hosted IR pomocí místního prostředí PowerShell.

    Nově nainstalovaný uzel místního prostředí IR s verzí 5.28.0 nebo novější má vlastnost ExecuteSsisPackage ve výchozím nastavení zakázánu.

    Existující uzel místního prostředí IR aktualizovaný na verzi 5.28.0 nebo novější má ve výchozím nastavení povolenou vlastnost ExecuteSsisPackage.

  • Pokud v balíčcích používáte objektové propojení a vkládání databáze (OLEDB), rozhraní ODBC (Open Database Connectivity) nebo ADO.NET konektory, stáhněte a nainstalujte příslušné ovladače na stejný počítač, na kterém je nainstalované místní prostředí IR, pokud jste to ještě neudělali.

    Pokud používáte starší verzi ovladače OLEDB pro SQL Server (SQL Server Native Client [SQLNCLI]), stáhněte si 64bitovou verzi.

    Pokud používáte nejnovější verzi ovladače OLEDB pro SQL Server (MSOLEDBSQL), stáhněte si 64bitovou verzi.

    Pokud používáte ovladače OLEDB/ODBC/ADO.NET pro jiné databázové systémy, jako jsou PostgreSQL, MySQL, Oracle atd., můžete si stáhnout 64bitové verze z jejich webů.

  • Pokud ve svých balíčcích používáte komponenty toku dat z balíčku Funkcí Azure, stáhněte a nainstalujte sadu Azure Feature Pack pro SQL Server 2017 na stejný počítač, na kterém je nainstalované místní prostředí IR, pokud jste to ještě neudělali.

  • Pokud jste to ještě neudělali, stáhněte a nainstalujte 64bitovou verzi modulu runtime Visual C++ (VC) na stejný počítač, na kterém je nainstalované místní prostředí IR.

Povolení ověřování Systému Windows pro místní úlohy

Pokud místní úlohy přípravy a spouštění úloh SQL/Process v místním prostředí IR vyžadují ověřování Systému Windows, musíte také nakonfigurovat funkci ověřování Systému Windows v prostředí Azure-SSIS IR.

Vaše místní scénářové úkoly a úlohy SQL/Procesu budou vyvolány pomocí účtu služby IR v místním prostředí (NT SERVICE\DIAHostService, ve výchozím nastavení) a přístup k úložištím dat bude zajištěn pomocí účtu ověřování systému Windows. Oba účty vyžadují, aby k nim byly přiřazeny určité zásady zabezpečení. Na samohostovaném stroji IR přejděte na Místní zásady zabezpečení>Místní zásady>Přiřazení práv uživatelů, a poté proveďte následující:

  1. Přiřaďte kvótu paměti pro proces a nahraďte zásady tokenu na úrovni procesu k účtu služby IR v místním prostředí. K tomu by mělo dojít automaticky při instalaci místního prostředí IR s výchozím účtem služby. Pokud ne, přiřaďte tyto zásady ručně. Pokud používáte jiný účet služby, přiřaďte mu stejné zásady.

  2. Přiřaďte zásadu Přihlásit se jako služba k účtu ověřování systému Windows.

cs-CZ: Příprava propojené služby Azure Blob Storage pro nasazení

Pokud jste to ještě neudělali, vytvořte propojenou službu Azure Blob Storage ve stejné datové továrně, ve které je nastavené prostředí Azure-SSIS IR. Postup najdete v tématu Vytvoření propojené služby Azure Data Factory. Nezapomeňte provést následující:

  • V případě úložiště dat vyberte Azure Blob Storage.
  • Pokud se chcete připojit přes prostředí Integration Runtime, vyberte AutoResolveIntegrationRuntime (ne místní prostředí IR), takže ho můžeme ignorovat a místo toho použít prostředí Azure-SSIS IR k načtení přihlašovacích údajů pro přístup pro službu Azure Blob Storage.
  • Jako metodu ověřování vyberte klíč účtu, SAS URI, Service Principal, spravovanou identitu nebo uživatelsky přiřazenou spravovanou identitu.

Tip

Pokud je vaše instance datové továrny s podporou Gitu, propojená služba bez ověřování pomocí klíče se nepublikuje okamžitě, což znamená, že nemůžete uložit integrace runtime, které závisí na propojené službě ve vaší funkční větvi. Ověření pomocí klíče účtu nebo identifikátoru URI SAS okamžitě zveřejní propojenou službu.

Tip

Pokud vyberete metodu instančního objektu, udělte instančnímu objektu alespoň roli Přispěvatel dat v objektu blob služby Storage. Další informace najdete v tématu Konektor služby Azure Blob Storage. Pokud zvolíte metodu Spravovanou identitu/uživatelem přiřazenou spravovanou identitu, udělte pro vaše ADF správnou roli zadané systémově nebo uživatelsky přiřazené spravované identitě pro přístup ke službě Azure Blob Storage. Další informace najdete v tématu Přístup ke službě Azure Blob Storage pomocí ověřování Microsoft Entra se zadanou spravovanou identitou přiřazenou systémem nebo uživatelem pro vaši službu ADF.

Připravte propojenou službu Azure Blob Storage pro fázi přípravy

Konfigurace prostředí Azure-SSIS IR s lokálním prostředím IR jako proxy

Když jste připravili místní prostředí IR a propojenou službu Azure Blob Storage pro přípravu, můžete teď nakonfigurovat nové nebo existující prostředí Azure-SSIS IR s místním prostředím IR jako proxy na portálu nebo aplikaci datové továrny. Než to ale uděláte, můžete ho zastavit, upravit a restartovat, pokud už je vaše stávající prostředí Azure-SSIS IR spuštěné.

  1. V podokně Nastavení prostředí Integration Runtime přeskočte přes stránku Obecné nastavení a Nastavení nasazení výběrem tlačítka Pokračovat.

  2. Na stránce Upřesnit nastavení udělejte toto:

    1. Zaškrtněte políčko Nastavit místní prostředí Integration Runtime jako proxy pro prostředí Azure-SSIS Integration Runtime.

    2. V rozevíracím seznamu samosprávěného prostředí Integration Runtime vyberte vaše existující samosprávěné IR jako proxy pro službu Azure-SSIS IR.

    3. V rozevíracím seznamu propojených služeb ve Staging Storage vyberte existující propojenou službu Azure Blob Storage nebo vytvořte novou pro úschovu.

    4. V poli Cesta pro přípravu zadejte kontejner objektů blob ve vybraném účtu Azure Storage, nebo je ponechte prázdné, pokud chcete použít výchozí kontejner pro přípravu.

    5. Vyberte tlačítko Pokračovat.

    Pokročilá nastavení se samo-hostovaným IR

Pomocí PowerShellu můžete také nakonfigurovat nové nebo existující prostředí Azure-SSIS IR s místním prostředím IR jako proxy serverem.

$ResourceGroupName = "[your Azure resource group name]"
$DataFactoryName = "[your data factory name]"
$AzureSSISName = "[your Azure-SSIS IR name]"
# Self-hosted integration runtime info - This can be configured as a proxy for on-premises data access 
$DataProxyIntegrationRuntimeName = "" # OPTIONAL to configure a proxy for on-premises data access 
$DataProxyStagingLinkedServiceName = "" # OPTIONAL to configure a proxy for on-premises data access 
$DataProxyStagingPath = "" # OPTIONAL to configure a proxy for on-premises data access 

# Add self-hosted integration runtime parameters if you configure a proxy for on-premises data access
if(![string]::IsNullOrEmpty($DataProxyIntegrationRuntimeName) -and ![string]::IsNullOrEmpty($DataProxyStagingLinkedServiceName))
{
    Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
        -DataFactoryName $DataFactoryName `
        -Name $AzureSSISName `
        -DataProxyIntegrationRuntimeName $DataProxyIntegrationRuntimeName `
        -DataProxyStagingLinkedServiceName $DataProxyStagingLinkedServiceName

    if(![string]::IsNullOrEmpty($DataProxyStagingPath))
    {
        Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
            -DataFactoryName $DataFactoryName `
            -Name $AzureSSISName `
            -DataProxyStagingPath $DataProxyStagingPath
    }
}
Start-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $DataFactoryName `
    -Name $AzureSSISName `
    -Force

Povolení balíčků SSIS pro použití proxy serveru

Pomocí nejnovějšího SSDT jako rozšíření SSIS Projects pro Visual Studio nebo samostatného instalačního programu můžete najít novou ConnectByProxy vlastnost v manažerech připojení pro podporované komponenty toku dat a ExecuteOnProxy vlastnost u úloh Execute SQL/Process Tasks.

Při návrhu nových balíčků obsahujících úlohy toku dat s komponentami, které přistupují k datům v místě, můžete tuto vlastnost povolit ConnectByProxy tak, že ji nastavíte na True v podokně vlastností příslušných správců připojení.

Při návrhu nových balíčků obsahujících úlohy provádění sql/procesů, které běží místně, můžete tuto vlastnost povolit ExecuteOnProxy tak, že ji nastavíte na True v podokně Vlastnosti u samotných relevantních úloh.

Povolení vlastnosti ConnectByProxy/ExecuteOnProxy

Můžete také povolit ConnectByProxy/ExecuteOnProxy vlastnosti při spuštění existujících balíčků, aniž byste je museli ručně měnit o jeden po druhém. Existují dvě možnosti:

  • Možnost A: Otevřete, znovu sestavte a nasaďte projekt obsahující tyto balíčky s nejnovějším SSDT pro spuštění v prostředí Azure-SSIS IR. Vlastnost pak můžete povolit ConnectByProxy tak, že ji nastavíte True pro příslušné správce připojení, které se zobrazí na kartě Správci připojení vyskakovacího okna Spustit balíček při spouštění balíčků z aplikace SSMS.

    Povolení vlastnosti ConnectByProxy/ExecuteOnProxy2

    Vlastnost můžete povolit ConnectByProxy také tak, že ji nastavíte na True pro příslušné správce připojení, které se zobrazí na kartě Správce připojení aktivity Spustit balíček SSIS, když spouštíte balíčky v kanálech služby Data Factory.

    Povolení vlastnosti ConnectByProxy/ExecuteOnProxy3

  • Možnost B: Znovu nasaďte projekt obsahující tyto balíčky, aby se spustil v prostředí SSIS IR. Vlastnosti pak můžete povolit ConnectByProxy/ExecuteOnProxy tak,\Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy]/\Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy]/\Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy] že zadáte jejich cesty k vlastnostem a nastavíte je na hodnotu True jako přepsání vlastnosti na kartě Upřesnit v automaticky otevíraných oknech Spustit balíček při spouštění balíčků z aplikace SSMS.

    Povolení vlastnosti ConnectByProxy/ExecuteOnProxy4

    Vlastnosti ConnectByProxy/ExecuteOnProxy můžete povolit zadáním jejich cest k vlastnostem \Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy]/\Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy]/\Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy] a nastavením na True jako předefinování vlastností na kartě Předefinování vlastností aktivity Spuštění balíčku SSIS při spouštění balíčků v kanálech Data Factory.

    Povolení vlastnosti ConnectByProxy/ExecuteOnProxy5

Ladění místních úloh a úloh nasazení v cloudu

V místním prostředí IR najdete protokoly modulu runtime ve složce C:\ProgramData\SSISTelemetry a protokoly spouštění místních pracovních úloh a spouštění úloh SQL/process ve složce C:\ProgramData\SSISTelemetry\ExecutionLog . Protokoly spouštění pracovních úloh cloudu najdete ve službě SSISDB, zadaných cestách k logovacím souborům nebo Azure Monitoru podle toho, zda balíčky ukládáte do SSISDB, povolíte integraci služby Azure Monitor atd. Jedinečné ID místních přípravných úloh najdete také v protokolech spouštění cloudových pracovních úloh.

Jedinečné ID prvního přípravného úkolu

Pokud jste podali požadavky na zákaznickou podporu, můžete vybrat tlačítko Odeslat protokoly na kartě Diagnostika v Microsoft Integration Runtime Správce konfigurace, který je nainstalovaný na vašem místním IR, a odeslat nám protokoly nedávné operace/spouštění, abychom mohli prozkoumat.

Fakturace místních úloh a úloh přípravy cloudu

Místní úlohy přípravy a spouštění úloh SQL/procesu, které běží na místním prostředí IR, se účtují samostatně, stejně jako se účtují všechny aktivity přesunu dat spuštěné v místním prostředí IR. Toto je uvedené v článku o cenách datového kanálu služby Azure Data Factory.

Úlohy přípravy cloudu, které běží na prostředí Azure-SSIS IR, se neúčtují samostatně, ale vaše spuštěné prostředí Azure-SSIS IR se účtuje podle pokynů v článku o cenách Azure-SSIS IR.

Vynucení protokolu TLS 1.2

Pokud potřebujete získat přístup k úložištům dat, která jsou nakonfigurovaná tak, aby používala pouze nejsilnější kryptografii nebo nejbezpečnější síťový protokol (TLS 1.2), včetně služby Azure Blob Storage pro přípravu, musíte povolit jenom protokol TLS 1.2 a současně zakázat starší verze PROTOKOLU SSL/TLS na místním prostředí IR. Uděláte to tak, že si stáhnete a spustíte main.cmd skript z https://github.com/Azure/Azure-DataFactory/tree/main/SamplesV2/SQLServerIntegrationServices/publicpreview/CustomSetupScript/UserScenarios/TLS%201.2.

Aktuální omezení

  • V současné době se podporují jenom komponenty toku dat, které jsou integrované nebo předinstalované v prostředí Azure-SSIS IR edice Standard s výjimkou komponent Hadoop/HDFS/DQS, viz všechny předinstalované nebo předinstalované komponenty v Prostředí Azure-SSIS IR.
  • V současné době se podporují jenom komponenty toku dat vlastních/třetích stran napsané ve spravovaném kódu (.NET Framework) – ty napsané v nativním kódu (C++) se v současné době nepodporují.
  • Změna hodnot proměnných v místních i cloudových pracovních úlohách se v současné době nepodporuje.
  • Změna hodnot proměnných objektu typu v místních přípravných úlohách se neprojeví v jiných úkolech.
  • Mapování parametrů ve zdroji OLEDB se v současné době nepodporuje. Jako alternativní řešení, prosím použijte příkaz SQL z proměnné jako AccessMode a pomocí Expression vložte své proměnné/parametry do příkazu SQL. Na obrázku vidíte balíček ParameterMappingSample.dtsx , který najdete ve složce SelfHostedIRProxy/Limitations našeho kontejneru objektů blob ve verzi Public Preview. Pomocí Průzkumník služby Azure Storage se můžete připojit k našemu kontejneru blob v režimu veřejného náhledu zadáním výše uvedeného identifikátoru URI SAS.

Jakmile nakonfigurujete místní prostředí IR jako proxy server pro prostředí Azure-SSIS IR, můžete nasadit a spustit balíčky pro přístup k datům nebo spouštět všechny příkazy a procesy SQL místně v rámci aktivit spouštění balíčku SSIS v kanálech služby Data Factory. Postup najdete v tématu Spouštění balíčků SSIS jako aktivit Execute SSIS Package v kanálech Data Factory. Projděte si také naše blogy: Spuštění libovolného SQL Anywhere ve 3 jednoduchých krocích pomocí služby SSIS v Azure Data Factory a spuštění libovolného procesu kdekoli ve 3 snadných krocích pomocí služby SSIS ve službě Azure Data Factory.