Konektivitas cluster aman
Ketika konektivitas kluster aman diaktifkan, jaringan virtual pelanggan tidak memiliki port terbuka dan sumber daya komputasi di bidang komputasi klasik tidak memiliki alamat IP publik. Konektivitas kluster yang aman juga dikenal sebagai Tanpa IP Publik (NPIP).
- Pada tingkat jaringan, setiap kluster memulai koneksi ke relai konektivitas kluster aman sarana kontrol selama pembuatan kluster. Kluster tersebut menetapkan koneksi ini menggunakan port 443 (HTTPS) dan menggunakan alamat IP yang berbeda dari yang digunakan untuk aplikasi Web dan REST API.
- Ketika sarana kontrol memulai pekerjaan Databricks Runtime baru secara logis atau melakukan tugas administrasi kluster lain, permintaan ini akan dikirimkan ke kluster melalui terowongan ini.
- Bidang komputasi (VNet) tidak memiliki port terbuka, dan sumber daya sarana komputasi klasik tidak memiliki alamat IP publik.
Keuntungan:
- Administrasi jaringan yang mudah, tanpa perlu mengonfigurasi port pada kelompok keamanan atau untuk mengonfigurasi peering jaringan.
- Dengan keamanan yang ditingkatkan dan administrasi jaringan yang sederhana, tim keamanan informasi dapat mempercepat persetujuan Databricks sebagai penyedia PaaS.
Catatan
Semua lalu lintas jaringan Azure Databricks antara VNet sarana komputasi klasik dan sarana kontrol Azure Databricks melintasi backbone jaringan Microsoft, bukan Internet publik. Hal ini berlaku meskipun konektivitas kluster yang aman dinonaktifkan.
Meskipun bidang komputasi tanpa server tidak menggunakan relai konektivitas kluster aman untuk bidang komputasi klasik, gudang SQL tanpa server tidak memiliki alamat IP publik.
Menggunakan konektivitas kluster yang aman
Untuk menggunakan konektivitas kluster yang aman dengan ruang kerja Azure Databricks baru, gunakan salah satu dari opsi berikut.
- Portal Azure: Saat Anda memprovisikan ruang kerja, buka tab Jaringan dan atur opsi Sebarkan ruang kerja Azure Databricks dengan Konektivitas Kluster yang Aman (Tanpa IP Publik) ke Ya.
- Templat ARM: Untuk sumber daya
Microsoft.Databricks/workspaces
yang membuat ruang kerja baru Anda, atur parameter BooleanenableNoPublicIp
ketrue
.
Penting
Dalam kedua kasus tersebut, Anda harus mendaftarkan Penyedia Sumber Daya Azure Microsoft.ManagedIdentity
dalam langganan Azure yang digunakan untuk meluncurkan ruang kerja dengan konektivitas kluster yang aman. Ini adalah operasi satu kali untuk setiap langganan. Untuk mendapatkan petunjuk, lihat Penyedia dan jenis sumber daya Azure.
Anda dapat menambahkan konektivitas kluster aman ke ruang kerja yang sudah ada yang sudah menggunakan injeksi VNet. Lihat Menambahkan konektivitas kluster yang aman ke ruang kerja yang ada.
Jika Anda menggunakan templat ARM, tambahkan parameter tersebut ke templat berikut berdasarkan apakah Anda ingin Azure Databricks membuat jaringan virtual default (terkelola) untuk ruang kerja, atau jika ingin menggunakan jaringan virtual milik Anda sendiri, yang juga dikenal sebagai injeksi VNet. Injeksi VNet adalah fitur opsional yang memungkinkan Anda menyediakan VNet Anda sendiri untuk menghosting kluster Azure Databricks yang baru.
- Templat ARM untuk menyiapkan ruang kerja menggunakan VNet default (terkelola).
- Templat ARM templat untuk menyiapkan ruang kerja menggunakan injeksi VNet.
Egress dari subnet ruang kerja
Saat mengaktifkan konektivitas kluster yang aman, ruang kerja maupun subnet Anda merupakan subnet privat, karena node kluster tidak memiliki alamat IP publik.
Detail implementasi egress jaringan bervariasi berdasarkan apakah Anda menggunakan VNet default (terkelola) atau menggunakan fitur opsional injeksi VNet guna menyediakan VNet Anda sendiri yang diperlukan untuk menyebarkan ruang kerja Anda. Lihat bagian berikut untuk detail.
Penting
Biaya tambahan mungkin timbul karena meningkatnya lalu lintas egress ketika Anda menggunakan konektivitas kluster yang aman. Untuk organisasi yang lebih kecil yang memerlukan solusi hemat biaya, menonaktifkan konektivitas kluster yang aman mungkin bisa menjadi pilihan ketika Anda menyebarkan ruang kerja. Namun, untuk penyebaran yang paling aman, Microsoft dan Databricks sangat menyarankan Anda untuk mengaktifkan konektivitas kluster yang aman.
Egress dengan VNet default (terkelola)
Jika Anda menggunakan konektivitas kluster yang aman dengan VNet default yang dibuat Azure Databricks, Azure Databricks akan secara otomatis membuat gateway NAT untuk lalu lintas keluar dari subnet ruang kerja Anda ke backbone Azure dan jaringan publik. Gateway NAT dibuat dalam grup sumber daya terkelola yang dikelola oleh Azure Databricks. Anda tidak dapat mengubah grup sumber daya atau sumber daya apa pun yang diprovisikan di dalamnya.
Gateway NAT yang dibuat secara otomatis dikenakan biaya tambahan.
Keluar dengan injeksi VNet
Jika Anda mengaktifkan konektivitas kluster aman di ruang kerja Anda yang menggunakan injeksi VNet, Databricks menyarankan agar ruang kerja Anda memiliki IP publik keluar yang stabil.
Alamat IP publik keluar yang stabil berguna karena Anda dapat menambahkannya ke daftar izin eksternal. Misalnya, untuk menyambungkan dari Azure Databricks ke Salesforce dengan alamat IP keluar yang stabil.
Peringatan
Microsoft mengumumkan bahwa pada 30 September 2025, konektivitas akses keluar default untuk komputer virtual di Azure akan dihentikan. Lihat pengumuman ini. Ini berarti bahwa ruang kerja Azure Databricks yang ada yang menggunakan akses keluar default daripada IP publik keluar yang stabil mungkin tidak terus berfungsi setelah tanggal tersebut. Databricks merekomendasikan agar Anda menambahkan metode keluar eksplisit untuk ruang kerja Anda sebelum tanggal tersebut.
Pilih salah satu opsi berikut:
- Untuk penyebaran yang memerlukan kustomisasi, pilih gateway Azure NAT. Konfigurasi gateway di dua subnet ruang kerja untuk memastikan bahwa semua lalu lintas keluar melalui backbone dan jaringan publik Azure. Kluster memiliki IP publik egress yang stabil dan Anda dapat mengubah konfigurasi tersebut untuk kebutuhan egress kustom. Anda tidak dapat menerapkan solusi ini menggunakan templat Azure atau dari portal Microsoft Azure.
- Untuk penyebaran dengan persyaratan perutean yang kompleks atau penyebaran yang menggunakan injeksi VNet dengan firewall egress seperti Azure Firewall atau arsitektur jaringan kustom lainnya, Anda dapat menggunakan rute kustom yang juga disebut rute yang ditentukan pengguna (UDR). UDR memastikan bahwa lalu lintas dirutekan secara benar untuk ruang kerja Anda, baik secara langsung ke titik akhir yang diperlukan atau melalui firewall egress. Jika Anda menggunakan solusi tersebut, Anda harus menambahkan rute langsung atau aturan firewall yang diizinkan untuk relai konektivitas kluster Azure Databricks yang aman dan titik akhir lain yang diperlukan yang tercantum di Pengaturan rute yang ditentukan pengguna untuk Azure Databricks.
Peringatan
Jangan gunakan load balancer keluar dengan ruang kerja yang mengaktifkan konektivitas kluster yang aman. Dalam sistem produksi, penyeimbang beban keluar dapat menyebabkan risiko port yang melelahkan.
Menambahkan konektivitas kluster aman ke ruang kerja yang ada
Anda dapat mengaktifkan konektivitas kluster yang aman pada ruang kerja yang ada. Peningkatan mewajibkan ruang kerja menggunakan injeksi VNet.
Anda dapat menggunakan UI portal, templat ARM, atau azurerm
penyedia Terraform versi 3.41.0+. Anda dapat menggunakan portal Azure untuk menerapkan templat kustom dan mengubah parameter di UI. Anda juga dapat meningkatkan instans ruang kerja Azure Databricks itu sendiri di antarmuka pengguna portal Azure.
Penting
Sebelum membuat perubahan ini, jika Anda menggunakan firewall atau melakukan perubahan konfigurasi jaringan lainnya untuk mengontrol masuk atau keluar dari bidang komputasi klasik, Anda mungkin perlu memperbarui firewall atau aturan kelompok keamanan jaringan secara bersamaan karena perubahan ini berlaku sepenuhnya. Misalnya, dengan konektivitas kluster yang aman, ada koneksi keluar tambahan ke sarana kontrol, dan koneksi masuk dari sarana kontrol tidak lagi digunakan.
Jika ada yang salah dengan peningkatan dan Anda perlu mengembalikan perubahan untuk sementara waktu, lihat Pembatalan sementara peningkatan untuk mengamankan konektivitas kluster.
Langkah 1: 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.
Langkah 2: Memperbarui ruang kerja
Anda harus memperbarui parameter Tidak Ada IP Publik (pada templat itu ).enableNoPublicIp
Atur ke nilai True (true
).
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)
Buka instans Azure Databricks Service Anda di portal Azure.
Di navigasi kiri di bawah Pengaturan, klik Jaringan.
Pilih Tanpa IP Publik.
Catatan
Pada saat yang sama, Anda dapat memilih untuk juga mengaktifkan Azure Private Link dengan mengatur nilai untuk Izinkan Aturan NSG yang Diperlukan Akses Jaringan Publik ke nilai yang sesuai untuk kasus penggunaan Anda. Namun, konfigurasi dan verifikasi tambahan diperlukan untuk mengaktifkan Private Link, jadi Anda mungkin ingin melakukannya sebagai langkah terpisah setelah pembaruan ini untuk konektivitas kluster yang aman. Untuk detail dan persyaratan penting, lihat mengaktifkan Azure Private Link.
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.
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" } }, "enableNoPublicIp": { "defaultValue": true, "type": "Bool" }, "pricingTier": { "defaultValue": "premium", "allowedValues": [ "premium", "standard", "trial" ], "type": "String", "metadata": { "description": "The pricing tier of workspace." } }, "publicNetworkAccess": { "type": "string", "defaultValue": "Enabled", "allowedValues": [ "Enabled", "Disabled" ], "metadata": { "description": "Indicates whether public network access is allowed to the workspace - possible values are Enabled or Disabled." } }, "requiredNsgRules": { "type": "string", "defaultValue": "AllRules", "allowedValues": [ "AllRules", "NoAzureDatabricksRules" ], "metadata": { "description": "Indicates whether to retain or remove the AzureDatabricks outbound NSG rule - possible values are AllRules or NoAzureDatabricksRules." } } }, "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')]" } } } } ] }
Buka halaman penyebaran kustom portal Azure.
Klik Buat templat Anda sendiri di editor.
Tempelkan di JSON untuk templat yang Anda salin.
Klik Simpan.
Isi parameternya.
Untuk memperbarui ruang kerja yang ada, gunakan parameter yang sama dengan yang Anda gunakan untuk membuat ruang kerja selain
enableNoPublicIp
yang harus Anda atur ketrue
. Atur langganan, wilayah, nama ruang kerja, nama subnet, ID sumber daya VNet yang ada.Penting
Nama grup sumber daya, nama ruang kerja, dan nama subnet identik dengan ruang kerja Anda yang sudah ada sehingga perintah ini memperbarui ruang kerja yang ada daripada membuat ruang kerja baru.
Klik Tinjau + Buat.
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 tanpa membuat ulang ruang kerja.
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.
Ubah pengaturan ruang kerja berikut:
no_public_ip
custom_parameters
dalam blok dapat diubah darifalse
ketrue
.
Pembaruan jaringan mungkin membutuhkan waktu lebih dari 15 menit untuk diselesaikan.
Langkah 3: Memvalidasi pembaruan
Setelah ruang kerja dalam status aktif, pekerjaan pembaruan selesai. Verifikasi bahwa pembaruan telah diterapkan:
Buka Azure Databricks di browser web Anda.
Mulai salah satu kluster ruang kerja dan tunggu hingga kluster sepenuhnya dimulai.
Buka instans ruang kerja Anda di portal Azure.
Klik ID biru di samping label bidang Grup Sumber Daya Terkelola.
Dalam grup itu, temukan VM untuk kluster dan klik salah satunya.
Di pengaturan VM, dalam Properti, cari bidang di area Jaringan .
Konfirmasikan bahwa bidang Alamat IP Publik kosong.
Jika diisi, VM memiliki alamat IP publik, yang berarti pembaruan gagal.
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.
Pembatalan sementara peningkatan untuk mengamankan konektivitas kluster
Jika terjadi kesalahan selama penyebaran, Anda dapat membalikkan proses sebagai pembatalan sementara, tetapi menonaktifkan SCC di ruang kerja tidak didukung selain untuk pemutaran kembali sementara sebelum melanjutkan peningkatan nanti. Jika ini diperlukan untuk sementara waktu, Anda dapat mengikuti instruksi di atas untuk peningkatan tetapi diatur enableNoPublicIp
ke false
alih-alih true.