Konfigurowanie własnego środowiska IR jako serwera proxy dla środowiska Azure-SSIS IR

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym artykule opisano sposób uruchamiania pakietów usług SQL Server Integration Services (SSIS) w środowisku Azure-SSIS Integration Runtime (Azure-SSIS IR) z własnym środowiskiem Integration Runtime (self-hosted IR) skonfigurowanym jako serwer proxy.

Dzięki tej funkcji możesz uzyskiwać dostęp do danych i uruchamiać zadania lokalnie bez konieczności dołączania środowiska Azure-SSIS IR do sieci wirtualnej. Ta funkcja jest przydatna, gdy sieć firmowa ma konfigurację zbyt złożoną lub zasady są zbyt restrykcyjne, aby wstrzyknąć do niej środowisko Azure-SSIS IR.

Tę funkcję można włączyć tylko w usłudze SSIS Przepływ danych Task i Execute SQL/Process Tasks na razie.

Włączono Przepływ danych Zadanie, ta funkcja podzieli ją na dwa zadania przejściowe zawsze wtedy, gdy ma to zastosowanie:

  • Zadanie przejściowe lokalne: to zadanie uruchamia składnik przepływu danych, który łączy się z lokalnym magazynem danych w własnym środowisku IR. Przenosi dane z lokalnego magazynu danych do obszaru przejściowego w usłudze Azure Blob Storage lub odwrotnie.
  • Zadanie przejściowe w chmurze: to zadanie uruchamia składnik przepływu danych, który nie łączy się z lokalnym magazynem danych w środowisku Azure-SSIS IR. Przenosi dane z obszaru przejściowego w usłudze Azure Blob Storage do magazynu danych w chmurze lub odwrotnie.

Jeśli zadanie Przepływ danych przenosi dane ze środowiska lokalnego do chmury, pierwsze i drugie zadania przejściowe będą odpowiednio zadaniami lokalnymi i przejściowymi w chmurze. Jeśli zadanie Przepływ danych przenosi dane z chmury do środowiska lokalnego, pierwsze i drugie zadania przejściowe będą odpowiednio zadaniami przejściowymi w chmurze i lokalnymi. Jeśli zadanie Przepływ danych przenosi dane ze środowiska lokalnego do lokalnego, pierwsze i drugie zadania przejściowe będą dotyczyć zadań przejściowych lokalnych. Jeśli zadanie Przepływ danych przenosi dane z chmury do chmury, ta funkcja nie ma zastosowania.

Włączono funkcję Execute SQL/Process Tasks (Wykonywanie zadań SQL/przetwarzania). Ta funkcja będzie uruchamiana na własnym środowisku IR.

Inne korzyści i możliwości tej funkcji umożliwiają na przykład skonfigurowanie własnego środowiska IR w regionach, które nie są jeszcze obsługiwane przez środowisko Azure-SSIS IR, i zezwalają na publiczny statyczny adres IP własnego środowiska IR w zaporze źródeł danych.

Przygotowywanie własnego środowiska IR

Aby użyć tej funkcji, należy najpierw utworzyć fabrykę danych i skonfigurować w niej środowisko Azure-SSIS IR. Jeśli jeszcze tego nie zrobiono, postępuj zgodnie z instrukcjami w temacie Konfigurowanie środowiska Azure-SSIS IR.

Następnie skonfigurujesz własne środowisko IR w tej samej fabryce danych, w której skonfigurowaliśmy środowisko Azure-SSIS IR. Aby to zrobić, zobacz Tworzenie własnego środowiska IR.

