Mengamankan lingkungan pelatihan Azure Machine Learning dengan jaringan virtual

BERLAKU UNTUK: Python SDK azure-ai-ml v2 (saat ini)

Tip

Microsoft merekomendasikan penggunaan Azure Pembelajaran Mesin jaringan virtual terkelola alih-alih langkah-langkah dalam artikel ini. Dengan jaringan virtual terkelola, Azure Pembelajaran Mesin menangani pekerjaan isolasi jaringan untuk ruang kerja Dan komputasi terkelola Anda. Anda juga dapat menambahkan titik akhir privat untuk sumber daya yang diperlukan oleh ruang kerja, seperti Akun Azure Storage. Untuk informasi selengkapnya, lihat Isolasi jaringan terkelola Ruang Kerja.

Instans komputasi Azure Pembelajaran Mesin, komputasi tanpa server, dan kluster komputasi dapat digunakan untuk melatih model dengan aman di Azure Virtual Network. Saat merencanakan lingkungan, Anda dapat mengonfigurasi instans/kluster komputasi komputasi atau komputasi tanpa server dengan atau tanpa alamat IP publik. Perbedaan umum antara keduanya adalah:

  • Tidak ada IP publik: Mengurangi biaya karena tidak memiliki persyaratan sumber daya jaringan yang sama. Meningkatkan keamanan dengan menghapus persyaratan untuk lalu lintas masuk dari internet. Namun, ada perubahan konfigurasi tambahan yang diperlukan untuk mengaktifkan akses keluar ke sumber daya yang diperlukan (ID Microsoft Entra, Azure Resource Manager, dll.).
  • IP Publik: Bekerja secara default, tetapi lebih mahal karena sumber daya jaringan Azure tambahan. Memerlukan komunikasi masuk dari layanan Azure Pembelajaran Mesin melalui internet publik.

Tabel berikut berisi perbedaan antara konfigurasi ini:

Konfigurasi Dengan IP publik Tanpa IP publik
Lalu Lintas Masuk AzureMachineLearning tag layanan. Tidak
Lalu lintas keluar Secara default, dapat mengakses internet publik tanpa batasan.
Anda dapat membatasi apa yang diaksesnya menggunakan Grup Keamanan Jaringan atau firewall.
Secara default, dapat mengakses jaringan publik menggunakan akses keluar default yang disediakan oleh Azure.
Sebaiknya gunakan gateway VIRTUAL Network NAT atau Firewall sebagai gantinya jika Anda perlu merutekan lalu lintas keluar ke sumber daya yang diperlukan di internet.
Sumber daya jaringan Azure Alamat IP publik, load balancer, antarmuka jaringan Tidak

Anda juga dapat menggunakan Azure Databricks atau HDInsight untuk melatih model dalam jaringan virtual.

Penting

Item yang ditandai (pratinjau) dalam artikel ini sedang dalam pratinjau publik. Versi pratinjau disediakan tanpa perjanjian tingkat layanan, dan tidak disarankan untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas. Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Artikel ini adalah bagian dari seri tentang mengamankan alur kerja Azure Machine Learning. Lihat artikel lain dalam seri ini:

Untuk tutorial mengenai pembuatan ruang kerja yang aman, lihat Tutorial: Membuat ruang kerja yang aman atau Tutorial: Membuat ruang kerja yang aman menggunakan templat.

Dalam artikel ini Anda mempelajari cara mengamankan sumber daya komputasi pelatihan berikut ini dalam jaringan virtual:

  • Kluster komputasi Azure Machine Learning
  • Instans komputasi Azure Machine Learning
  • Komputasi tanpa server Azure Pembelajaran Mesin
  • Azure Databricks
  • Komputer Virtual
  • Klaster HDInsight

