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

DOTYCZY: Azure Data Factory Azure Synapse Analytics (wersja zapoznawcza)

W tym artykule opisano sposób uruchamiania pakietów usług SQL Server Integration Services (SSIS) w usłudze Azure-SSIS Integration Runtime (Azure-SSIS IR) przy użyciu własnego środowiska Integration Runtime (własnego środowiska IR) skonfigurowanego jako serwer proxy.

Dzięki tej funkcji można uzyskiwać dostęp do danych i uruchamiać zadania lokalnie bez konieczności dołączania Azure-SSIS IR do sieci wirtualnej. Ta funkcja jest przydatna, gdy sieć firmowa ma konfigurację zbyt złożoną lub zasady zbyt restrykcyjne, aby wstrzyknąć do niej 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 w Przepływ danych Zadanie, ta funkcja podzieli ją na dwa zadania przejściowe zawsze, 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 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 Azure-SSIS IR. Przenosi dane z obszaru przejściowego w 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 środowiska lokalnego, pierwsze i drugie zadania przejściowe będą dotyczyć lokalnych zadań przejściowych. Jeśli zadanie Przepływ danych przenosi dane z chmury do chmury, ta funkcja nie ma zastosowania.

Włączono w obszarze 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 Azure-SSIS IR, oraz zezwalać 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 Azure-SSIS IR. Jeśli jeszcze tego nie zrobiono, postępuj zgodnie z instrukcjami w temacie Konfigurowanie Azure-SSIS IR.

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

Na koniec pobierzesz 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.

  • Jeśli używasz łączników object Linking and Embedding Database (OLEDB), Open Database Connectivity (ODBC) lub łączników ADO.NET w pakietach, pobierz i zainstaluj odpowiednie sterowniki na tym samym komputerze, na którym zainstalowano własne środowisko IR, jeśli jeszcze tego nie zrobiono.

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

    Jeśli używasz najnowszej wersji sterownika OLEDB dla 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 SQL Server 2017 na tym samym komputerze, na którym 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 Windows dla zadań lokalnych

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

Lokalne zadania przejściowe i Wykonywanie zadań SQL/Przetwarzania zostaną wywołane przy użyciu własnego konta usługi IR (NT SERVICE\DIAHostService, domyślnie), a magazyny danych będą dostępne przy użyciu konta uwierzytelniania Windows. Oba konta wymagają przypisania do nich określonych zasad zabezpieczeń. Na maszynie własnego środowiska IR przejdź do pozycji Zasady zabezpieczeń lokalnychLokalne zasadyZapisania>>praw użytkownika, 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 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 Azure-SSIS IR. Aby to zrobić, zobacz Tworzenie połączonej usługi Azure Data Factory. Pamiętaj, aby wykonać 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ć Azure-SSIS IR zamiast tego pobrać poświadczenia dostępu dla 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.

Porada

Jeśli wybierzesz metodę Jednostka usługi, przyznaj jednostce usługi co najmniej rolę współautora danych obiektu blob Storage. Aby uzyskać więcej informacji, zobacz łącznik Azure Blob Storage. Jeśli wybierzesz metodę Tożsamość zarządzana Przypisana przez użytkownika Tożsamość /zarządzana przypisana przez użytkownika, przyznaj określonej tożsamości zarządzanej przypisanej przez użytkownika dla usługi ADF odpowiednią rolę, aby uzyskać dostęp do Azure Blob Storage. Aby uzyskać więcej informacji, zobacz Access Azure Blob Storage using Azure Active Directory (Azure AD) authentication with the specified system/user-assigned managed identity for your ADF (Uzyskiwanie dostępu do Azure Blob Storage przy użyciu uwierzytelniania Azure Active Directory (Azure AD) 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 Azure-SSIS IR przy użyciu własnego środowiska IR jako serwera proxy

Po przygotowaniu własnego środowiska IR i Azure Blob Storage połączonej usługi do przemieszczania można teraz skonfigurować nowe lub istniejące 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ąca Azure-SSIS IR jest już uruchomiona, możesz zatrzymać, edytować, a następnie uruchomić ją ponownie.

  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 Self-Hosted Integration Runtime jako serwer proxy dla usługi Azure-SSIS Integration Runtime.

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

    3. Z listy rozwijanej Połączona usługa magazynu przejściowego wybierz istniejącą usługę połączoną 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 Azure-SSIS IR z własnym środowiskiem IR jako serwerem 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 SSIS do korzystania z serwera proxy

Korzystając z najnowszego narzędzia SSDT jako rozszerzenia SSIS Projects dla 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/Przetwarzania.

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 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 zadania Execute SQL/Process Tasks, które są uruchamiane lokalnie, można włączyć ExecuteOnProxy 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 na 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łączeń w oknie podręcznym Wykonywanie pakietu podczas uruchamiania pakietów z programu SSMS.

    Enable ConnectByProxy/ExecuteOnProxy property2

    Właściwość można również włączyć ConnectByProxy , ustawiając wartość True dla odpowiednich menedżerów połączeń wyświetlanych na karcie Menedżerowie połączeńdziałania 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\YourExecuteProcessTaskName.Properties[ExecuteOnProxy]\Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy]// i ustawiając je na wartość True jako zastąpienia właściwości na karcie Zaawansowane w oknie podręcznym Wykonywanie pakietu podczas uruchamiania pakietów z programu SSMS.

    Enable ConnectByProxy/ExecuteOnProxy property4

    Właściwości można również włączyćConnectByProxy/ExecuteOnProxy, 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 zastąpienia 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

