Mengaktifkan koneksi back-end dan front-end Azure Private Link

Artikel ini merangkum penggunaan Azure Private Link untuk mengaktifkan konektivitas privat antara pengguna dan ruang kerja Databricks mereka, dan juga antara kluster pada bidang komputasi klasik dan layanan inti pada sarana kontrol dalam infrastruktur ruang kerja Databricks.

Fitur ini tidak mengubah akses jaringan untuk gudang SQL tanpa server. Namun, ada fitur terpisah untuk mengontrol akses jaringan dari gudang SQL ke sumber data. Lihat Mengonfigurasi konektivitas privat dari komputasi tanpa server.

Gambaran Umum

Private Link menyediakan konektivitas privat dari Azure VNets dan jaringan lokal ke layanan Azure tanpa mengekspos lalu lintas ke jaringan publik. Azure Databricks mendukung jenis koneksi Private Link berikut:

  • Private Link front-end, juga dikenal sebagai pengguna ke ruang kerja: Koneksi Private Link front-end memungkinkan pengguna untuk terhubung ke aplikasi web Azure Databricks, REST API, dan Databricks Koneksi API melalui titik akhir antarmuka VNet. Koneksi front-end juga digunakan oleh integrasi JDBC/ODBC dan Power BI. Lalu lintas jaringan untuk koneksi Private Link front-end antara VNet transit dan sarana kontrol Azure Databricks ruang kerja melintasi jaringan backbone Microsoft.
  • Private Link back-end, juga dikenal sebagai sarana komputasi untuk mengontrol sarana: Kluster Databricks Runtime di VNet yang dikelola pelanggan ( bidang komputasi) terhubung ke layanan inti ruang kerja Azure Databricks ( sarana kontrol) di akun cloud Azure Databricks. Ini memungkinkan konektivitas privat dari kluster ke titik akhir relai konektivitas kluster yang aman dan titik akhir REST API.
  • Titik akhir privat autentikasi browser: Untuk mendukung koneksi front-end privat ke aplikasi web Azure Databricks untuk klien yang tidak memiliki konektivitas internet publik, Anda harus menambahkan titik akhir privat autentikasi browser untuk mendukung panggilan balik masuk akses menyeluruh (SSO) ke aplikasi web Azure Databricks dari ID Microsoft Entra (sebelumnya Azure Active Directory). Jika Anda mengizinkan koneksi dari jaringan Anda ke internet publik, menambahkan titik akhir privat autentikasi browser disarankan tetapi tidak diperlukan. Titik akhir privat autentikasi browser adalah koneksi privat dengan jenis browser_authenticationsub-sumber daya .

Jika Anda menerapkan Private Link untuk koneksi front-end dan back-end, Anda dapat secara opsional mengamanatkan konektivitas privat untuk ruang kerja, yang berarti Azure Databricks menolak koneksi apa pun melalui jaringan publik. Jika Anda menolak untuk menerapkan jenis koneksi front-end atau back-end, Anda tidak dapat memberlakukan persyaratan ini.

Sebagian besar artikel ini adalah tentang membuat ruang kerja baru, tetapi Anda dapat mengaktifkan atau menonaktifkan Private Link di ruang kerja yang sudah ada. Lihat Mengaktifkan atau menonaktifkan Azure Private Link di ruang kerja yang sudah ada.

Terminologi

Tabel berikut menjelaskan terminologi penting.

Terminologi Deskripsi
Tautan Privat Azure Teknologi Azure yang menyediakan konektivitas privat dari Azure VNets dan jaringan lokal ke layanan Azure tanpa mengekspos lalu lintas ke jaringan publik.
Layanan Azure Private Link Layanan yang dapat menjadi tujuan untuk koneksi Private Link. Setiap instans sarana kontrol Azure Databricks menerbitkan layanan Azure Private Link.
Titik akhir privat Azure Titik akhir privat Azure memungkinkan koneksi privat antara VNet dan layanan Private Link. Untuk konektivitas front-end dan back-end, target titik akhir privat Azure adalah sarana kontrol Azure Databricks.