Prasyarat

  • Baca artikel Gambaran umum keamanan jaringan untuk memahami skenario jaringan virtual umum dan arsitektur jaringan virtual secara keseluruhan.

  • Jaringan virtual dan subnet yang ada untuk digunakan dengan sumber daya komputasi Anda. VNet ini harus berada dalam langganan yang sama dengan ruang kerja Azure Pembelajaran Mesin Anda.

    • Sebaiknya letakkan akun penyimpanan yang digunakan oleh ruang kerja dan pekerjaan pelatihan Anda di wilayah Azure yang sama dengan yang Anda rencanakan untuk digunakan untuk instans komputasi, komputasi tanpa server, dan kluster. Jika tidak berada di wilayah Azure yang sama, Anda dapat dikenakan biaya transfer data dan peningkatan latensi jaringan.
    • Pastikan bahwa komunikasi WebSocket diizinkan ke *.instances.azureml.net dan *.instances.azureml.ms di VNet Anda. WebSocket digunakan oleh Jupyter pada instans komputasi.
  • Subnet yang ada di jaringan virtual. Subnet ini digunakan saat membuat instans komputasi, kluster, dan simpul untuk komputasi tanpa server.

    • Pastikan subnet tidak didelegasikan ke layanan Azure lainnya.
    • Pastikan subnet berisi alamat IP gratis yang cukup. Setiap instans komputasi memerlukan satu alamat IP. Setiap simpul dalam kluster komputasi dan setiap simpul komputasi tanpa server memerlukan satu alamat IP.
  • Jika Anda memiliki server DNS Anda sendiri, sebaiknya gunakan penerusan DNS untuk menyelesaikan nama domain yang sepenuhnya memenuhi syarat (FQDN) instans komputasi dan kluster. Untuk informasi selengkapnya, lihat Menggunakan DNS kustom dengan Azure Pembelajaran Mesin.

  • Untuk menyebarkan sumber daya ke dalam jaringan virtual atau subnet, akun pengguna Anda harus memiliki izin untuk tindakan berikut di kontrol akses berbasis peran Azure (Azure RBAC):

    • "Microsoft.Network/*/read" pada sumber daya jaringan virtual. Izin ini tidak diperlukan untuk penyebaran templat Azure Resource Manager (ARM).
    • "Microsoft.Network/virtualNetworks/join/action" pada sumber daya jaringan virtual.
    • "Microsoft.Network/virtualNetworks/subnet/join/action" pada sumber daya subnet.

    Untuk informasi selengkapnya tentang Azure RBAC dengan pembuatan jaringan, lihat Peran bawaan jaringan

Batasan

  • Kluster/instans komputasi dan penyebaran komputasi tanpa server di jaringan virtual tidak didukung dengan Azure Lighthouse.

  • Port 445 harus terbuka untuk komunikasi jaringan privat antara instans komputasi Anda dan akun penyimpanan default selama pelatihan. Misalnya, jika komputasi Anda berada dalam satu VNet dan akun penyimpanan berada di VNet lain, jangan blokir port 445 ke akun penyimpanan VNet.

Komputasi kluster di VNet/wilayah yang berbeda dari ruang kerja

Penting

Anda tidak dapat membuat instans komputasi di wilayah/VNet yang berbeda, hanya kluster komputasi.

Untuk membuat kluster komputasi di Azure Virtual Network di wilayah yang berbeda dari jaringan virtual ruang kerja, Anda memiliki beberapa opsi untuk mengaktifkan komunikasi antara dua VNet.

  • Gunakan VNet Peering.
  • Tambahkan titik akhir privat untuk ruang kerja Anda di jaringan virtual yang akan berisi kluster komputasi.

Penting

Terlepas dari metode yang dipilih, Anda juga harus membuat VNet untuk kluster komputasi; Azure Pembelajaran Mesin tidak akan membuatnya untuk Anda.

Anda juga harus mengizinkan akun penyimpanan default, Azure Container Registry, dan Azure Key Vault untuk mengakses VNet untuk kluster komputasi. Ada beberapa cara untuk mencapai hal ini. Misalnya, Anda dapat membuat titik akhir privat untuk setiap sumber daya di VNet untuk kluster komputasi, atau Anda dapat menggunakan peering VNet untuk memungkinkan VNet ruang kerja mengakses VNet kluster komputasi.