W własnym środowisku IR dzienniki środowiska uruchomieniowego można znaleźć w folderze C:\ProgramData\SSISTelemetry oraz dzienniki wykonywania lokalnych zadań przejściowych i Wykonaj SQL/Zadania przetwarzania 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ę usługi Azure Monitor itp. W dziennikach wykonywania zadań przejściowych w chmurze można również znaleźć unikatowe identyfikatory lokalnych zadań przejściowych.

Unique ID of the first staging task

Jeśli zgłaszasz bilety pomocy technicznej klienta, możesz wybrać przycisk Wyślij dzienniki na karcie DiagnostykaMicrosoft Integration Runtime Configuration Manager zainstalowanych na własnym środowisku IR, aby wysłać najnowsze dzienniki operacji/wykonywania, abyśmy mogli zbadać problem.

Rozliczenia dla 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 Azure Data Factory.

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

Włączanie niestandardowych/innych składników przepływu danych

Aby umożliwić składnikom przepływu danych niestandardowych/innych firm dostęp do danych lokalnych przy użyciu własnego środowiska IR jako serwera proxy dla Azure-SSIS IR, wykonaj następujące instrukcje:

  1. Zainstaluj niestandardowe/innej firmy składniki przepływu danych przeznaczone SQL Server 2017 na Azure-SSIS IR za pośrednictwem standardowych/ekspresowych konfiguracji niestandardowych.

  2. Utwórz następujące klucze rejestru DTSPath na własnym środowisku IR, jeśli jeszcze nie istnieją:

    1. Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath ustaw wartość na C:\Program Files\Microsoft SQL Server\140\DTS\
    2. Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Microsoft SQL Server\140\SSIS\Setup\DTSPath ustaw wartość na C:\Program Files (x86)\Microsoft SQL Server\140\DTS\
  3. Zainstaluj niestandardowe/innej firmy składniki przepływu danych przeznaczone dla SQL Server 2017 na własnym środowisku IR w programie DTSPath powyżej i upewnij się, że proces instalacji:

    1. Tworzy <DTSPath>foldery , <DTSPath>/Connections, i , <DTSPath>/PipelineComponents<DTSPath>/UpgradeMappings jeśli jeszcze nie istnieją.

    2. Tworzy własny plik XML dla mapowań rozszerzeń w <DTSPath>/UpgradeMappings folderze.

    3. Instaluje wszystkie zestawy, do których odwołuje się zestawy niestandardowe/3. składnik przepływu danych innych firm w globalnej pamięci podręcznej zestawów (GAC).

Oto przykłady naszych partnerów, Theobald Software i Aecorsoft, którzy dostosowali swoje składniki przepływu danych do korzystania z naszej ekspresowej konfiguracji niestandardowej i własnego środowiska IR jako serwera proxy dla Azure-SSIS IR.

Wymuszanie protokołu TLS 1.2

Jeśli musisz uzyskać dostęp do magazynów danych, które zostały skonfigurowane do używania tylko najsilniejszego protokołu kryptografii/najbardziej bezpiecznego protokołu sieciowego (TLS 1.2), w tym Azure Blob Storage do 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 publicznego kontenera obiektów blob w 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 na Azure-SSIS IR Standard Edition, z wyjątkiem składników hadoop/HDFS/DQS, zobacz wszystkie wbudowane/wstępnie zainstalowane składniki na Azure-SSIS IR.
  • Obecnie obsługiwane są tylko niestandardowe/innej firmy 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 metody AccessModei użyj wyrażenia, aby wstawić zmienne/parametry w SQL polecenia. Na ilustracji zobacz pakiet ParameterMappingSample.dtsx , który można znaleźć w folderze SelfHostedIRProxy/Limitations naszego publicznego kontenera obiektów blob w 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.

Następne kroki

Po skonfigurowaniu własnego środowiska IR jako serwera proxy dla Azure-SSIS IR możesz wdrożyć i uruchomić pakiety w celu uzyskania dostępu 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 Uruchamianie pakietów SSIS jako wykonywanie działań pakietu SSIS w potokach usługi Data Factory. Zobacz również nasze blogi: Uruchamianie dowolnego SQL w dowolnym miejscu w 3 łatwych krokach z usługą SSIS w Azure Data Factory i Uruchamianie dowolnego procesu w dowolnym miejscu w 3 łatwych krokach z usługą SSIS w Azure Data Factory.