Untuk informasi umum tentang titik akhir privat, lihat artikel Microsoft Apa itu titik akhir privat?.

Pilih penyebaran standar atau yang disederhanakan

Ada dua jenis penyebaran Private Link yang didukung Azure Databricks, dan Anda harus memilih satu:

  • Penyebaran standar (disarankan): Untuk keamanan yang ditingkatkan, Databricks menyarankan Anda menggunakan titik akhir privat terpisah untuk koneksi front-end Anda dari VNet transit terpisah. Anda dapat mengimplementasikan koneksi Private Link front-end dan back-end atau hanya koneksi back-end. Gunakan VNet terpisah untuk merangkum akses pengguna, terpisah dari VNet yang Anda gunakan untuk sumber daya komputasi Anda di bidang komputasi klasik. Buat titik akhir Private Link terpisah untuk akses back-end dan front-end. Ikuti instruksi di Mengaktifkan Azure Private Link sebagai penyebaran standar.
  • Penyebaran yang disederhanakan: Beberapa organisasi tidak dapat menggunakan penyebaran standar karena berbagai alasan kebijakan jaringan, seperti melarang lebih dari satu titik akhir privat atau mencegah VNet transit terpisah. Anda dapat menggunakan penyebaran Private Link yang disederhanakan secara alternatif. Tidak ada VNet terpisah yang memisahkan akses pengguna dari VNet yang Anda gunakan untuk sumber daya komputasi Anda di bidang komputasi klasik. Sebagai gantinya, subnet transit di VNet bidang komputasi digunakan untuk akses pengguna. Hanya ada satu titik akhir Private Link. Biasanya, konektivitas front-end dan back-end dikonfigurasi. Anda hanya dapat mengonfigurasi koneksi back-end secara opsional. Anda tidak dapat memilih untuk hanya menggunakan koneksi front-end dalam jenis penyebaran ini. Ikuti instruksi di Mengaktifkan Azure Private Link sebagai penyebaran yang disederhanakan.

Persyaratan

Langganan Azure

Ruang kerja Azure Databricks Anda harus berada di tingkat Premium atau Enterprise.

Arsitektur jaringan ruang kerja Azure Databricks

  • Ruang kerja Azure Databricks Anda harus menggunakan injeksi VNet untuk menambahkan koneksi Private Link apa pun (bahkan koneksi khusus ujung depan).
  • Jika Anda menerapkan koneksi Private Link back-end, ruang kerja Azure Databricks Anda harus menggunakan konektivitas kluster yang aman (SCC / Tanpa IP Publik / NPIP).
  • Anda memerlukan VNet yang memenuhi persyaratan injeksi VNet.
    • Seperti yang dibahas dalam artikel injeksi VNet utama, Anda harus menentukan dua subnet (disebut di UI sebagai subnet publik dan subnet privat). Rentang IP VNet dan subnet yang Anda gunakan untuk Azure Databricks menentukan jumlah maksimum node kluster yang dapat Anda gunakan sekaligus. Pilih nilai-nilai ini dengan hati-hati.
    • Untuk menerapkan Private Link front-end, Private Link back-end, atau keduanya, VNet ruang kerja Anda memerlukan subnet ketiga yang berisi titik akhir Private Link dan rentang alamat IP-nya tidak boleh tumpang tindih dengan rentang subnet ruang kerja Anda yang lain. Artikel ini mengacu pada subnet ketiga ini sebagai subnet titik akhir privat. Contoh dan cuplikan layar mengasumsikan nama private-linksubnet . Ini bisa sesingkat rentang /27CIDR . Jangan tentukan aturan NSG apa pun untuk subnet yang berisi titik akhir privat.
    • Jika Anda menggunakan UI untuk membuat objek, Anda perlu membuat jaringan dan subnet secara manual sebelum membuat ruang kerja Azure Databricks. Jika Anda ingin menggunakan templat, templat yang disediakan Azure Databricks membuat VNet dan subnet yang sesuai untuk Anda, termasuk dua subnet reguler ditambah subnet lain untuk titik akhir privat.
  • Jika Anda menggunakan atau berencana menggunakan grup keamanan jaringan atau firewall di sekitar VNet Anda untuk mengontrol egress, Anda harus mengizinkan port 443, 6666, 3306, dan 8443-8451 pada subnet titik akhir privat untuk keluarnya koneksi ke sarana kontrol Azure Databricks, termasuk relai konektivitas kluster yang aman. Jika Anda mengaktifkan kebijakan Grup Keamanan Jaringan pada titik akhir privat, Anda juga perlu mengizinkan port 443, 6666, dan 8443-8451 untuk masuk dalam grup keamanan jaringan pada subnet tempat titik akhir privat disebarkan.