Skenario: Peering VNet

  1. Konfigurasikan ruang kerja Anda untuk menggunakan Azure Virtual Network. Untuk informasi selengkapnya, lihat Mengamankan sumber daya ruang kerja Anda.

  2. Buat Azure Virtual Network kedua yang akan digunakan untuk kluster komputasi Anda. Ini bisa berada di wilayah Azure yang berbeda dari yang digunakan untuk ruang kerja Anda.

  3. Konfigurasikan VNet Peering antara dua VNet.

    Tip

    Tunggu hingga status Peering VNet Koneksi sebelum melanjutkan.

  4. privatelink.api.azureml.ms Ubah zona DNS untuk menambahkan tautan ke VNet untuk kluster komputasi. Zona ini dibuat oleh ruang kerja Azure Pembelajaran Mesin Anda saat menggunakan titik akhir privat untuk berpartisipasi dalam VNet.

    1. Tambahkan tautan jaringan virtual baru ke zona DNS. Anda dapat melakukan beberapa cara ini:

      • Dari portal Azure, navigasikan ke zona DNS dan pilih Tautan jaringan virtual. Lalu pilih + Tambahkan dan pilih VNet yang Anda buat untuk kluster komputasi Anda.
      • Dari Azure CLI, gunakan az network private-dns link vnet create perintah . Untuk informasi selengkapnya, lihat az network private-dns link vnet create.
      • Dari Azure PowerShell, gunakan New-AzPrivateDnsVirtualNetworkLink perintah . Untuk informasi selengkapnya, lihat New-AzPrivateDnsVirtualNetworkLink.
  5. Ulangi langkah dan sub-langkah sebelumnya untuk privatelink.notebooks.azure.net zona DNS.

  6. Konfigurasikan sumber daya Azure berikut untuk mengizinkan akses dari kedua VNet.

    • Akun penyimpanan default untuk ruang kerja.
    • Registri Kontainer Azure untuk ruang kerja.
    • Azure Key Vault untuk ruang kerja.

    Tip

    Ada beberapa cara agar Anda dapat mengonfigurasi layanan ini untuk mengizinkan akses ke VNet. Misalnya, Anda dapat membuat titik akhir privat untuk setiap sumber daya di kedua VNet. Atau Anda dapat mengonfigurasi sumber daya untuk mengizinkan akses dari kedua VNet.

  7. Buat kluster komputasi seperti biasa saat menggunakan VNet, tetapi pilih VNet yang Anda buat untuk kluster komputasi. Jika VNet berada di wilayah yang berbeda, pilih wilayah tersebut saat membuat kluster komputasi.

    Peringatan

    Saat mengatur wilayah, jika wilayah tersebut berbeda dari ruang kerja atau penyimpanan data, Anda mungkin melihat peningkatan latensi jaringan dan biaya transfer data. Latensi dan biaya dapat terjadi saat membuat kluster, dan saat menjalankan tugas di dalamnya.

Skenario: Titik akhir privat

  1. Konfigurasikan ruang kerja Anda untuk menggunakan Azure Virtual Network. Untuk informasi selengkapnya, lihat Mengamankan sumber daya ruang kerja Anda.

  2. Buat Azure Virtual Network kedua yang akan digunakan untuk kluster komputasi Anda. Ini bisa berada di wilayah Azure yang berbeda dari yang digunakan untuk ruang kerja Anda.

  3. Buat titik akhir privat baru untuk ruang kerja Anda di VNet yang akan berisi kluster komputasi.

    • Untuk menambahkan titik akhir privat baru menggunakan portal Azure, pilih ruang kerja Anda lalu pilih Jaringan. Pilih Koneksi titik akhir privat, + Titik akhir privat dan gunakan bidang untuk membuat titik akhir privat baru.

      • Saat memilih Wilayah, pilih wilayah yang sama dengan jaringan virtual Anda.
      • Saat memilih Jenis sumber daya, gunakan Microsoft.MachineLearningServices/workspaces.
      • Atur Sumber Daya ke nama ruang kerja Anda.
      • Atur Jaringan virtual dan Subnet ke VNet dan subnet yang Anda buat untuk kluster komputasi Anda.

      Terakhir, pilih Buat untuk membuat titik akhir privat.

    • Untuk menambahkan titik akhir privat baru menggunakan Azure CLI, gunakan az network private-endpoint create. Untuk contoh penggunaan perintah ini, lihat Mengonfigurasi titik akhir privat untuk ruang kerja Azure Pembelajaran Mesin.

  4. Buat kluster komputasi seperti biasa saat menggunakan VNet, tetapi pilih VNet yang Anda buat untuk kluster komputasi. Jika VNet berada di wilayah yang berbeda, pilih wilayah tersebut saat membuat kluster komputasi.

    Peringatan

    Saat mengatur wilayah, jika wilayah tersebut berbeda dari ruang kerja atau penyimpanan data, Anda mungkin melihat peningkatan latensi jaringan dan biaya transfer data. Latensi dan biaya dapat terjadi saat membuat kluster, dan saat menjalankan tugas di dalamnya.

Komputasi instans/kluster atau komputasi tanpa server tanpa IP publik

Peringatan

Informasi ini hanya valid saat menggunakan Azure Virtual Network. Jika Anda menggunakan jaringan virtual terkelola, lihat komputasi terkelola dengan jaringan terkelola.