Na koniec pobierz i zainstalujesz najnowszą wersję własnego środowiska IR, a także dodatkowe sterowniki i środowisko uruchomieniowe na maszynie lokalnej lub maszynie wirtualnej platformy Azure w następujący sposób:

  • Pobierz i zainstaluj najnowszą wersję własnego środowiska IR.

  • Włącz wykonywanie pakietów usług SSIS w węźle własnego środowiska Integration Runtime, jeśli własne środowisko IR w wersji 5.28.0 lub nowszej.

    Właściwość ExecuteSsisPackage została nowo wprowadzona z własnego środowiska IR w wersji 5.28.0. Użyj poniższej akcji wiersza polecenia własnego środowiska IR, aby włączyć lub wyłączyć wykonywanie pakietów SSIS:

    • -EnableExecuteSsisPackage Włącz wykonywanie pakietów SSIS w węźle własnego środowiska IR.

    • -DisableExecuteSsisPackage Wyłącz wykonywanie pakietów SSIS w węźle własnego środowiska IR.

    • -GetExecuteSsisPackage

    Szczegóły wiersza polecenia własnego środowiska IR można znaleźć w artykule Konfigurowanie istniejącego własnego środowiska IR za pośrednictwem lokalnego programu PowerShell.

    Nowo zainstalowany węzeł własnego środowiska IR w wersji 5.28.0 lub nowszej właściwość ExecuteSsisPackage jest domyślnie wyłączona.

    Istniejący węzeł własnego środowiska IR zaktualizowany do wersji 5.28.0 lub nowszej, właściwość ExecuteSsisPackage jest domyślnie włączona

  • Jeśli używasz funkcji Łączenie obiektów i osadzanie bazy danych (OLEDB), otwórz bazę danych Połączenie ivity (ODBC) lub łączniki ADO.NET w pakietach, pobierz i zainstaluj odpowiednie sterowniki na tej samej maszynie, na której zainstalowano własne środowisko IR, jeśli jeszcze tego nie zrobiono.

    Jeśli używasz starszej wersji sterownika OLEDB dla programu SQL Server (SQL Server Native Client [SQLNCLI]), pobierz wersję 64-bitową.

    Jeśli używasz najnowszej wersji sterownika OLEDB dla programu SQL Server (MSOLEDBSQL), pobierz wersję 64-bitową.

    Jeśli używasz sterowników OLEDB/ODBC/ADO.NET dla innych systemów baz danych, takich jak PostgreSQL, MySQL, Oracle itd., możesz pobrać 64-bitowe wersje ze swoich witryn internetowych.

  • Jeśli używasz składników przepływu danych z pakietu Azure Feature Pack w pakietach, pobierz i zainstaluj pakiet Azure Feature Pack dla programu SQL Server 2017 na tej samej maszynie, na której zainstalowano własne środowisko IR, jeśli jeszcze tego nie zrobiono.

  • Jeśli jeszcze tego nie zrobiono, pobierz i zainstaluj 64-bitową wersję środowiska uruchomieniowego Visual C++ (VC) na tej samej maszynie, na której zainstalowano własne środowisko IR.

Włączanie uwierzytelniania systemu Windows dla zadań lokalnych

Jeśli zadania przejściowe lokalne i Wykonywanie zadań SQL/Przetwarzania na własnym środowisku IR wymagają uwierzytelniania systemu Windows, należy również skonfigurować funkcję uwierzytelniania systemu Windows w środowisku Azure-SSIS IR.

Lokalne zadania przejściowe i Wykonywanie zadań SQL/Przetwarzania będą wywoływane przy użyciu własnego konta usługi IR (DOmyślnie NT SERVICE\DIAHostService), a magazyny danych będą dostępne przy użyciu konta uwierzytelniania systemu Windows. Oba konta wymagają przypisania pewnych zasad zabezpieczeń. Na maszynie własnego środowiska IR przejdź do pozycji Przypisywanie praw użytkownika zasad zabezpieczeń lokalnych zasad>zabezpieczeń lokalnych>, a następnie wykonaj następujące czynności:

  1. Przypisz limity przydziału pamięci dla procesu i zastąp zasady tokenu na poziomie procesu do własnego konta usługi IR. Powinno to nastąpić automatycznie podczas instalowania własnego środowiska IR przy użyciu domyślnego konta usługi. Jeśli tak nie jest, przypisz te zasady ręcznie. Jeśli używasz innego konta usługi, przypisz do niego te same zasady.

  2. Przypisz zasady Logowania jako usługi do konta uwierzytelniania systemu Windows.

Przygotowywanie połączonej usługi Azure Blob Storage do przemieszczania