Arsitektur jaringan koneksi front-end

Hanya untuk Private Link front-end, bagi pengguna untuk mengakses ruang kerja dari jaringan lokal, Anda harus menambahkan konektivitas privat dari jaringan tersebut ke jaringan Azure Anda. Tambahkan konektivitas ini sebelum mengonfigurasi Private Link. Detailnya bervariasi berdasarkan apakah Anda memilih penyebaran standar Private Link atau penyebaran yang disederhanakan.

  • Untuk penyebaran standar, Anda akan membuat atau menggunakan VNet transit yang ada, kadang-kadang disebut VNet bastion atau hub VNet. VNet ini harus dapat dijangkau dari lingkungan pengguna lokal menggunakan Expressroute atau koneksi gateway VPN. Untuk Private Link front-end, Databricks merekomendasikan untuk membuat VNet terpisah untuk konektivitas Anda ke sarana kontrol, daripada berbagi VNet ruang kerja. Perhatikan bahwa VNet transit dan subnetnya dapat berada di wilayah, zona, dan grup sumber daya yang sama dengan VNet ruang kerja Anda dan subnetnya, tetapi tidak harus cocok. Buat grup sumber daya untuk VNet transit terpisah dan gunakan zona DNS privat yang berbeda untuk titik akhir privat tersebut. Jika Anda menggunakan dua titik akhir privat terpisah, Anda tidak dapat berbagi zona DNS.
  • Untuk penyebaran yang disederhanakan, Anda membuat subnet transit di VNet ruang kerja Anda. Dalam penyebaran ini, subnet transit tidak memiliki titik akhir privat terpisah. Subnet transit di VNet ruang kerja menggunakan satu titik akhir privat untuk koneksi back-end dan front-end.

Izin pengguna Azure

Sebagai pengguna Azure, Anda harus memiliki izin baca/tulis yang cukup untuk:

  • Menyediakan ruang kerja Azure Databricks baru.
  • Buat titik akhir Azure Private Link di VNet ruang kerja Anda dan juga (untuk penggunaan front-end) VNet transit Anda.

Jika pengguna yang membuat titik akhir privat untuk VNet transit tidak memiliki izin pemilik/kontributor untuk ruang kerja, maka pengguna terpisah dengan izin pemilik/kontributor untuk ruang kerja harus menyetujui permintaan pembuatan titik akhir privat secara manual.

Anda bisa mengaktifkan Private Link di ruang kerja yang sudah ada. Peningkatan mewajibkan ruang kerja menggunakan VNet Injection, konektivitas kluster yang aman, dan tingkat harga Premium. Anda bisa memperbarui untuk mengamankan konektivitas kluster dan ke tingkat harga Premium selama pembaruan.

Anda dapat menggunakan templat ARM atau azurerm penyedia Terraform versi 3.41.0+. Anda dapat menggunakan portal Azure untuk menerapkan templat kustom dan mengubah parameter di UI. Namun, tidak ada dukungan antarmuka pengguna Portal Azure untuk peningkatan ini pada instans ruang kerja Azure Databricks itu sendiri.

Jika ada yang salah dengan peningkatan dan Anda dapat mengulangi langkah pembaruan ruang kerja tetapi sebaliknya mengatur bidang untuk menonaktifkan Private Link.

Meskipun fokus bagian ini adalah mengaktifkan Private Link pada ruang kerja yang ada, Anda dapat menonaktifkannya di ruang kerja yang ada dengan menggunakan panggilan pembaruan ruang kerja yang sama dengan templat ARM atau pembaruan Terraform. Lihat langkah 4: Terapkan pembaruan ruang kerja untuk detailnya.