Penting

Jika Anda telah menggunakan instans komputasi atau kluster komputasi yang dikonfigurasi tanpa IP publik tanpa ikut serta dalam pratinjau, Anda harus menghapus dan membuatnya kembali setelah 20 Januari 2023 (saat fitur tersedia secara umum).

Jika sebelumnya Anda menggunakan pratinjau tidak ada IP publik, Anda mungkin juga perlu memodifikasi lalu lintas apa yang Anda izinkan masuk dan keluar, karena persyaratan telah berubah untuk ketersediaan umum:

  • Persyaratan keluar - Dua keluar tambahan, yang hanya digunakan untuk manajemen instans dan kluster komputasi. Tujuan tag layanan ini dimiliki oleh Microsoft:
    • AzureMachineLearning tag layanan pada port UDP 5831.
    • BatchNodeManagement tag layanan pada port TCP 443.

Konfigurasi berikut ini selain yang tercantum di bagian Prasyarat , dan khusus untuk membuat instans/kluster komputasi yang dikonfigurasi tanpa IP publik. Mereka juga berlaku untuk komputasi tanpa server:

  • Anda harus menggunakan titik akhir privat ruang kerja untuk sumber daya komputasi untuk berkomunikasi dengan layanan Azure Pembelajaran Mesin dari VNet. Untuk informasi lebih lanjut, lihat Konfigurasikan titik akhir privat untuk ruang kerja Azure Machine Learning.

  • Di VNet Anda, izinkan lalu lintas keluar ke tag layanan berikut atau nama domain yang sepenuhnya memenuhi syarat (FQDN):

    Tag layanan Protokol Port Catatan
    AzureMachineLearning TCP
    UDP
    443/8787/18881
    5831
    Komunikasi dengan Azure Machine Learning service
    BatchNodeManagement.<region> ANY 443 Ganti <region> dengan wilayah Azure yang berisi ruang kerja Azure Machine Learning Anda. Komunikasi dengan Azure Batch. Instans komputasi dan kluster komputasi diimplementasikan menggunakan layanan Azure Batch.
    Storage.<region> TCP 443 Ganti <region> dengan wilayah Azure yang berisi ruang kerja Azure Machine Learning Anda. Tag layanan ini digunakan untuk berkomunikasi dengan akun Azure Storage yang digunakan oleh Azure Batch.

    Penting

    Akses keluar ke Storage.<region> berpotensi digunakan untuk menyelundupkan data dari ruang kerja Anda. Dengan menggunakan Kebijakan Titik Akhir Layanan, Anda dapat mengurangi kerentanan ini. Untuk informasi selengkapnya, lihat artikel Pencegahan eksfiltrasi data Azure Machine Learning.

    FQDN Protokol Port Catatan
    <region>.tundra.azureml.ms UDP 5831 Ganti <region> dengan wilayah Azure yang berisi ruang kerja Azure Machine Learning Anda.
    graph.windows.net TCP 443 Komunikasi dengan Microsoft Graph API.
    *.instances.azureml.ms TCP 443/8787/18881 Komunikasi dengan Azure Machine Learning.
    *.<region>.batch.azure.com ANY 443 Ganti <region> dengan wilayah Azure yang berisi ruang kerja Azure Machine Learning Anda. Komunikasi dengan Azure Batch.
    *.<region>.service.batch.azure.com ANY 443 Ganti <region> dengan wilayah Azure yang berisi ruang kerja Azure Machine Learning Anda. Komunikasi dengan Azure Batch.
    *.blob.core.windows.net TCP 443 Komunikasi dengan penyimpanan Azure Blob.
    *.queue.core.windows.net TCP 443 Komunikasi dengan penyimpanan Azure Queue.
    *.table.core.windows.net TCP 443 Komunikasi dengan penyimpanan Azure Table.
  • Secara default, instans/kluster komputasi yang dikonfigurasi tanpa IP publik tidak memiliki akses keluar ke internet. Jika Anda dapat mengakses internet darinya, itu karena Azure akses keluar default dan Anda memiliki NSG yang memungkinkan keluar ke internet. Namun, kami tidak merekomendasikan menggunakan akses keluar default. Jika Anda memerlukan akses keluar ke internet, sebaiknya gunakan firewall dan aturan keluar atau gateway NAT dan grup layanan jaringan untuk mengizinkan lalu lintas keluar sebagai gantinya.

    Untuk informasi selengkapnya tentang lalu lintas keluar yang digunakan oleh Azure Machine Learning, lihat artikel berikut ini:

    Untuk informasi selengkapnya tentang tag layanan yang dapat digunakan dengan Azure Firewall, lihat artikel Tag layanan jaringan virtual.