Jeśli jeszcze tego nie zrobiono, utwórz połączoną usługę Azure Blob Storage w tej samej fabryce danych, w której skonfigurowano środowisko Azure-SSIS IR. Aby to zrobić, zobacz Tworzenie połączonej usługi Azure Data Factory. Koniecznie wykonaj następujące czynności:

  • W polu Magazyn danych wybierz pozycję Azure Blob Storage.
  • W przypadku Połączenie za pośrednictwem środowiska Integration Runtime wybierz pozycję AutoResolveIntegrationRuntime (a nie własne środowisko IR), abyśmy mogli go zignorować i użyć środowiska Azure-SSIS IR, aby pobrać poświadczenia dostępu dla usługi Azure Blob Storage.
  • W polu Metoda uwierzytelniania wybierz pozycję Klucz konta, Identyfikator URI sygnatury dostępu współdzielonego, Jednostka usługi, Tożsamość zarządzana lub Tożsamość zarządzana przypisana przez użytkownika.

Napiwek

Jeśli wystąpienie fabryki danych jest włączone w usłudze Git, połączona usługa bez uwierzytelniania klucza nie zostanie natychmiast opublikowana, co oznacza, że nie można zapisać środowiska Integration Runtime, które zależy od połączonej usługi w gałęzi funkcji. Uwierzytelnianie przy użyciu klucza konta lub identyfikatora URI sygnatury dostępu współdzielonego natychmiast opublikuje połączoną usługę.

Napiwek

Jeśli wybierzesz metodę Jednostka usługi , przyznaj jednostce usługi co najmniej rolę Współautor danych obiektu blob usługi Storage. Aby uzyskać więcej informacji, zobacz Łącznik usługi Azure Blob Storage. Jeśli wybierzesz metodę tożsamości/ zarządzanej przypisanej przez użytkownika tożsamości zarządzanej, przyznaj określonej tożsamości zarządzanej przypisanej przez użytkownika/system dla usługi ADF odpowiednią rolę w celu uzyskania dostępu do usługi Azure Blob Storage. Aby uzyskać więcej informacji, zobacz Access Azure Blob Storage using Microsoft Entra authentication with the specified system/user-assigned managed identity for your ADF (Uzyskiwanie dostępu do usługi Azure Blob Storage przy użyciu uwierzytelniania w usłudze Microsoft Entra przy użyciu określonej tożsamości zarządzanej przypisanej przez użytkownika/systemu).

Prepare the Azure Blob storage-linked service for staging

Konfigurowanie środowiska Azure-SSIS IR przy użyciu własnego środowiska IR jako serwera proxy

Po przygotowaniu własnego środowiska IR i połączonej usługi Azure Blob Storage do przemieszczania możesz teraz skonfigurować nowe lub istniejące środowisko Azure-SSIS IR przy użyciu własnego środowiska IR jako serwera proxy w portalu lub aplikacji fabryki danych. Zanim to zrobisz, jeśli istniejące środowisko Azure-SSIS IR jest już uruchomione, możesz zatrzymać, edytować, a następnie ponownie go uruchomić.

  1. W okienku Konfiguracja środowiska Integration Runtime pomiń strony Ustawienia ogólne i Ustawienia wdrożenia, wybierając przycisk Kontynuuj.

  2. Na stronie Ustawienia zaawansowane wykonaj następujące czynności:

    1. Zaznacz pole wyboru Skonfiguruj własne środowisko Integration Runtime jako serwer proxy dla środowiska Azure-SSIS Integration Runtime.

    2. Z listy rozwijanej Self-Hosted Integration Runtime wybierz istniejące własne środowisko IR jako serwer proxy środowiska Azure-SSIS IR.

    3. Z listy rozwijanej Połączona usługa Magazynu przejściowego wybierz istniejącą połączoną usługę Azure Blob Storage lub utwórz nową usługę na potrzeby przemieszczania.

    4. W polu Ścieżka przejściowa określ kontener obiektów blob na wybranym koncie usługi Azure Storage lub pozostaw go pusty, aby użyć domyślnego kontenera do przemieszczania.

    5. Naciśnij przycisk Continue (Kontynuuj).

    Advanced settings with a self-hosted IR

Możesz również skonfigurować nowe lub istniejące środowisko Azure-SSIS IR przy użyciu własnego środowiska IR jako serwera proxy przy użyciu programu PowerShell.

$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

Włączanie pakietów usług SSIS do korzystania z serwera proxy

Korzystając z najnowszego narzędzia SSDT jako rozszerzenia SSIS Projects dla programu Visual Studio lub autonomicznego instalatora, można znaleźć nową ConnectByProxy właściwość w menedżerach połączeń dla obsługiwanych składników przepływu danych i ExecuteOnProxy właściwości w temacie Wykonywanie zadań SQL/Process.