Langkah 1: Baca persyaratan dan dokumentasi di halaman ini

Sebelum Anda mencoba peningkatan ke Private Link, ada konsep dan persyaratan penting yang harus Anda baca:

  1. Baca artikel ini termasuk konsep dan persyaratan sebelum melanjutkan.
  2. Tentukan apakah Anda ingin menggunakan penyebaran standar atau penyebaran yang disederhanakan.
  3. Pada halaman untuk penyebaran standar atau penyebaran yang disederhanakan (pendekatan apa pun yang Anda gunakan), tinjau halaman dengan cermat termasuk berbagai skenario. Temukan skenario yang cocok dengan kasus penggunaan Anda. Tuliskan nilai mana yang ingin Anda gunakan untuk publicNetworkAccess dan requiredNsgRules. Untuk konfigurasi yang direkomendasikan dari Private Link front-end dan back-end dengan konektivitas front-end terkunci, gunakan pengaturan publicNetworkAccess=Disabled dan requiredNsgRules=NoAzureDatabricksRules

Langkah 2: Hentikan semua sumber daya komputasi

Sebelum mencoba peningkatan ini, Anda harus menghentikan semua sumber daya komputasi seperti kluster, kumpulan, atau gudang SQL klasik. Tidak ada sumber daya komputasi ruang kerja yang dapat berjalan atau upaya peningkatan gagal. Databricks merekomendasikan perencanaan waktu peningkatan untuk waktu henti.

Penting

Jangan mencoba memulai sumber daya komputasi apa pun selama pembaruan. Jika Azure Databricks menentukan bahwa sumber daya komputasi dimulai (atau masih dimulai), Azure Databricks mengakhirinya setelah pembaruan.

Langkah 3: Membuat subnet dan titik akhir privat

  1. Tambahkan subnet ke VNet ruang kerja Anda untuk titik akhir privat back-end Anda.

  2. Buka artikel untuk penyebaran standar atau penyebaran yang disederhanakan (pendekatan apa pun yang Anda gunakan).

    Ikuti instruksi di halaman tersebut untuk membuat titik akhir privat yang cocok dengan jenis penyebaran Anda.

  3. Buat semua titik akhir privat Anda untuk dukungan back-end sebelum melakukan pembaruan ruang kerja.

  4. Untuk akses UI, buat titik akhir privat dengan sub-sumber databricks_ui_api daya untuk mendukung SSO dari VNet transit Anda. Jika Anda memiliki lebih dari satu VNet transit yang mengakses ruang kerja untuk akses front-end, buat beberapa titik akhir privat dengan sub-sumber daya databricks_ui_api.

Langkah 4: Terapkan pembaruan ruang kerja

Alih-alih membuat ruang kerja baru, Anda perlu menerapkan pembaruan ruang kerja.

Anda harus memperbarui publicNetworkAccess parameter dan requiredNsgRules ke nilai yang Anda pilih di langkah sebelumnya.

Gunakan salah satu metode ini:

  • Menggunakan antarmuka pengguna portal Azure (tanpa templat)

  • Menerapkan templat ARM yang diperbarui menggunakan portal Azure

  • Menerapkan pembaruan menggunakan Terraform

    Menggunakan antarmuka pengguna portal Azure (tanpa templat)

    1. Buka instans Azure Databricks Service Anda di portal Azure.

    2. Di navigasi kiri di bawah Pengaturan, klik Jaringan.

    3. Atur Izinkan Akses Jaringan Publik dan Aturan NSG yang Diperlukan ke nilai yang sesuai berdasarkan kasus penggunaan Anda. Lihat Langkah 1: Baca persyaratan dan dokumentasi di halaman ini.

      Catatan

      Untuk mengaktifkan Azure Private Link, ruang kerja harus mengaktifkan konektivitas kluster yang aman (terkadang disebut Tanpa IP Publik). Jika belum diaktifkan, pada saat yang sama dengan pembaruan Private Link, Anda dapat memilih untuk mengaktifkan konektivitas kluster yang aman dengan mengatur Tidak Ada IP Publik ke True. Namun, Azure Databricks merekomendasikan untuk mengaktifkan konektivitas kluster yang aman sebagai langkah terpisah sebelum mengaktifkan Private Link sehingga Anda dapat memvalidasi keberhasilan secara terpisah.

    4. Klik Simpan.

    Pembaruan jaringan mungkin membutuhkan waktu lebih dari 15 menit untuk diselesaikan.