Gunakan informasi berikut untuk membuat instans atau kluster komputasi tanpa alamat IP publik:

az ml compute create Dalam perintah , ganti nilai berikut:

  • rg: Grup sumber daya tempat komputasi akan dibuat.
  • ws: Nama ruang kerja Azure Pembelajaran Mesin.
  • yourvnet: Azure Virtual Network.
  • yoursubnet: Subnet yang digunakan untuk komputasi.
  • AmlCompute atau ComputeInstance: Menentukan AmlCompute membuat kluster komputasi. ComputeInstance membuat instans komputasi.
# create a compute cluster with no public IP
az ml compute create --name cpu-cluster --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type AmlCompute --set enable_node_public_ip=False

# create a compute instance with no public IP
az ml compute create --name myci --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type ComputeInstance --set enable_node_public_ip=False

Gunakan informasi berikut untuk mengonfigurasi simpul komputasi tanpa server tanpa alamat IP publik di VNet untuk ruang kerja tertentu:

Membuat ruang kerja:

az ml workspace create -n <workspace-name> -g <resource-group-name> --file serverlesscomputevnetsettings.yml
name: testserverlesswithnpip
location: eastus
public_network_access: Disabled
serverless_compute:
  custom_subnet: /subscriptions/<sub id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<vnet name>/subnets/<subnet name>
  no_public_ip: true

Memperbarui ruang kerja:

az ml workspace update -n <workspace-name> -g <resource-group-name> --file serverlesscomputevnetsettings.yml
serverless_compute:
  custom_subnet: /subscriptions/<sub id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<vnet name>/subnets/<subnet name>
  no_public_ip: true

Komputasi instans/kluster atau komputasi tanpa server dengan IP publik

Penting

Informasi ini hanya valid saat menggunakan Azure Virtual Network. Jika Anda menggunakan jaringan virtual terkelola, lihat komputasi terkelola dengan jaringan terkelola.