Podczas projektowania nowych pakietów zawierających Przepływ danych Tasks ze składnikami, które uzyskują dostęp do danych lokalnych, można włączyć ConnectByProxy tę właściwość, ustawiając ją na True w okienku Właściwości odpowiednich menedżerów połączeń.

Podczas projektowania nowych pakietów zawierających wykonywanie zadań SQL/procesów uruchamianych lokalnie można włączyć ExecuteOnProxy tę właściwość, ustawiając ją na True w okienku Właściwości odpowiednich zadań.

Enable ConnectByProxy/ExecuteOnProxy property

Można również włączyć właściwości podczas uruchamiania ConnectByProxy/ExecuteOnProxy istniejących pakietów bez konieczności ręcznego zmieniania ich po jednym. Dostępne są dwie opcje:

  • Opcja A: Otwórz, skompiluj i ponownie wdróż projekt zawierający te pakiety z najnowszym programem SSDT do uruchomienia w środowisku Azure-SSIS IR. Następnie można włączyć ConnectByProxy tę właściwość, ustawiając ją na Wartość True dla odpowiednich menedżerów połączeń wyświetlanych na karcie Menedżerowie Połączenie ion okna podręcznego Wykonaj pakiet podczas uruchamiania pakietów z programu SSMS.

    Enable ConnectByProxy/ExecuteOnProxy property2

    Właściwość można również włączyćConnectByProxy, ustawiając dla odpowiednich menedżerów połączeń wartość True dla odpowiednich menedżerów połączeń wyświetlanych na karcie Menedżerowie Połączenie ion działań Wykonaj pakiet SSIS podczas uruchamiania pakietów w potokach usługi Data Factory.

    Enable ConnectByProxy/ExecuteOnProxy property3

  • Opcja B: Ponownie wdróż projekt zawierający te pakiety do uruchomienia w środowisku SSIS IR. Następnie można włączyć ConnectByProxy/ExecuteOnProxy właściwości, podając ich ścieżki właściwości,/\Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy]\Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy]/\Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy] i ustawiając je na Wartość True jako przesłonięcia właściwości na karcie Zaawansowane okna podręcznego Wykonaj pakiet podczas uruchamiania pakietów z programu SSMS.

    Enable ConnectByProxy/ExecuteOnProxy property4

    Można również włączyć ConnectByProxy/ExecuteOnProxy właściwości, podając ich ścieżki właściwości,\Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy]\Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy]/\Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy]/ i ustawiając je na wartość True jako przesłonięcia właściwości na karcie Przesłonięcia właściwości działania Wykonaj pakiet SSIS podczas uruchamiania pakietów w potokach usługi Data Factory.

    Enable ConnectByProxy/ExecuteOnProxy property5

Debugowanie zadań lokalnych i zadań przejściowych w chmurze

Na własnym środowisku IR dzienniki środowiska uruchomieniowego można znaleźć w folderze C:\ProgramData\SSISTelemetry oraz dziennikach wykonywania lokalnych zadań przejściowych i Wykonaj zadania SQL/Process w folderze C:\ProgramData\SSISTelemetry\ExecutionLog . Dzienniki wykonywania zadań przejściowych w chmurze można znaleźć w bazie danych SSISDB, określonych ścieżkach plików rejestrowania lub usłudze Azure Monitor w zależności od tego, czy przechowujesz pakiety w bazie danych SSISDB, włącz integrację z usługą Azure Monitor itp. Można również znaleźć unikatowe identyfikatory lokalnych zadań przejściowych w dziennikach wykonywania zadań przejściowych w chmurze.

Unique ID of the first staging task

Jeśli zgłoszono bilety pomocy technicznej klienta, możesz wybrać przycisk Wyślij dzienniki na karcie Diagnostyka programu Microsoft Integration Runtime Configuration Manager, który jest zainstalowany na własnym środowisku IR, aby wysyłać najnowsze dzienniki operacji/wykonywania, abyśmy mogli zbadać.

Rozliczenia zadań lokalnych i zadań przejściowych w chmurze

Zadania przejściowe lokalne i Wykonywanie zadań sql/przetwarzania uruchamianych na własnym środowisku IR są rozliczane oddzielnie, podobnie jak wszystkie działania przenoszenia danych uruchamiane na własnym środowisku IR są rozliczane. Jest to określone w artykule z cennikiem potoku danych usługi Azure Data Factory.

