Mengonfigurasi ruang kerja Azure Machine Learning dengan titik akhir privat
BERLAKU UNTUK: Ekstensi ml Azure CLI v2 (saat ini)
Dalam dokumen ini, Anda akan mempelajari cara mengonfigurasi titik akhir privat untuk ruang kerja Azure Machine Learning. Untuk informasi tentang membuat jaringan virtual untuk Azure Machine Learning, lihat Ringkasan privasi dan isolasi jaringan virtual.
Azure Private Link memungkinkan Anda membatasi koneksi ke ruang kerja Anda ke Azure Virtual Network. Anda membatasi ruang kerja untuk hanya menerima koneksi dari jaringan virtual dengan membuat titik akhir privat. Titik akhir privat adalah sekumpulan alamat IP privat dalam jaringan virtual Anda. Anda kemudian dapat membatasi akses ke ruang kerja Anda agar hanya terjadi melalui alamat IP privat. Titik akhir privat membantu mengurangi risiko penyelundupan data. Untuk mempelajari selengkapnya tentang titik akhir privat, lihat artikel Link Pribadi Azure.
Peringatan
Mengamankan ruang kerja dengan titik akhir privat tidak memastikan keamanan menyeluruh dengan sendirinya. Anda harus mengamankan semua komponen individual solusi Anda. Misalnya, jika Anda menggunakan titik akhir privat untuk ruang kerja, tetapi Akun Azure Storage Anda tidak berada di belakang VNet, lalu lintas antara ruang kerja dan penyimpanan tidak akan menggunakan VNet untuk keamanan.
Untuk informasi selengkapnya tentang mengamankan sumber daya yang digunakan oleh Azure Machine Learning, lihat artikel berikut:
Prasyarat
Anda harus memiliki jaringan virtual yang ada untuk membuat titik akhir privat.
Peringatan
Jangan gunakan rentang alamat IP 172.17.0.0/16 untuk VNet Anda. Ini adalah rentang subnet default yang digunakan oleh jaringan jembatan Docker, dan akan mengakibatkan kesalahan jika digunakan untuk VNet Anda. Rentang lain mungkin juga bertentangan tergantung pada apa yang ingin Anda sambungkan ke jaringan virtual. Misalnya, jika Anda berencana untuk menghubungkan jaringan lokal Anda ke VNet, dan jaringan lokal Anda juga menggunakan rentang 172.16.0.0/16. Pada akhirnya, merupakan pilihan Anda untuk merencanakan infrastruktur jaringan Anda.
Nonaktifkan kebijakan jaringan untuk titik akhir privat sebelum menambahkan titik akhir privat.
Batasan
Jika Anda mengaktifkan akses publik untuk ruang kerja yang diamankan dengan titik akhir privat dan menggunakan studio Azure Pembelajaran Mesin melalui internet publik, beberapa fitur seperti perancang mungkin gagal mengakses data Anda. Masalah ini terjadi ketika data disimpan pada layanan yang diamankan di belakang jaringan virtual. Misalnya, Akun Azure Storage.
Jika Anda menggunakan Mozilla Firefox, Anda mungkin mengalami masalah saat mencoba mengakses titik akhir privat untuk ruang kerja Anda. Masalah ini mungkin terkait dengan DNS melalui HTTPS di Mozilla Firefox. Sebaiknya gunakan Microsoft Edge atau Google Chrome.
Menggunakan titik akhir privat tidak memengaruhi bidang kontrol Azure (operasi manajemen) seperti menghapus ruang kerja atau mengelola sumber daya komputasi. Misalnya, membuat, memperbarui, atau menghapus target komputasi. Operasi ini dilakukan melalui Internet publik seperti biasa. Operasi sarana data, seperti menggunakan studio Azure Machine Learning, API (termasuk alur yang dipublikasikan), atau SDK menggunakan titik akhir privat.
Saat Anda membuat instans komputasi atau kluster komputasi di ruang kerja dengan titik akhir privat, instans komputasi dan kluster komputasi harus berada di wilayah Azure yang sama dengan ruang kerja.
Saat Anda melampirkan kluster Azure Kubernetes Service ke ruang kerja dengan titik akhir privat, kluster harus berada di wilayah yang sama dengan ruang kerja.
Saat Anda menggunakan ruang kerja dengan beberapa titik akhir privat, salah satu titik akhir privat harus berada di jaringan virtual yang sama dengan layanan dependensi berikut:
- Akun Azure Storage yang menyediakan penyimpanan default untuk ruang kerja
- Azure Key Vault untuk ruang kerja
- Azure Container Registry untuk ruang kerja.
Misalnya, satu jaringan virtual ('layanan') akan berisi titik akhir privat untuk layanan dependensi dan ruang kerja. Konfigurasi ini memungkinkan ruang kerja untuk berkomunikasi dengan layanan. Jaringan virtual lain ('klien') mungkin hanya berisi titik akhir privat untuk ruang kerja, dan hanya digunakan untuk komunikasi antara komputer pengembangan klien dan ruang kerja.
Membuat ruang kerja yang menggunakan titik akhir privat
Gunakan salah satu metode berikut untuk membuat ruang kerja dengan titik akhir privat. Masing-masing metode ini memerlukan jaringan virtual yang ada:
Tip
Jika Anda ingin membuat ruang kerja, titik akhir privat, dan jaringan virtual secara bersamaan, lihat Menggunakan template Azure Resource Manager untuk membuat ruang kerja untuk Azure Machine Learning.
BERLAKU UNTUK: Ekstensi ml Azure CLI v2 (saat ini)
Saat Anda menggunakan CLI ekstensi Azure CLI 2.0 untuk pembelajaran mesin, dokumen YAML digunakan untuk mengonfigurasi ruang kerja. Contoh berikut menunjukkan cara membuat ruang kerja baru menggunakan konfigurasi YAML:
Tip
Saat Anda menggunakan tautan privat, ruang kerja Anda tidak dapat menggunakan komputasi tugas Azure Container Registry untuk pembuatan gambar. Sebagai gantinya, ruang kerja default menggunakan kluster komputasi tanpa server untuk membangun gambar. Ini hanya berfungsi ketika sumber daya yang diperdalam ruang kerja seperti akun penyimpanan dan registri kontainer tidak berada di bawah batasan jaringan apa pun (titik akhir privat). Jika dependensi ruang kerja Anda berada di bawah batasan jaringan, gunakan image_build_compute
properti untuk menentukan kluster komputasi yang akan digunakan untuk pembuatan gambar.
Properti image_build_compute
dalam konfigurasi ini menentukan nama kluster komputasi CPU yang akan digunakan untuk membangun lingkungan gambar Docker. Anda juga dapat menentukan apakah ruang kerja tautan privat harus dapat diakses melalui internet dengan menggunakan properti public_network_access
.
Dalam contoh ini, komputasi yang direferensikan oleh image_build_compute
perlu dibuat sebelum membangun gambar.
$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
name: mlw-privatelink-prod
location: eastus
display_name: Private Link endpoint workspace-example
description: When using private link, you must set the image_build_compute property to a cluster name to use for Docker image environment building. You can also specify whether the workspace should be accessible over the internet.
image_build_compute: cpu-compute
public_network_access: Disabled
tags:
purpose: demonstration
az ml workspace create \
-g <resource-group-name> \
--file privatelink.yml
Setelah membuat ruang kerja, gunakan perintah CLI jaringan Azure guna membuat titik akhir tautan pribadi untuk ruang kerja.
az network private-endpoint create \
--name <private-endpoint-name> \
--vnet-name <vnet-name> \
--subnet <subnet-name> \
--private-connection-resource-id "/subscriptions/<subscription>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>" \
--group-id amlworkspace \
--connection-name workspace -l <location>
Untuk membuat entri zona DNS privat untuk ruang kerja, gunakan perintah berikut:
# Add privatelink.api.azureml.ms
az network private-dns zone create \
-g <resource-group-name> \
--name privatelink.api.azureml.ms
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name privatelink.api.azureml.ms \
--name <link-name> \
--virtual-network <vnet-name> \
--registration-enabled false
az network private-endpoint dns-zone-group create \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name myzonegroup \
--private-dns-zone privatelink.api.azureml.ms \
--zone-name privatelink.api.azureml.ms
# Add privatelink.notebooks.azure.net
az network private-dns zone create \
-g <resource-group-name> \
--name privatelink.notebooks.azure.net
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name privatelink.notebooks.azure.net \
--name <link-name> \
--virtual-network <vnet-name> \
--registration-enabled false
az network private-endpoint dns-zone-group add \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name myzonegroup \
--private-dns-zone privatelink.notebooks.azure.net \
--zone-name privatelink.notebooks.azure.net
Menambahkan titik akhir privat ke ruang kerja
Gunakan salah satu metode berikut untuk menambahkan titik akhir privat ke ruang kerja yang sudah ada:
Peringatan
Jika Anda memiliki target komputasi yang ada yang terkait dengan ruang kerja ini, dan mereka tidak berada di belakang jaringan virtual yang sama dengan tempat titik akhir privat dibuat, mereka tidak akan berfungsi.
BERLAKU UNTUK: Ekstensi ml Azure CLI v2 (saat ini)
Saat menggunakan CLI ekstensi 2.0 Azure CLI untuk pembelajaran mesin, gunakan perintah CLI jaringan Azure untuk membuat titik akhir tautan privat untuk ruang kerja.
az network private-endpoint create \
--name <private-endpoint-name> \
--vnet-name <vnet-name> \
--subnet <subnet-name> \
--private-connection-resource-id "/subscriptions/<subscription>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>" \
--group-id amlworkspace \
--connection-name workspace -l <location>
Untuk membuat entri zona DNS privat untuk ruang kerja, gunakan perintah berikut:
# Add privatelink.api.azureml.ms
az network private-dns zone create \
-g <resource-group-name> \
--name 'privatelink.api.azureml.ms'
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name 'privatelink.api.azureml.ms' \
--name <link-name> \
--virtual-network <vnet-name> \
--registration-enabled false
az network private-endpoint dns-zone-group create \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name myzonegroup \
--private-dns-zone 'privatelink.api.azureml.ms' \
--zone-name 'privatelink.api.azureml.ms'
# Add privatelink.notebooks.azure.net
az network private-dns zone create \
-g <resource-group-name> \
--name 'privatelink.notebooks.azure.net'
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name 'privatelink.notebooks.azure.net' \
--name <link-name> \
--virtual-network <vnet-name> \
--registration-enabled false
az network private-endpoint dns-zone-group add \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name myzonegroup \
--private-dns-zone 'privatelink.notebooks.azure.net' \
--zone-name 'privatelink.notebooks.azure.net'
Menghapus titik akhir privat
Anda dapat menghapus satu atau semua titik akhir privat untuk suatu ruang kerja. Menghapus titik akhir privat akan menghapus ruang kerja dari jaringan virtual yang dikaitkan dengan titik akhir. Menghapus titik akhir privat mungkin mencegah ruang kerja mengakses sumber daya di jaringan virtual tersebut, atau sumber daya di jaringan virtual mengakses ruang kerja. Misalnya, jika jaringan virtual tidak mengizinkan akses ke atau dari internet publik.
Peringatan
Menghapus titik akhir privat untuk ruang kerja tidak akan membuatnya dapat diakses secara publik. Untuk membuat ruang kerja agar dapat diakses secara publik, gunakan langkah-langkah di bagian Mengaktifkan akses publik.
Untuk menghapus titik akhir privat, gunakan informasi berikut:
BERLAKU UNTUK: Ekstensi ml Azure CLI v2 (saat ini)
Saat menggunakan CLI ekstensi 2.0 Azure CLI untuk pembelajaran mesin, gunakan perintah berikut untuk menghapus titik akhir privat:
az network private-endpoint delete \
--name <private-endpoint-name> \
--resource-group <resource-group-name> \
Mengaktifkan akses publik
Dalam beberapa situasi, Anda mungkin ingin mengizinkan seseorang untuk terhubung ke ruang kerja aman Anda melalui titik akhir publik, alih-alih melalui jaringan virtual. Atau Anda mungkin ingin menghapus ruang kerja dari jaringan virtual dan mengaktifkan kembali akses publik.
Penting
Mengaktifkan akses publik tidak akan menghapus titik akhir privat yang ada. Semua komunikasi antar komponen di belakang VNet yang terhubung dengan titik akhir privat masih diamankan. Tindakan mengaktifkan akses publik ini hanya memungkinkan akses publik ke ruang kerja, selain titik akhir privat melalui VNet.
Peringatan
Saat menyambungkan titik akhir publik saat ruang kerja menggunakan titik akhir privat untuk berkomunikasi dengan sumber daya lain:
- Beberapa fitur studio akan gagal mengakses data Anda. Masalah ini terjadi saat data disimpan pada layanan yang diamankan di balik VNet. Misalnya, Akun Azure Storage. Untuk mengatasi masalah ini, tambahkan alamat IP perangkat klien Anda ke firewall Akun Azure Storage.
- Menggunakan Jupyter, JupyterLab, RStudio, atau Posit Workbench (sebelumnya RStudio Workbench) pada instans komputasi, termasuk menjalankan notebook, tidak didukung.
Untuk mengaktifkan akses publik, gunakan langkah berikut:
Tip
Terdapat dua properti yang mungkin dapat dikonfigurasi:
allow_public_access_when_behind_vnet
- digunakan oleh SDK Python v1public_network_access
- digunakan oleh CLI dan Python SDK v2 Setiap properti mengambil alih properti lainnya. Misalnya, pengaturanpublic_network_access
akan mengambil alih pengaturan sebelumnya menjadiallow_public_access_when_behind_vnet
.
Microsoft merekomendasikan penggunaan public_network_access
untuk mengaktifkan atau menonaktifkan akses publik pada ruang kerja.
BERLAKU UNTUK: Ekstensi ml Azure CLI v2 (saat ini)
Saat menggunakan CLI ekstensi Azure CLI 2.0 untuk pembelajaran mesin, gunakan az ml update
perintah untuk mengaktifkan public_network_access
ruang kerja:
az ml workspace update \
--set public_network_access=Enabled \
-n <workspace-name> \
-g <resource-group-name>
Anda juga dapat mengaktifkan akses jaringan publik dengan menggunakan file YAML. Untuk informasi selengkapnya, lihat referensi YAML ruang kerja.
Aktifkan Akses Publik hanya dari rentang IP internet (pratinjau)
Anda dapat menggunakan aturan jaringan IP untuk mengizinkan akses ke ruang kerja dan titik akhir Anda dari rentang alamat IP internet publik tertentu dengan membuat aturan jaringan IP. Setiap ruang kerja Azure Pembelajaran Mesin mendukung hingga 200 aturan. Aturan ini memberikan akses ke layanan berbasis internet tertentu dan jaringan lokal dan memblokir lalu lintas internet umum.
Peringatan
- Aktifkan bendera akses jaringan publik titik akhir Anda jika Anda ingin mengizinkan akses ke titik akhir Anda dari rentang alamat IP internet publik tertentu.
- Saat Anda mengaktifkan fitur ini, ini berdampak pada semua titik akhir publik yang ada yang terkait dengan ruang kerja Anda. Ini dapat membatasi akses ke titik akhir baru atau yang sudah ada. Jika Anda mengakses titik akhir apa pun dari IP yang tidak diizinkan, Anda mendapatkan kesalahan 403.
- Anda hanya dapat menggunakan alamat IPv4.
- Untuk menggunakan fitur ini dengan jaringan virtual terkelola Azure Pembelajaran Mesin, lihat Jaringan virtual terkelola Azure Pembelajaran Mesin.
BERLAKU UNTUK: Ekstensi ml Azure CLI v2 (saat ini)
Azure CLI tidak mendukung pengaktifan akses publik dari rentang IP.
Pembatasan untuk aturan jaringan IP
Pembatasan berikut berlaku untuk rentang alamat IP:
Aturan jaringan IP hanya diizinkan untuk alamat IP internet publik.
Rentang alamat IP yang dipesan tidak diizinkan dalam aturan IP seperti alamat privat yang dimulai dengan 10, 172.16 hingga 172.31, dan 192.168.
Anda harus menyediakan rentang alamat internet yang diizinkan dengan menggunakan notasi CIDR dalam formulir 16.17.18.0/24 atau sebagai alamat IP individual seperti 16.17.18.19.
Hanya alamat IPv4 yang didukung untuk konfigurasi aturan firewall penyimpanan.
Saat fitur ini diaktifkan, Anda dapat menguji titik akhir publik menggunakan alat klien apa pun seperti Curl, tetapi alat Uji Titik Akhir di portal tidak didukung.
Menyambungkan ke ruang kerja Anda dengan aman
Untuk terhubung ke ruang kerja yang diamankan di belakang VNet, gunakan salah satu metode berikut:
Gateway VPN Azure - Menyambungkan jaringan lokal ke VNet melalui koneksi privat. Koneksi dibuat melalui internet publik. Ada dua jenis gateway VPN yang mungkin Anda gunakan:
- Titik-ke-situs: Setiap komputer klien menggunakan klien VPN untuk terhubung ke VNet.
- Situs-ke-situs: Perangkat VPN menghubungkan VNet ke jaringan lokal Anda.
ExpressRoute - Menyambungkan jaringan lokal ke cloud melalui koneksi privat. Koneksi dibuat menggunakan penyedia konektivitas.
Azure Bastion - Dalam skenario ini, Anda membuat Komputer Virtual Azure (terkadang disebut jump box) di dalam VNet. Anda kemudian tersambung ke VM menggunakan Azure Bastion. Bastion memungkinkan Anda untuk tersambung ke VM menggunakan sesi RDP atau SSH dari browser web lokal Anda. Anda kemudian menggunakan jump box sebagai lingkungan pengembangan Anda. Karena berada di dalam VNet, jump box dapat langsung mengakses ruang kerja. Untuk contoh menggunakan jump box, lihat Tutorial: Membuat ruang kerja yang aman.
Penting
Saat menggunakan Gateway VPN atau ExpressRoute, Anda perlu merencanakan bagaimana resolusi nama bekerja antara sumber daya lokal Anda dengan yang berada di VNet. Untuk informasi selengkapnya, lihat Menggunakan server DNS kustom.
Jika Anda mengalami masalah saat menyambungkan ke ruang kerja, lihat Memecahkan masalah konektivitas ruang kerja yang aman.
Beberapa titik akhir privat
Azure Machine Learning mendukung beberapa titik akhir privat untuk ruang kerja. Beberapa titik akhir privat sering digunakan saat Anda ingin memisahkan lingkungan yang berbeda. Berikut ini adalah beberapa skenario yang diaktifkan dengan menggunakan beberapa titik akhir privat:
Lingkungan pengembangan klien di jaringan virtual terpisah.
Kluster Azure Kubernetes Service (AKS) dalam jaringan virtual terpisah.
Layanan Azure lainnya di jaringan virtual terpisah. Misalnya, Azure Synapse dan Azure Data Factory dapat menggunakan jaringan virtual yang dikelola Microsoft. Dalam kedua kasus, titik akhir privat untuk ruang kerja dapat ditambahkan ke jaringan virtual terkelola yang digunakan oleh layanan tersebut. Untuk informasi lebih lanjut tentang menggunakan jaringan virtual terkelola dengan layanan ini, lihat artikel berikut ini:
Penting
Perlindungan penyelundupan data Synapse tidak didukung dengan Azure Machine Learning.
Penting
Setiap VNet yang berisi titik akhir privat untuk ruang kerja juga harus dapat mengakses Akun Azure Storage, Azure Key Vault, dan Azure Container Registry yang digunakan oleh ruang kerja. Misalnya, Anda dapat membuat titik akhir privat untuk layanan di setiap VNet.
Menambahkan beberapa titik akhir privat dengan menggunakan langkah yang sama seperti yang dijelaskan di bagian Menambahkan titik akhir privat ke ruang kerja.
Skenario: Klien yang terisolasi
Jika Anda ingin mengisolasi klien pengembangan, sehingga mereka tidak memiliki akses langsung ke sumber daya komputasi yang digunakan oleh Azure Machine Learning, gunakan langkah-langkah berikut:
Catatan
Langkah-langkah ini mengasumsikan bahwa Anda memiliki ruang kerja yang sudah ada, Akun Azure Storage, Azure Key Vault, dan Azure Container Registry. Masing-masing layanan ini memiliki titik akhir privat di VNet yang ada.
- Buat jaringan virtual lain untuk klien. Jaringan virtual ini mungkin berisi Azure Virtual Machines yang bertindak sebagai klien Anda, atau mungkin berisi VPN Gateway yang digunakan oleh klien lokal untuk terhubung ke jaringan virtual.
- Tambahkan titik akhir privat baru untuk Akun Azure Storage, Azure Key Vault, dan Azure Container Registry yang digunakan oleh ruang kerja Anda. Titik akhir privat ini harus ada di jaringan virtual klien.
- Jika Anda memiliki penyimpanan lain yang digunakan oleh ruang kerja Anda, tambahkan titik akhir privat baru untuk penyimpanan tersebut. Titik akhir privat harus ada di jaringan virtual klien dan mengaktifkan integrasi zona DNS privat.
- Tambahkan titik akhir privat baru ke ruang kerja Anda. Titik akhir privat ini harus ada di jaringan virtual klien dan mengaktifkan integrasi zona DNS privat.
- Untuk mengaktifkan studio Azure Pembelajaran Mesin mengakses akun penyimpanan, kunjungi studio dalam artikel jaringan virtual.
Diagram berikut mengilustrasikan konfigurasi ini. Jaringan virtual Beban Kerja berisi sumber daya komputasi yang dibuat oleh ruang kerja untuk pelatihan & penyebaran. Jaringan virtual Klien berisi klien atau koneksi ExpressRoute/VPN klien. Kedua VNet berisi titik akhir privat untuk ruang kerja, Akun Azure Storage, Azure Key Vault, dan Azure Container Registry.
Skenario: Azure Kubernetes Service yang Terisolasi
Jika Anda ingin membuat Azure Kubernetes Service yang terisolasi yang digunakan oleh ruang kerja, gunakan langkah-langkah berikut:
Catatan
Langkah-langkah ini mengasumsikan bahwa Anda memiliki ruang kerja yang sudah ada, Akun Azure Storage, Azure Key Vault, dan Azure Container Registry. Masing-masing layanan ini memiliki titik akhir privat di VNet yang ada.
- Buat instans Azure Kubernetes Service. Selama pembuatan, AKS membuat jaringan virtual yang berisi kluster AKS.
- Tambahkan titik akhir privat baru untuk Akun Azure Storage, Azure Key Vault, dan Azure Container Registry yang digunakan oleh ruang kerja Anda. Titik akhir privat ini harus ada di jaringan virtual klien.
- Jika Anda memiliki penyimpanan lain yang digunakan oleh ruang kerja Anda, tambahkan titik akhir privat baru untuk penyimpanan tersebut. Titik akhir privat harus ada di jaringan virtual klien dan mengaktifkan integrasi zona DNS privat.
- Tambahkan titik akhir privat baru ke ruang kerja Anda. Titik akhir privat ini harus ada di jaringan virtual klien dan mengaktifkan integrasi zona DNS privat.
- Lampirkan kluster Azure Kubernetes Service ke ruang kerja Azure Machine Learning. Untuk informasi selengkapnya, lihat Membuat dan melampirkan kluster Azure Kubernetes Service.