Konfigurasi berikut ini selain yang tercantum di bagian Prasyarat , dan khusus untuk membuat instans/kluster komputasi yang memiliki IP publik. Mereka juga berlaku untuk komputasi tanpa server:

  • Jika Anda menempatkan beberapa instans/kluster komputasi dalam satu jaringan virtual, Anda mungkin perlu meminta peningkatan kuota untuk satu atau beberapa sumber daya Anda. Instans atau kluster komputasi Azure Machine Learning secara otomatis mengalokasikan sumber daya jaringan dalam grup sumber daya yang berisi jaringan virtual. Untuk setiap instans komputasi atau kluster, layanan mengalokasikan sumber daya berikut:

    • Grup keamanan jaringan (NSG) dibuat secara otomatis. NSG ini memungkinkan lalu lintas TCP masuk pada port 44224 dari AzureMachineLearning tag layanan.

      Penting

      Instans komputasi dan kluster komputasi secara otomatis membuat NSG dengan aturan yang diperlukan.

      Jika Anda memiliki NSG lain di level subnet, aturan di NSG level subnet tidak boleh bertentangan dengan aturan di NSG yang dibuat secara otomatis.

      Untuk mempelajari bagaimana NSG memfilter lalu lintas jaringan Anda, lihat Bagaimana grup keamanan jaringan memfilter lalu lintas jaringan.

    • Satu penyeimbang beban

    Untuk kluster komputasi, sumber daya ini dihapus setiap kali kluster diturunkan ke 0 node dan dibuat saat ditingkatkan.

    Untuk instans komputasi, sumber daya ini disimpan hingga instans dihapus. Menghentikan instans tidak menghapus sumber daya.

    Penting

    Sumber daya ini dibatasi oleh kuota sumber daya langganan. Jika grup sumber daya jaringan virtual dikunci, penghapusan kluster/instans komputasi akan gagal. Penyeimbang beban tidak dapat dihapus sampai kluster/instans komputasi dihapus. Pastikan juga tidak ada penetapan Azure Policy yang melarang pembuatan grup keamanan jaringan.

  • Di VNet Anda, izinkan lalu lintas TCP masuk pada port 44224 dari AzureMachineLearning tag layanan.

    Penting

    Instans/kluster komputasi secara dinamis diberi alamat IP saat dibuat. Karena alamat tidak diketahui sebelum pembuatan, dan akses masuk diperlukan sebagai bagian dari proses pembuatan, Anda tidak dapat menetapkannya secara statis pada firewall Anda. Sebagai gantinya, jika Anda menggunakan firewall dengan VNet, Anda harus membuat rute yang ditentukan pengguna untuk mengizinkan lalu lintas masuk ini.

  • Di VNet Anda, izinkan lalu lintas keluar ke tag layanan berikut:

    Tag layanan Protokol Port Catatan
    AzureMachineLearning TCP
    UDP
    443/8787/18881
    5831
    Komunikasi dengan Azure Machine Learning service
    BatchNodeManagement.<region> ANY 443 Ganti <region> dengan wilayah Azure yang berisi ruang kerja Azure Machine Learning Anda. Komunikasi dengan Azure Batch. Instans komputasi dan kluster komputasi diimplementasikan menggunakan layanan Azure Batch.
    Storage.<region> TCP 443 Ganti <region> dengan wilayah Azure yang berisi ruang kerja Azure Machine Learning Anda. Tag layanan ini digunakan untuk berkomunikasi dengan akun Azure Storage yang digunakan oleh Azure Batch.

    Penting

    Akses keluar ke Storage.<region> berpotensi digunakan untuk menyelundupkan data dari ruang kerja Anda. Dengan menggunakan Kebijakan Titik Akhir Layanan, Anda dapat mengurangi kerentanan ini. Untuk informasi selengkapnya, lihat artikel Pencegahan eksfiltrasi data Azure Machine Learning.

    FQDN Protokol Port Catatan
    <region>.tundra.azureml.ms UDP 5831 Ganti <region> dengan wilayah Azure yang berisi ruang kerja Azure Machine Learning Anda.
    graph.windows.net TCP 443 Komunikasi dengan Microsoft Graph API.
    *.instances.azureml.ms TCP 443/8787/18881 Komunikasi dengan Azure Machine Learning.
    *.<region>.batch.azure.com ANY 443 Ganti <region> dengan wilayah Azure yang berisi ruang kerja Azure Machine Learning Anda. Komunikasi dengan Azure Batch.
    *.<region>.service.batch.azure.com ANY 443 Ganti <region> dengan wilayah Azure yang berisi ruang kerja Azure Machine Learning Anda. Komunikasi dengan Azure Batch.
    *.blob.core.windows.net TCP 443 Komunikasi dengan penyimpanan Azure Blob.
    *.queue.core.windows.net TCP 443 Komunikasi dengan penyimpanan Azure Queue.
    *.table.core.windows.net TCP 443 Komunikasi dengan penyimpanan Azure Table.

Gunakan informasi berikut untuk membuat instans komputasi atau kluster dengan alamat IP publik di VNet:

az ml compute create Dalam perintah , ganti nilai berikut:

  • rg: Grup sumber daya tempat komputasi akan dibuat.
  • ws: Nama ruang kerja Azure Pembelajaran Mesin.
  • yourvnet: Azure Virtual Network.
  • yoursubnet: Subnet yang digunakan untuk komputasi.
  • AmlCompute atau ComputeInstance: Menentukan AmlCompute membuat kluster komputasi. ComputeInstance membuat instans komputasi.
# create a compute cluster with a public IP
az ml compute create --name cpu-cluster --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type AmlCompute

# create a compute instance with a public IP
az ml compute create --name myci --resource-group rg --workspace-name ws --vnet-name yourvnet --subnet yoursubnet --type ComputeInstance

Gunakan informasi berikut untuk mengonfigurasi simpul komputasi tanpa server dengan alamat IP publik di VNet untuk ruang kerja tertentu:

Membuat ruang kerja:

az ml workspace create -n <workspace-name> -g <resource-group-name> --file serverlesscomputevnetsettings.yml
name: testserverlesswithvnet
location: eastus
serverless_compute:
  custom_subnet: /subscriptions/<sub id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<vnet name>/subnets/<subnet name>
  no_public_ip: false

Memperbarui ruang kerja:

az ml workspace update -n <workspace-name> -g <resource-group-name> --file serverlesscomputevnetsettings.yml
serverless_compute:
  custom_subnet: /subscriptions/<sub id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<vnet name>/subnets/<subnet name>
  no_public_ip: false