Zadania przejściowe w chmurze uruchamiane na środowisku Azure-SSIS IR nie są rozliczane oddzielnie, ale uruchomione środowisko Azure-SSIS IR jest rozliczane zgodnie z cennikiem środowiska Azure-SSIS IR.

Wymuszanie protokołu TLS 1.2

Jeśli musisz uzyskać dostęp do magazynów danych skonfigurowanych do używania tylko najsilniejszego protokołu kryptografii/najbezpieczniejszego protokołu sieciowego (TLS 1.2), w tym usługi Azure Blob Storage na potrzeby przemieszczania, musisz włączyć tylko protokół TLS 1.2 i wyłączyć starsze wersje protokołu SSL/TLS w tym samym czasie na własnym środowisku IR. W tym celu można pobrać i uruchomić skrypt main.cmd , który udostępniamy w folderze CustomSetupScript/UserScenarios/TLS 1.2 naszego kontenera obiektów blob w publicznej wersji zapoznawczej. Korzystając z Eksplorator usługi Azure Storage, możesz nawiązać połączenie z naszym publicznym kontenerem obiektów blob w wersji zapoznawczej, wprowadzając następujący identyfikator URI sygnatury dostępu współdzielonego:

https://ssisazurefileshare.blob.core.windows.net/publicpreview?sp=rl&st=2020-03-25T04:00:00Z&se=2025-03-25T04:00:00Z&sv=2019-02-02&sr=c&sig=WAD3DATezJjhBCO3ezrQ7TUZ8syEUxZZtGIhhP6Pt4I%3D

Bieżące ograniczenia

  • Obecnie obsługiwane są tylko składniki przepływu danych wbudowane/wstępnie zainstalowane w środowisku Azure-SSIS IR Standard Edition, z wyjątkiem składników Hadoop/HDFS/DQS, zobacz wszystkie wbudowane/wstępnie zainstalowane składniki w środowisku Azure-SSIS IR.
  • Obecnie obsługiwane są tylko niestandardowe/zewnętrzne składniki przepływu danych napisane w kodzie zarządzanym (.NET Framework) — te zapisane w kodzie natywnym (C++) są obecnie nieobsługiwane.
  • Zmiana wartości zmiennych w zadaniach przejściowych lokalnych i w chmurze jest obecnie nieobsługiwana.
  • Zmiana wartości zmiennych typu obiektu w lokalnych zadaniach przejściowych nie będzie odzwierciedlana w innych zadaniach.
  • ParametrMapping w źródle OLEDB jest obecnie nieobsługiwany. Aby obejść ten problem, użyj polecenia SQL Ze zmiennej jako accessMode i użyj wyrażenia, aby wstawić zmienne/parametry w poleceniu SQL. Na ilustracji zobacz pakiet ParameterMappingSample.dtsx , który można znaleźć w folderze SelfHostedIRProxy/Limitations kontenera obiektów blob w publicznej wersji zapoznawczej. Korzystając z Eksplorator usługi Azure Storage, możesz nawiązać połączenie z naszym publicznym kontenerem obiektów blob w wersji zapoznawczej, wprowadzając powyższy identyfikator URI sygnatury dostępu współdzielonego.

Po skonfigurowaniu własnego środowiska IR jako serwera proxy dla środowiska Azure-SSIS IR możesz wdrożyć i uruchomić pakiety, aby uzyskać dostęp do danych i uruchomić dowolne instrukcje/procesy SQL lokalnie jako wykonywanie działań pakietu SSIS w potokach usługi Data Factory. Aby dowiedzieć się, jak to zrobić, zobacz Run SSIS packages as Execute SSIS Package activities in Data Factory pipelines (Uruchamianie pakietów usług SSIS jako wykonywanie działań pakietu SSIS w potokach usługi Data Factory). Zobacz również nasze blogi: Uruchamianie dowolnego miejsca SQL w dowolnym miejscu w 3 prostych krokach za pomocą usług SSIS w usłudze Azure Data Factory i Uruchamianie dowolnego procesu w dowolnym miejscu w 3 prostych krokach za pomocą usługi SSIS w usłudze Azure Data Factory.