Menerapkan templat ARM yang diperbarui menggunakan portal Azure

Catatan

Jika grup sumber daya terkelola Anda memiliki nama kustom, Anda harus mengubah templat yang sesuai. Hubungi tim akun Azure Databricks Anda untuk informasi selengkapnya.

  1. Salin templat ARM pemutakhiran berikut JSON:

    {
       "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
       "contentVersion": "1.0.0.0",
       "parameters": {
           "location": {
               "defaultValue": "[resourceGroup().location]",
               "type": "String",
               "metadata": {
                   "description": "Location for all resources."
               }
           },
           "workspaceName": {
               "type": "String",
               "metadata": {
                   "description": "The name of the Azure Databricks workspace to create."
               }
           },
           "apiVersion": {
               "defaultValue": "2023-02-01",
               "allowedValues": [
                "2018-04-01",
                   "2020-02-15",
                   "2022-04-01-preview",
                   "2023-02-01"
               ],
               "type": "String",
               "metadata": {
                   "description": "2018-03-15 for 'full region isolation control plane' and 2020-02-15 for 'FedRAMP certified' regions"
               }
           },
           "publicNetworkAccess": {
               "defaultValue": "Enabled",
               "allowedValues": [
                   "Enabled",
                   "Disabled"
               ],
               "type": "String",
               "metadata": {
                   "description": "Whether the workspace allows access from the public Internet"
               }
           },
           "requiredNsgRules": {
               "defaultValue": "AllRules",
               "allowedValues": [
                   "AllRules",
                   "NoAzureDatabricksRules"
               ],
               "type": "String",
               "metadata": {
                   "description": "The security rules that are applied to the security group of the Vnet"
               }
           },
           "enableNoPublicIp": {
               "defaultValue": true,
               "type": "Bool"
           },
           "pricingTier": {
               "defaultValue": "premium",
               "allowedValues": [
                   "premium",
                   "standard",
                   "trial"
               ],
               "type": "String",
               "metadata": {
                   "description": "The pricing tier of workspace."
               }
           },
           "privateSubnetName": {
               "defaultValue": "private-subnet",
               "type": "String",
               "metadata": {
                   "description": "The name of the private subnet."
               }
           },
           "publicSubnetName": {
               "defaultValue": "public-subnet",
               "type": "String",
               "metadata": {
                   "description": "The name of the public subnet."
               }
           },
           "vnetId": {
               "type": "String",
               "metadata": {
                   "description": "The virtual network Resource ID."
               }
           }
       },
       "variables": {
           "managedResourceGroupName": "[concat('databricks-rg-', parameters('workspaceName'), '-', uniqueString(parameters('workspaceName'), resourceGroup().id))]",
           "managedResourceGroupId": "[subscriptionResourceId('Microsoft.Resources/resourceGroups', variables('managedResourceGroupName'))]"
        },
        "resources": [
           {
               "type": "Microsoft.Databricks/workspaces",
               "apiVersion": "[parameters('apiVersion')]",
               "name": "[parameters('workspaceName')]",
               "location": "[parameters('location')]",
               "sku": {
                   "name": "[parameters('pricingTier')]"
               },
               "properties": {
                   "ManagedResourceGroupId": "[variables('managedResourceGroupId')]",
                   "publicNetworkAccess": "[parameters('publicNetworkAccess')]",
                   "requiredNsgRules": "[parameters('requiredNsgRules')]",
                   "parameters": {
                       "enableNoPublicIp": {
                           "value": "[parameters('enableNoPublicIp')]"
                       },
                       "customVirtualNetworkId": {
                           "value": "[parameters('vnetId')]"
                       },
                       "customPublicSubnetName": {
                           "value": "[parameters('publicSubnetName')]"
                       },
                       "customPrivateSubnetName": {
                           "value": "[parameters('privateSubnetName')]"
                       }
                   }
               }
           }
       ]
    }
    
    1. Buka halaman penyebaran kustom portal Azure.

    2. Klik Buat templat Anda sendiri di editor.

    3. Tempelkan di JSON untuk templat yang Anda salin.

    4. Klik Simpan.

    5. Untuk mengaktifkan Private Link, atur publicNetworkAccess dan requiredNsgRules parameter sesuai dengan kasus penggunaan Anda.

      Untuk menonaktifkan Private Link, atur publicNetworkAccess ke true dan atur requiredNsgRules ke AllRules.

    6. Untuk bidang lain, gunakan parameter yang sama dengan yang Anda gunakan untuk membuat ruang kerja, seperti langganan, wilayah, nama ruang kerja, nama subnet, ID sumber daya dari VNet yang ada.

      Penting

      Nama grup sumber daya, nama ruang kerja, dan nama subnet harus identik dengan ruang kerja yang ada sehingga perintah ini memperbarui ruang kerja yang ada daripada membuat ruang kerja baru.

    7. Klik Tinjau + Buat.

    8. Jika tidak ada masalah validasi, klik Buat.

    Pembaruan jaringan mungkin membutuhkan waktu lebih dari 15 menit untuk diselesaikan.