Azure Databricks

  • Jaringan virtual harus berada di langganan dan wilayah yang sama dengan ruang kerja Azure Machine Learning.
  • Jika Akun Azure Storage untuk ruang kerja juga diamankan dalam jaringan virtual, mereka harus berada di jaringan virtual yang sama dengan kluster Azure Databricks.
  • Selain subnet databricks-private dan databricks-public yang digunakan oleh Azure Databricks, subnet default yang dibuat untuk jaringan virtual juga diperlukan.
  • Azure Databricks tidak menggunakan titik akhir privat untuk berkomunikasi dengan jaringan virtual.

Untuk informasi spesifik tentang menggunakan Azure Databricks dengan jaringan virtual, lihat Menyebarkan Azure Databricks di Azure Virtual Network Anda.

Komputer virtual atau kluster HDInsight

Di bagian ini, Anda mempelajari cara menggunakan komputer virtual atau kluster Azure HDInsight di jaringan virtual dengan ruang kerja Anda.

Membuat kluster VM atau HDInsight

Penting

Azure Machine Learning hanya mendukung komputer virtual yang menjalankan Ubuntu.

Buat kluster VM atau HDInsight dengan menggunakan portal Azure atau Azure CLI, dan letakkan kluster dalam jaringan virtual Azure. Untuk informasi lebih lanjut, baca artikel berikut:

Mengonfigurasikan port jaringan

Izinkan Azure Machine Learning berkomunikasi dengan port SSH pada VM atau kluster, mengonfigurasikan entri sumber untuk grup keamanan jaringan. Port SSH biasanya adalah port 22. Untuk mengizinkan lalu lintas dari sumber ini, lakukan tindakan berikut:

  1. Dari daftar drop-down Sumber, pilih Tag Layanan.

  2. Di daftar drop-down Tag layanan sumber, pilih AzureMachineLearning.

    Cuplikan layar aturan masuk untuk melakukan eksperimen pada kluster VM atau HDInsight dalam jaringan virtual.

  3. Di daftar drop-down Rentang port sumber, pilih *.

  4. Di daftar drop-down Tujuan, pilih Apa pun.

  5. Di daftar drop-down Rentang port tujuan, pilih 22.

  6. Di bawah Protokol, pilihApa pun.

  7. DI bawah Tindakan, pilih Izinkan.

Pertahankan aturan keluar default untuk grup keamanan jaringan. Untuk informasi selengkapnya, lihat aturan keamanan default di Kelompok keamanan.

Jika Anda tidak ingin menggunakan aturan keluar default dan ingin membatasi akses keluar jaringan virtual, lihat bagian akses internet publik yang diperlukan.

Melampirkan kluster VM atau HDInsight

Lampirkan kluster VM atau HDInsight ke ruang kerja Azure Machine Learning Anda. Untuk informasi selengkapnya, lihat Mengelola sumber daya komputasi untuk pelatihan dan penyebaran model di studio.

Akses internet publik yang diperlukan untuk melatih model

Penting

Meskipun bagian sebelumnya dari artikel ini menjelaskan konfigurasi yang diperlukan untuk membuat sumber daya komputasi, informasi konfigurasi di bagian ini diperlukan untuk menggunakan sumber daya ini untuk melatih model.

Azure Machine Learning membutuhkan akses masuk dan keluar ke internet publik. Tabel berikut ini memberikan gambaran umum tentang akses yang diperlukan dan tujuan apa yang dilayaninya. Untuk tag layanan yang diakhiri dengan .region, ganti region dengan wilayah Azure yang berisi ruang kerja Anda. Misalnya, Storage.westus:

Tip

Tab yang diperlukan mencantumkan konfigurasi masuk dan keluar yang diperlukan. Tab situasian mencantumkan konfigurasi masuk dan keluar opsional yang diperlukan oleh konfigurasi tertentu yang mungkin ingin Anda aktifkan.

