Mengonfigurasi IR yang dihost sendiri sebagai proksi untuk Azure-SSIS IR

BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Artikel ini menjelaskan cara menjalankan paket SQL Server Integration Services (SSIS) di Azure-SSIS Integration Runtime (Azure-SSIS IR) dengan runtime integrasi yang dihost sendiri (IR yang dihost sendiri) yang dikonfigurasikan sebagai proksi.

Dengan fitur ini, Anda dapat mengakses data dan menjalankan secara lokal tanpa harus bergabung dengan runtime integrasi Azure-SSIS Anda ke jaringan virtual. Fitur ini berguna ketika jaringan perusahaan Anda memiliki konfigurasi yang terlalu kompleks atau kebijakan yang terlalu membatasi bagi Anda untuk menyuntikkan runtime integrasi Azure-SSIS Anda ke dalamnya.

Fitur ini hanya dapat diaktifkan pada SSIS Data Flow Task dan Execute SQL/Process Tasks untuk saat ini.

Diaktifkan pada Tugas Aliran Data, fitur ini akan memecahnya menjadi dua tugas penahapan setiap kali berlaku:

  • Tugas penahapan di tempati: Tugas ini menjalankan komponen aliran data Anda yang tersambung ke penyimpanan data lokal di runtime integrasi yang dihost sendiri. Ini memindahkan data dari penyimpanan data lokal ke area penahapan di Azure Blob Storage Anda atau sebaliknya.
  • Tugas penahapan cloud: Tugas ini menjalankan komponen aliran data Anda yang tidak tersambung ke penyimpanan data lokal di runtime integrasi Azure-SSIS Anda. Ini memindahkan data dari area penahapan di Azure Blob Storage Anda ke penyimpanan data cloud atau sebaliknya.

Jika Tugas Aliran Data Anda memindahkan data dari lokal ke cloud, maka tugas penahapan pertama dan kedua akan menjadi tugas penahapan lokal dan cloud. Jika Tugas Aliran Data Anda memindahkan data dari cloud ke lokal, maka tugas penahapan pertama dan kedua akan menjadi tugas penahapan cloud dan lokal. Jika Tugas Aliran Data Anda memindahkan data dari lokal ke lokal, maka tugas penahapan pertama dan kedua akan menjadi tugas penahapan lokal. Jika Tugas Aliran Data Anda memindahkan data dari cloud ke cloud, fitur ini tidak berlaku.

Diaktifkan pada Execute SQL/Process Tasks, fitur ini akan menjalankannya pada IR yang dihost sendiri.

Manfaat dan kemampuan lain dari fitur ini memungkinkan Anda untuk, misalnya, menyiapkan runtime integrasi yang dihost sendiri di wilayah yang belum didukung oleh runtime integrasi Azure-SSIS, dan memungkinkan alamat IP statis publik dari runtime integrasi yang dihost sendiri di firewall sumber data Anda.

Siapkan runtime integrasi yang dihost sendiri

Untuk menggunakan fitur ini, Anda terlebih dahulu membuat pabrik data dan menyiapkan runtime integrasi Azure-SSIS di dalamnya. Jika Anda belum melakukannya, ikuti instruksi dalam Menyiapkan runtime integrasi Azure-SSIS.

Anda kemudian menyiapkan runtime integrasi yang dihost sendiri di pabrik data yang sama tempat runtime integrasi SSIS Azure Anda disetel. Untuk melakukannya, lihat Buat runtime integrasi yang dihost sendiri.

Terakhir, Anda mengunduh dan menginstal versi terbaru runtime integrasi yang dihost sendiri serta driver dan runtime tambahan, di mesin lokal atau mesin virtual Azure (VM), sebagai berikut:

  • Unduh dan instal versi terbaru IR yang dihost sendiri.

  • Aktifkan eksekusi paket SSIS pada simpul runtime integrasi yang dihost sendiri jika versi IR yang dihost sendiri adalah 5.28.0 atau yang lebih baru.

    Properti ExecuteSsisPackage baru diperkenalkan dari IR yang dihost sendiri versi 5.28.0. Gunakan tindakan baris perintah IR yang dihost sendiri di bawah ini untuk mengaktifkan atau menonaktifkan eksekusi paket SSIS:

    • -EnableExecuteSsisPackage Aktifkan eksekusi paket SSIS pada simpul IR yang dihost sendiri.

    • -DisableExecuteSsisPackage Nonaktifkan eksekusi paket SSIS pada simpul IR yang dihost sendiri.

    • -GetExecuteSsisPackage

    Detail baris perintah IR yang dihost sendiri mengacu pada Menyiapkan runtime integrasi yang dihost sendiri yang ada melalui PowerShell lokal.

    Simpul runtime integrasi yang baru diinstal sendiri dengan versi 5.28.0 atau yang lebih baru, properti ExecuteSsisPackage secara default dinonaktifkan.

    Simpul IR yang dihost sendiri yang ada diperbarui ke versi 5.28.0 atau yang lebih baru, properti ExecuteSsisPackage diaktifkan secara default

  • Jika Anda menggunakan Database Sematan dan Tautan Obyek (OLEDB), Konektivitas Database Terbuka (ODBC), atau konektor ADO.NET dalam paket Anda, unduh dan pasang driver yang relevan pada mesin yang sama di mana runtime integrasi yang dihost sendiri diinstal, jika Anda belum melakukannya.

    Jika Anda menggunakan versi driver OLEDB yang lebih lama untuk Microsoft SQL Server (SQL Server Native Client [SQLNCLI]), unduh versi 64-bit.

    Jika Anda menggunakan driver OLEDB versi terbaru untuk SQL Server (MSOLEDBSQL), unduh versi 64-bit.

    Jika Anda menggunakan driver OLEDB/ODBC/ADO.NET untuk sistem database lain, seperti PostgreSQL, MySQL, Oracle, dan sebagainya, Anda dapat mengunduh versi 64-bit dari situs web mereka.

  • Jika Anda menggunakan komponen aliran data dari Azure Feature Pack dalam paket Anda, unduh dan instal Azure Feature Pack untuk SQL Server 2017 pada komputer yang sama tempat IR yang dihost sendiri diinstal, jika Anda belum melakukannya.

  • Jika Anda belum melakukannya, unduh dan instal runtime Visual C++ (VC) versi 64-bit pada mesin yang sama di mana runtime integrasi yang dihost sendiri diinstal.

Fungsikan autentikasi Windows untuk tugas lokal

Jika tugas staging lokal dan Execute SQL/Process Tasks pada IR yang dihost sendiri memerlukan autentikasi Windows, Anda juga harus mengonfigurasi fitur autentikasi Windows di IR Azure-SSIS.

Tugas staging lokal Anda dan Execute SQL/Process Tasks akan dipanggil dengan akun layanan IR yang dihost sendiri (NT SERVICE\DIAHostService, secara default), dan penyimpanan data Anda akan diakses dengan akun autentikasi Windows. Kedua akun memerlukan kebijakan keamanan tertentu untuk diberikan kepada mereka. Pada mesin runtime integrasi yang dihost sendiri, buka Penetapan Hak>Pengguna Kebijakan Keamanan> Kebijakan Keamanan Lokal, lalu lakukan hal berikut:

  1. Tetapkan Sesuaikan kuota memori untuk proses dan Ganti kebijakan token tingkat proses ke akun layanan runtime integrasi yang dihost sendiri. Ini akan terjadi secara otomatis ketika Anda menginstalruntime integrasi yang dihost sendiri dengan akun layanan default. Jika tidak, tetapkan kebijakan tersebut secara manual. Jika Anda menggunakan akun layanan lain, tetapkan kebijakan yang sama untuk akun tersebut.

  2. Tetapkan Masuk sebagai kebijakan layanan ke akun Autentikasi Windows.

Siapkan layanan terkait Azure Blob Storage untuk penahapan

Jika Anda belum melakukannya, buat layanan tertaut Azure Blob Storage di pabrik data yang sama tempat runtime integrasi Azure-SSIS Anda disiapkan. Untuk melakukannya, lihat Buat layanan tertaut Azure Data Factory. Pastikan untuk melakukan hal-hal berikut:

  • Untuk Penyimpanan Data,pilih Azure Blob Storage.
  • Untuk Terhubung melalui runtime integrasi,pilih AutoResolveIntegrationRuntime (bukan runtime integrasi yang dihost sendiri), sehingga kami dapat mengabaikannya dan menggunakan runtime integrasi Azure-SSIS Anda sebagai gantinya untuk mengambil informasi masuk akses untuk Azure Blob Storage Anda.
  • Untuk Metode autentikasi, pilih Kunci akun, SAS URI, Perwakilan Layanan, Identitas Terkelola, atau Identitas Terkelola yang Ditetapkan Pengguna.

Tip

Jika instans pabrik data Anda diaktifkan Git, layanan tertaut tanpa autentikasi kunci tidak akan segera diterbitkan, yang berarti Anda tidak dapat menyimpan runtime integrasi yang bergantung pada layanan tertaut di cabang fitur Anda. Mengautentikasi dengan kunci akun atau SAS URI akan segera menerbitkan layanan tertaut.

Tip

Jika Anda memilih metode Perwakilan Layanan, berikan perwakilan layanan Anda setidaknya peran Kontributor Data Blob Storage. Untuk informasi selengkapnya, lihat artikel konektor Azure Blob Storage. Jika Anda memilih metode Identitas Terkelola/Identitas Terkelola yang Ditetapkan Pengguna, berikan izin ke identitas terkelola yang ditetapkan sistem/pengguna tertentu untuk ADF Anda peran yang tepat untuk mengakses Azure Blob Storage. Untuk informasi selengkapnya, lihat Mengakses Azure Blob Storage menggunakan autentikasi Microsoft Entra dengan sistem yang ditentukan/identitas terkelola yang ditetapkan pengguna untuk ADF Anda.

Prepare the Azure Blob storage-linked service for staging

Konfigurasikan runtime integrasi Azure-SSIS dengan runtime integrasi yang dihost sendiri sebagai proksi

Setelah menyiapkan runtime integrasi yang dihost sendiri dan layanan tertaut Azure Blob Storage untuk penahapan, Anda sekarang dapat mengonfigurasi runtime integrasi Azure-SSIS baru atau yang sudah ada dengan runtime integrasi yang dihost sendiri sebagai proksi di portal atau aplikasi pabrik data Anda. Namun, sebelum melakukannya, jika runtime integrasi Azure-SSIS yang ada sudah berjalan, Anda dapat menghentikan, mengedit, lalu memulai ulang.

  1. Di panel penyetelan runtime integrasi, lewati Pengaturan umum dan Pengaturan penyebaran dengan memilih tombol Lanjutkan.

  2. Di halaman Pengaturan tingkat lanjut, lakukan langkah-langkah berikut ini:

    1. Pilih Siapkan Integration Runtime yang Dihost Sendiri sebagai proksi untuk kotak centang Integration Runtime Azure-SSIS Anda.

    2. Di menu drop-downIntegration Runtime yang Dihost Sendiri, pilih IR yang dihost sendiri yang sudah ada sebagai proksi untuk runtime integrasi Azure-SSIS.

    3. Di menu drop-down Layanan tertaut penyimpanan penahapan, pilih layanan tertaut penyimpanan Azure Blob Storage yang ada atau buat penahapan baru.

    4. Di kotak Jalur Penahapan, tentukan kontainer blob di akun Microsoft Azure Storage pilihan Anda atau biarkan kosong untuk menggunakan default untuk penahapan.

    5. Pilih tombol Lanjutkan.

    Advanced settings with a self-hosted IR

Anda juga dapat mengonfigurasi runtime integrasi Azure-SSIS baru atau yang sudah ada dengan runtime integrasi yang dihost sendiri sebagai proksi dengan menggunakan 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

Aktifkan paket SSIS untuk menggunakan proksi

Dengan menggunakan SSDT terbaru sebagai ekstensi Proyek SSIS untuk Visual Studio atau penginstal mandiri, Anda dapat mencari properti ConnectByProxy baru di pengelola koneksi untuk komponen aliran data yang didukung dan properti ExecuteOnProxy di Execute SQL/Process Tasks.

Saat Anda mendesain paket baru yang berisi Tugas Alur Data dengan komponen yang mengakses data di tempat, Anda bisa mengaktifkan ConnectByProxy properti dengan mengaturnya ke True di panel Properti manajer koneksi yang relevan.

Saat Anda mendesain paket baru yang berisi Execute SQL/Process Tasks yang berjalan lokal, Anda dapat mengaktifkan properti ExecuteOnProxy dengan mengaturnya ke True di panel Properti dari tugas yang relevan itu sendiri.

Enable ConnectByProxy/ExecuteOnProxy property

Anda juga dapat mengaktifkan ConnectByProxy/ExecuteOnProxy properti saat menjalankan paket yang ada, tanpa harus mengubahnya satu per satu secara manual. Ada dua opsi:

  • Opsi A:Buka, bangun ulang, dan sebarkan ulang proyek yang berisi paket-paket tersebut dengan SSDT terbaru untuk dijalankan pada runtime integrasi Azure-SSIS Anda. Anda kemudian dapat mengaktifkan ConnectByProxy properti dengan mengaturnya ke True untuk manajer koneksi yang relevan yang muncul pada tab Manajer Koneksi dari jendela pop-up Jalankan Paket saat Anda menjalankan paket dari SSMS.

    Enable ConnectByProxy/ExecuteOnProxy property2

    Anda kemudian dapat mengaktifkan ConnectByProxy properti dengan mengaturnya ke True untuk manajer koneksi yang relevan yang muncul pada tab Pengelola Sambungan dari Jalankan aktivitas Paket SSIS saat Anda menjalankan paket di alur Azure Data Factory.

    Enable ConnectByProxy/ExecuteOnProxy property3

  • Opsi B: Sebarkan ulang proyek yang berisi paket untuk dijalankan pada runtime integrasi SSIS Anda. Anda kemudian dapat mengaktifkan properti ConnectByProxy/ExecuteOnProxy dengan menyediakan jalur properti mereka, \Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy]/\Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy]/\Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy], dan mengaturnya ke True sebagai penggantian properti pada tab Tingkat Lanjut dari jendela pop-up Jalankan Paket saat Anda menjalankan paket dari SSMS.

    Enable ConnectByProxy/ExecuteOnProxy property4

    Anda juga dapat mengaktifkan properti ConnectByProxy/ExecuteOnProxy dengan menyediakan jalur properti mereka, \Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy]/\Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy]/\Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy], dan mengaturnya ke True sebagai penggantian properti pada tab Penggantian Properti dari aktivitas Jalankan Paket SSIS saat Anda menjalankan paket di pipeline Data Factory.

    Enable ConnectByProxy/ExecuteOnProxy property5

Men-debug tugas lokal dan tugas penahapan cloud

Pada IR yang dihost sendiri, Anda dapat menemukan log runtime di folder C:\ProgramData\SSISTelemetry dan log eksekusi tugas staging lokal dan Execute SQL/Process Tasks di folder C:\ProgramData\SSISTelemetry\ExecutionLog. Anda dapat mencari log eksekusi tugas penahapan cloud di SSISDB Anda, jalur file pencatatan tertentu, atau Azure Monitor tergantung pada apakah Anda menyimpan paket Anda di SSISDB, mengaktifkan integrasi Azure Monitor,dll. Anda juga dapat menemukan ID unik tugas penahapan di log eksekusi tugas penahapan cloud.

Unique ID of the first staging task

Jika Anda telah menaikkan tiket dukungan pelanggan, Anda dapat memilih tombol Kirim log pada tab Diagnostik Manajer Konfigurasi Microsoft Integration Runtime yang terinstal di runtime integrasi yang dihost sendiri untuk mengirim log operasi/eksekusi terbaru untuk kami selidiki.

Penagihan untuk tugas lokal dan tugas penahapan cloud

Tugas staging lokal dan Execute SQL/Process Tasks yang berjalan pada IR yang dihost sendiri ditagih secara terpisah, sama seperti aktivitas pergerakan data yang berjalan pada IR yang dihost sendiri ditagih. Ini ditentukan dalam artikel harga alur data Azure Data Factory.

Tugas penahapan cloud yang berjalan di runtime integrasi Azure-SSIS Anda tidak ditagih secara terpisah, tetapi runtime integrasi Azure-SSIS Anda yang sedang berjalan ditagih seperti yang ditentukan dalam artikel harga runtime integrasi Azure-SSIS.

Terapkan TLS 1.2

Jika Anda perlu mengakses penyimpanan data yang telah dikonfigurasi untuk hanya menggunakan kriptografi terkuat/protokol jaringan paling aman (TLS 1.2), termasuk Penyimpanan Blob Azure untuk pementasan, Anda harus mengaktifkan hanya TLS 1.2 dan menonaktifkan versi SSL/TLS yang lebih lama di waktu yang sama di IR yang dihost sendiri. Untuk melakukannya, Anda dapat mengunduh dan menjalankan skrip main.cmd yang kami sediakan di folder Skrip Penyiapan Kustom/Skenario Pengguna/TLS 1.2 dari kontainer blob pratinjau publik kami. Menggunakan Azure Storage Explorer,Anda dapat menyambungkan ke kontainer blob pratinjau publik kami dengan memasukkan SAS URI berikut:

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

Batasan saat ini

  • Hanya komponen aliran data yang terinstal di runtime integrasi Azure-SSIS Standard Edition, kecuali komponen Hadoop/HDFS/DQS, yang saat ini didukung, lihat semua komponen bawaan/yang telah diinstal sebelumnya di runtime integrasi Azure-SSIS .
  • Hanya komponen aliran data kustom/pihak ketiga yang ditulis dalam kode terkelola (.NET Framework) yang saat ini didukung - Komponen yang ditulis dalam kode native (C++) saat ini tidak didukung.
  • Mengubah nilai variabel dalam tugas penahapan lokal dan cloud saat ini tidak didukung.
  • Mengubah nilai variabel tipe objek dalam tugas penahapan lokal tidak akan tercermin dalam tugas lain.
  • ParameterMapping di Sumber OLEDB saat ini tidak didukung. Sebagai solusinya, silakan gunakan SQL Command From Variable sebagai AccessMode dan gunakan Expression untuk memasukkan variabel/parameter Anda dalam perintah SQL. Sebagai gambaran, lihat paket ParameterMappingSample.dtsx yang dapat ditemukan di folder SelfHostedIRProxy/Limitations dari kontainer blob pratinjau publik kami. Menggunakan Azure Storage Explorer, Anda dapat terhubung ke kontainer pratinjau publik kami dengan memasukkan SAS URI di atas.

Setelah Anda mengonfigurasikan IR yang dihost sendiri sebagai proksi untuk Azure-SSIS IR, Anda dapat menyebarkan dan menjalankan paket untuk mengakses data dan atau menjalankan pernyataan/proses SQL lokal sebagai Jalankan aktivitas Paket SSIS di alur Data Factory. Untuk mempelajarinya, lihat Jalankan Paket SSIS sebagai aktivitas Jalankan Paket SSIS di alur Azure Data Factory. Lihat juga blog kami: Jalankan SQL Apa Saja di Mana Saja dalam 3 Langkah Mudah dengan SSIS di Azure Data Factory dan Jalankan Proses Apa Saja di Mana Saja dalam 3 Langkah Mudah dengan SSIS di Azure Data Factory.