Menerapkan pembaruan menggunakan Terraform

Untuk ruang kerja yang dibuat dengan Terraform, Anda dapat memperbarui ruang kerja untuk menggunakan Private Link.

Penting

Anda harus menggunakan terraform-provider-azurerm versi 3.41.0 atau yang lebih baru, jadi tingkatkan versi penyedia Terraform Anda sesuai kebutuhan. Versi sebelumnya mencoba membuat ulang ruang kerja jika Anda mengubah salah satu pengaturan ini.

Langkah-langkah tingkat tinggi adalah:

  1. Ubah pengaturan ruang kerja berikut:

    • public_network_access_enabled: Atur ke true (Diaktifkan) atau false (Dinonaktifkan)
    • network_security_group_rules_required: Atur ke AllRules atau NoAzureDatabricksRules.

    Pembaruan jaringan mungkin membutuhkan waktu lebih dari 15 menit untuk diselesaikan.

  2. Buat titik akhir privat Anda.

Untuk panduan terperinci tentang cara mengaktifkan Private Link dan membuat titik akhir privat:

Pembaruan jaringan mungkin membutuhkan waktu lebih dari 15 menit untuk diselesaikan.

Langkah 5: Uji autentikasi SSO pengguna dan konektivitas back-end

Ikuti halaman penyebaran utama Anda untuk detail tentang cara:

  • Uji autentikasi SSO pengguna ke ruang kerja Anda.
  • Menguji koneksi Private Link back-end (diperlukan untuk koneksi back-end)

Langkah 6: Memvalidasi pembaruan

  1. Buka instans Azure Databricks Service Anda di portal Azure.
  2. Di navigasi kiri di bawah Pengaturan, klik Jaringan.
  3. Konfirmasikan bahwa nilai untuk Izinkan Akses Jaringan Publik cocok dengan nilai yang Anda tetapkan.
  4. Konfirmasikan bahwa nilai untuk Aturan NSG yang Diperlukan cocok dengan nilai yang Anda tetapkan.

Pemulihan kegagalan

Jika pembaruan ruang kerja gagal, ruang kerja mungkin ditandai sebagai status Gagal , yang berarti bahwa ruang kerja tidak dapat melakukan operasi komputasi. Untuk memulihkan ruang kerja yang gagal kembali ke status Aktif , tinjau instruksi dalam pesan status operasi pembaruan. Setelah Anda memperbaiki masalah apa pun, ulangi pembaruan di ruang kerja yang gagal. Ulangi langkah-langkah hingga pembaruan berhasil diselesaikan. Jika Anda memiliki pertanyaan, hubungi tim akun Azure Databricks Anda.