Arah Protokol &
port
Tag layanan Tujuan
Keluar TCP: 80, 443 AzureActiveDirectory Autentikasi menggunakan Microsoft Entra ID..
Keluar TCP: 443, 18881
UDP: 5831
AzureMachineLearning Menggunakan Azure Machine Learning service.
Python intellisense dalam notebook menggunakan port 18881.
Membuat, memperbarui, dan menghapus instans komputasi Azure Pembelajaran Mesin menggunakan port 5831.
Keluar ANY: 443 BatchNodeManagement.region Komunikasi dengan back-end Azure Batch untuk Azure Pembelajaran Mesin instans/kluster komputasi.
Keluar TCP: 443 AzureResourceManager Pembuatan sumber daya Azure dengan Azure Pembelajaran Mesin, Azure CLI, dan Azure Pembelajaran Mesin SDK.
Keluar TCP: 443 Storage.region Data akses yang disimpan di Akun Azure Storage untuk kluster komputasi dan instans komputasi. Untuk informasi tentang mencegah penyelundupan data selama keluar ini, lihat Perlindungan penyelundupan data.
Keluar TCP: 443 AzureFrontDoor.FrontEnd
* Tidak diperlukan di Microsoft Azure yang dioperasikan oleh 21Vianet.
Titik masuk global untuk studio Azure Machine Learning. Simpan gambar dan lingkungan untuk AutoML. Untuk informasi tentang mencegah penyelundupan data selama keluar ini, lihat Perlindungan penyelundupan data.
Keluar TCP: 443 MicrosoftContainerRegistry.region
Perhatikan bahwa tag ini memiliki dependensi pada AzureFrontDoor.FirstParty tag
Mengakses gambar docker yang disediakan oleh Microsoft. Menyiapkan {i>router

Tip

Jika Anda memerlukan alamat IP alih-alih tag layanan, gunakan salah satu opsi berikut:

Alamat IP dapat berubah seiring waktu.

Anda mungkin juga perlu mengizinkan lalu lintas keluar ke Visual Studio Code dan situs non-Microsoft untuk pemasangan paket yang diperlukan oleh proyek pembelajaran mesin Anda. Tabel berikut mencantumkan repositori yang umum digunakan untuk pembelajaran mesin:

Nama host Tujuan
anaconda.com
*.anaconda.com
Digunakan untuk menginstal paket default.
*.anaconda.org Digunakan untuk mendapatkan data repositori.
pypi.org Digunakan untuk mencantumkan dependensi dari indeks default, jika ada, dan indeks tersebut tidak ditimpa oleh pengaturan pengguna. Jika indeks ditimpa, Anda juga harus mengizinkan *.pythonhosted.org.
cloud.r-project.org Digunakan saat menginstal paket CRAN untuk pengembangan R.
*.pytorch.org Digunakan oleh beberapa contoh berdasarkan PyTorch.
*.tensorflow.org Digunakan oleh beberapa contoh berdasarkan Tensorflow.
code.visualstudio.com Diperlukan untuk mengunduh dan menginstal desktop Visual Studio Code. Ini tidak diperlukan untuk Visual Studio Code Web.
update.code.visualstudio.com
*.vo.msecnd.net
Digunakan untuk mengambil bit server Visual Studio Code yang diinstal pada instans komputasi melalui skrip penyiapan.
marketplace.visualstudio.com
vscode.blob.core.windows.net
*.gallerycdn.vsassets.io
Diperlukan untuk mengunduh dan menginstal ekstensi Visual Studio Code. Host ini memungkinkan koneksi jarak jauh ke Instans Komputasi yang disediakan oleh ekstensi Azure ML untuk Visual Studio Code. Untuk mendapatkan informasi lebih lanjut, lihat Menghubungkan ke instans komputasi Azure Machine Learning dalam Visual Studio Code.
raw.githubusercontent.com/microsoft/vscode-tools-for-ai/master/azureml_remote_websocket_server/* Digunakan untuk mengambil bit server websocket, yang diinstal pada instans komputasi. Server websocket digunakan untuk mengirimkan permintaan dari klien Visual Studio Code (aplikasi desktop) ke server Visual Studio Code yang berjalan pada instans komputasi.

Catatan

Saat menggunakan ekstensi Azure Pembelajaran Mesin VS Code, instans komputasi jarak jauh akan memerlukan akses ke repositori publik untuk menginstal paket yang diperlukan oleh ekstensi. Jika instans komputasi memerlukan proksi untuk mengakses repositori publik ini atau Internet, Anda harus mengatur dan mengekspor HTTP_PROXY variabel lingkungan dan HTTPS_PROXY dalam ~/.bashrc file instans komputasi. Proses ini dapat diotomatisasi pada waktu provisi dengan menggunakan skrip kustom.

Saat menggunakan Azure Kubernetes Service (AKS) dengan Azure Machine Learning, izinkan lalu lintas berikut ke VNet AKS:

Untuk informasi tentang menggunakan solusi firewall, lihat Menggunakan firewall dengan Azure Machine Learning.

Langkah berikutnya

Artikel ini adalah bagian dari seri tentang mengamankan alur kerja Azure Machine Learning. Lihat artikel lain dalam seri ini: