Konfigurasikan IR yang dihosting sendiri sebagai proksi untuk Azure-SSIS IR

BERLAKU UNTUK: Azure Data Factory Azure Synapse Analytics

Petunjuk

Data Factory di Microsoft Fabric adalah generasi Azure Data Factory berikutnya, dengan arsitektur yang lebih sederhana, AI bawaan, dan fitur baru. Jika Anda baru menggunakan integrasi data, mulailah dengan Fabric Data Factory. Beban kerja ADF yang ada dapat ditingkatkan ke Fabric untuk mengakses kemampuan baru di seluruh ilmu data, analitik real time, dan pelaporan.

Artikel ini menjelaskan cara menjalankan paket Layanan Integrasi SQL Server (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 tugas secara lokal tanpa harus mengaitkan lingkungan kerja integrasi Azure-SSIS Anda ke dalam 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:

  • Penahapan di lokasi: Tugas ini menjalankan komponen aliran data Anda yang tersambung ke penyimpanan data on-premises di IR yang di-host 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 terhubung ke penyimpanan data lokal pada Azure-SSIS IR Anda. Ini memindahkan data dari area staging di Azure Blob Storage milik Anda ke penyimpanan data cloud atau sebaliknya.

Jika Tugas Aliran Data Anda memindahkan data dari di tempat ke awan, maka tugas penahapan pertama dan kedua adalah tugas penahapan di tempat dan di awan. 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 Integration Runtime yang dikelola sendiri

Untuk menggunakan fitur ini, Anda pertama-tama membuat Data Factory dan menyiapkan runtime integrasi Azure-SSIS di dalamnya. Jika Anda belum melakukannya, ikuti petunjuk dalam menyiapkan runtime integrasi Azure SSIS.

Anda kemudian menyiapkan IR yang di-host sendiri di pabrik data yang sama tempat IR Azure-SSIS Anda dikonfigurasi. Untuk melakukannya, lihat Buat runtime integrasi yang dihosting sendiri.

Terakhir, Anda mengunduh dan menginstal versi terbaru dari IR yang di-host sendiri serta driver dan runtime tambahan, di mesin lokal atau mesin virtual Azure (VM), seperti 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.

    Node IR yang dihosting sendiri dengan versi 5.28.0 ke atas, 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 Penyematan dan Penghubungan Objek Database (OLEDB), Koneksi Basis Data Terbuka (ODBC), atau konektor ADO.NET dalam paket Anda, unduh dan pasang driver yang relevan pada mesin yang sama di mana IR yang dihosting sendiri terinstal, 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 dengan tempat IR yang Anda host sendiri diinstal, jika Anda belum melakukannya.

  • Jika Anda belum melakukannya, unduh dan instal Visual C++ (VC) runtime versi 64-bit pada mesin yang sama di mana IR yang di-host 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 IR yang dihost sendiri, buka Kebijakan Keamanan Lokal>Kebijakan Lokal>Penetapan Hak Pengguna, lalu lakukan hal berikut:

  1. Tetapkan kebijakan Sesuaikan kuota memori untuk proses dan Ganti token tingkat proses ke akun layanan IR yang dihosting sendiri. Ini akan terjadi secara otomatis, ketika Anda menginstal Integration Runtime (IR) 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 dengan tempat Integrasi Runtime (IR) 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 Azure-SSIS IR Anda sebagai gantinya untuk mengambil kredensial akses ke Azure Blob Storage Anda.
  • Untuk Metode autentikasi, pilih Kunci akun, SAS URI, Perwakilan Layanan, Identitas Terkelola, atau Identitas Terkelola yang Ditetapkan Pengguna.

Petunjuk

Jika instans pabrik data Anda menggunakan Git, layanan tertaut tanpa autentikasi kunci tidak akan segera dipublikasikan, yang berarti Anda tidak dapat menyimpan konfigurasi runtime integrasi yang bergantung pada layanan tertaut di fitur-branch Anda. Mengautentikasi dengan kunci akun atau SAS URI akan langsung mempublikasikan layanan yang terkait.

Petunjuk

Jika Anda memilih metode Service Principal, berikan kepada Service Principal Anda setidaknya peran Storage Blob Data Contributor. Untuk informasi selengkapnya, lihat artikel konektor Azure Blob Storage. Jika Anda memilih metode Identitas Terkelola/Identitas Terkelola yang Ditetapkan Pengguna, berikan identitas terkelola sistem/pengguna tertentu yang disebutkan untuk ADF Anda peran yang sesuai 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.

Siapkan layanan terkait penyimpanan Azure Blob untuk penahapan

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 kotak centang Siapkan Integration Runtime yang Dihost Sendiri sebagai proksi untuk Integration Runtime Azure-SSIS Anda.

    2. Di menu dropdown Self-Hosted Integration Runtime, pilih IR sendiri dihost yang sudah ada sebagai proksi untuk Azure-SSIS IR.

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

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

    5. Pilih tombol Lanjutkan.

    Pengaturan tingkat lanjut dengan IR yang dihost sendiri

Anda juga dapat mengonfigurasi Azure-SSIS IR baru atau yang sudah ada dengan IR yang di-host sendiri sebagai proksi 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.

Aktifkan property ConnectByProxy/ExecuteOnProxy

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.

    Aktifkan property2 ConnectByProxy/ExecuteOnProxy

    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.

    Aktifkan ConnectByProxy/ExecuteOnProxy properti3

  • 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.

    Aktifkan property4 ConnectByProxy/ExecuteOnProxy

    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.

    Aktifkan properti ConnectByProxy/ExecuteOnProxy property5

Memeriksa tugas di lokasi 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.

ID unik dari tugas penahapan pertama

Jika Anda telah mengajukan tiket dukungan pelanggan, Anda dapat memilih tombol Kirim log pada tab Diagnostik di Microsoft Integration Runtime Configuration Manager yang di-host sendiri untuk mengirim log operasi/eksekusi terbaru kepada kami untuk kami lakukan penyelidikan.

Penagihan untuk tugas lokal dan tugas penahapan cloud

Tugas staging lokal dan Tugas Eksekusi SQL/Proses yang berjalan pada IR yang di-host sendiri ditagih secara terpisah, sama seperti aktivitas pergerakan data yang berjalan pada IR yang di-host sendiri. Ini ditentukan dalam artikel harga alur data Azure Data Factory.

Tugas penahapan cloud yang dijalankan di Azure-SSIS IR Anda tidak ditagih secara terpisah, tetapi Azure-SSIS IR yang sedang berjalan ditagih sesuai yang ditentukan dalam artikel harga Azure-SSIS IR.

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 Azure Blob Storage untuk staging, Anda harus mengaktifkan hanya TLS 1.2 dan menonaktifkan versi SSL/TLS yang lebih lama secara bersamaan pada IR self-hosted Anda. Untuk melakukannya, Anda dapat mengunduh dan menjalankan skrip main.cmd dari https://github.com/Azure/Azure-DataFactory/tree/main/SamplesV2/SQLServerIntegrationServices/publicpreview/CustomSetupScript/UserScenarios/TLS%201.2.

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 penyusunan di tempat 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 di-host sendiri sebagai proksi untuk Azure-SSIS IR, Anda dapat mendeklarasikan dan menjalankan paket untuk mengakses data, atau menjalankan pernyataan/proses SQL lokal sebagai aktivitas Jalankan Paket SSIS dalam alur Data Factory. Untuk mempelajarinya, lihat Menjalankan paket SSIS sebagai aktivitas Eksekusi Paket SSIS dalam alur kerja 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.