Sdílet prostřednictvím


Zabezpečení prostředí pro trénování služby Azure Machine Learning s využitím virtuálních sítí

PLATÍ PRO: Python SDK azure-ai-ml v2 (aktuální)

Tip

Místo kroků v tomto článku můžete použít spravované virtuální sítě Azure Machine Learning. Se spravovanou virtuální sítí zpracovává Azure Machine Learning úlohu izolace sítě pro váš pracovní prostor a spravované výpočetní prostředky. Můžete také přidat privátní koncové body pro prostředky potřebné pracovním prostorem, jako je například účet služby Azure Storage. Další informace najdete v tématu Spravovaná izolace sítě pracovního prostoru.

Výpočetní instance Azure Machine Learning, bezserverové výpočetní prostředí a výpočetní cluster je možné použít k bezpečnému trénování modelů ve službě Azure Virtual Network. Při plánování prostředí můžete nakonfigurovat výpočetní instanci nebo cluster nebo výpočetní prostředí bez serveru s veřejnou IP adresou nebo bez této veřejné IP adresy. Mezi těmito dvěma jsou obecné rozdíly:

  • Žádná veřejná IP adresa: Snižuje náklady, protože nemá stejné požadavky na síťové prostředky. Zlepšuje zabezpečení odebráním požadavku na příchozí provoz z internetu. Pro povolení odchozího přístupu k požadovaným prostředkům (ID Microsoft Entra, Azure Resource Manager atd.) se ale vyžadují další změny konfigurace.
  • Veřejná IP adresa: Funguje ve výchozím nastavení, ale náklady jsou vyšší kvůli dalším síťovým prostředkům Azure. Vyžaduje příchozí komunikaci ze služby Azure Machine Learning přes veřejný internet.

Následující tabulka obsahuje rozdíly mezi těmito konfiguracemi:

Konfigurace S veřejnou IP adresou Bez veřejné IP adresy
Příchozí provoz AzureMachineLearning značka služby. Nic
Odchozí provoz Ve výchozím nastavení má přístup k veřejnému internetu bez omezení.
Přístup k datům můžete omezit pomocí skupiny zabezpečení sítě nebo brány firewall.
Ve výchozím nastavení má přístup k veřejné síti pomocí výchozího odchozího přístupu poskytovaného Azure.
Pokud potřebujete směrovat odchozí provoz na požadované prostředky na internetu, doporučujeme místo toho použít bránu NAT nebo bránu firewall virtuální sítě.
Síťové prostředky Azure Veřejná IP adresa, nástroj pro vyrovnávání zatížení, síťové rozhraní Nic

K trénování modelů ve virtuální síti můžete použít také Azure Databricks nebo HDInsight.

Důležité

Položky označené (Preview) v tomto článku jsou aktuálně ve verzi Public Preview. Verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučuje se pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

Tento článek je součástí série o zabezpečení pracovního postupu služby Azure Machine Learning. Podívejte se na další články v této sérii:

Kurz vytvoření zabezpečeného pracovního prostoru najdete v tématu Kurz: Vytvoření zabezpečeného pracovního prostoru, šablony Bicep nebo šablony Terraformu.

V tomto článku se dozvíte, jak ve virtuální síti zabezpečit následující výpočetní prostředky trénování:

  • Výpočetní cluster Azure Machine Learning
  • Výpočetní instance Azure Machine Learningu
  • Bezserverové výpočetní prostředí služby Azure Machine Learning
  • Azure Databricks
  • Virtuální počítač
  • Cluster HDInsight

Požadavky

  • Přečtěte si článek s přehledem zabezpečení sítě a seznamte se s běžnými scénáři virtuální sítě a celkovou architekturou virtuální sítě.

  • Existující virtuální síť a podsíť pro použití s výpočetními prostředky. Tato virtuální síť musí být ve stejném předplatném jako pracovní prostor Azure Machine Learning.

    • Doporučujeme umístit účty úložiště používané vaším pracovním prostorem a trénovacími úlohami do stejné oblasti Azure, kterou plánujete použít pro výpočetní instance, bezserverové výpočetní prostředky a clustery. Pokud nejsou ve stejné oblasti Azure, můžou vám vzniknout náklady na přenos dat a vyšší latence sítě.
    • Ujistěte se, že je ve vaší virtuální síti povolená komunikace přes protokol WebSocket s doménami *.instances.azureml.net a *.instances.azureml.ms. Protokol WebSocket využívá Jupyter ve výpočetních instancích.
  • Existující podsíť ve virtuální síti. Tato podsíť se používá při vytváření výpočetních instancí, clusterů a uzlů pro výpočetní prostředky bez serveru.

    • Ujistěte se, že podsíť není delegovaná na jiné služby Azure.
    • Ujistěte se, že podsíť obsahuje dostatek volných IP adres. Každá výpočetní instance vyžaduje jednu IP adresu. Každý uzel ve výpočetním clusteru a každý výpočetní uzel bez serveru vyžaduje jednu IP adresu.
  • Pokud máte vlastní server DNS, doporučujeme použít předávání DNS k překladu plně kvalifikovaných názvů domén (FQDN) výpočetních instancí a clusterů. Další informace najdete v tématu Použití vlastního DNS se službou Azure Machine Learning.

  • Pokud chcete nasadit prostředky do virtuální sítě nebo podsítě, musí mít váš uživatelský účet oprávnění k následujícím akcím v řízení přístupu na základě role v Azure (Azure RBAC):

    • Microsoft.Network/*/read v prostředku virtuální sítě. Toto oprávnění není potřeba pro nasazení šablon Azure Resource Manageru (ARM).
    • "Microsoft.Network/virtualNetworks/join/action" u prostředku virtuální sítě.
    • Prostředek podsítě "Microsoft.Network/virtualNetworks/subnets/join/action".

    Další informace o Azure RBAC se sítěmi najdete v předdefinovaných rolích sítě.

Omezení

  • Azure Lighthouse nepodporuje nasazení výpočetního clusteru/instance a bezserverových výpočtů ve virtuální síti.

  • Port 445 musí být během trénování otevřený pro privátní síťovou komunikaci mezi výpočetními instancemi a výchozím účtem úložiště. Pokud jsou například vaše výpočetní prostředky v jedné virtuální síti a účet úložiště je v jiné, neblokujte port 445 do virtuální sítě účtu úložiště.

Výpočetní cluster v jiné virtuální síti nebo oblasti z pracovního prostoru

Důležité

Výpočetní instanci nemůžete vytvořit v jiné oblasti nebo virtuální síti, pouze výpočetní cluster.

Pokud chcete vytvořit výpočetní cluster ve službě Azure Virtual Network v jiné oblasti než virtuální síť pracovního prostoru, máte několik možností, jak povolit komunikaci mezi těmito dvěma virtuálními sítěmi.

Důležité

Bez ohledu na vybranou metodu musíte také vytvořit virtuální síť pro výpočetní cluster; Azure Machine Learning ho pro vás nevytvoří.

Musíte také povolit výchozí účet úložiště, Azure Container Registry a Azure Key Vault pro přístup k virtuální síti pro výpočetní cluster. Existuje několik způsobů, jak toho dosáhnout. Můžete například vytvořit privátní koncový bod pro každý prostředek ve virtuální síti pro výpočetní cluster nebo můžete použít partnerský vztah virtuálních sítí virtuálních sítí pracovního prostoru pro přístup k virtuální síti výpočetního clusteru.

Scénář: Partnerský vztah virtuálních sítí

  1. Nakonfigurujte pracovní prostor tak, aby používal azure Virtual Network. Další informace najdete v tématu Zabezpečení prostředků pracovního prostoru.

  2. Vytvořte druhou virtuální síť Azure, která se použije pro vaše výpočetní clustery. Může být v jiné oblasti Azure než ta, která se používá pro váš pracovní prostor.

  3. Nakonfigurujte partnerský vztah virtuálních sítí mezi těmito dvěma virtuálními sítěmi.

    Tip

    Než budete pokračovat, počkejte, až se stav partnerského vztahu virtuálních sítí připojí.

  4. Upravte zónu privatelink.api.azureml.ms DNS a přidejte odkaz na virtuální síť pro výpočetní cluster. Tuto zónu vytvoří váš pracovní prostor Azure Machine Learning, když k účasti ve virtuální síti používá privátní koncový bod.

    1. Přidejte nový odkaz virtuální sítě do zóny DNS. Můžete to udělat několika způsoby:

      • Na webu Azure Portal přejděte do zóny DNS a vyberte propojení virtuální sítě. Pak vyberte + Přidat a vyberte virtuální síť, kterou jste vytvořili pro výpočetní clustery.
      • Z Azure CLI použijte az network private-dns link vnet create příkaz. Další informace najdete v tématu az network private-dns link vnet create.
      • V Azure PowerShellu New-AzPrivateDnsVirtualNetworkLink použijte příkaz. Další informace naleznete v tématu New-AzPrivateDnsVirtualNetworkLink.
  5. Opakujte předchozí krok a dílčí kroky pro zónu privatelink.notebooks.azure.net DNS.

  6. Nakonfigurujte následující prostředky Azure tak, aby umožňovaly přístup z obou virtuálních sítí.

    • Výchozí účet úložiště pro pracovní prostor.
    • Registr kontejneru Azure pro pracovní prostor.
    • Azure Key Vault pro pracovní prostor.

    Tip

    Existují různé způsoby, jak tyto služby nakonfigurovat tak, aby umožňovaly přístup k virtuálním sítím. Můžete například vytvořit privátní koncový bod pro každý prostředek v obou virtuálních sítích. Nebo můžete nakonfigurovat prostředky tak, aby umožňovaly přístup z obou virtuálních sítí.

  7. Vytvořte výpočetní cluster jako obvykle při použití virtuální sítě, ale vyberte virtuální síť, kterou jste vytvořili pro výpočetní cluster. Pokud je virtuální síť v jiné oblasti, vyberte tuto oblast při vytváření výpočetního clusteru.

    Upozorňující

    Pokud se při nastavování oblasti jedná o jinou oblast než pracovní prostor nebo úložiště dat, může se zobrazit vyšší latence sítě a náklady na přenos dat. Latence a náklady můžou nastat při vytváření clusteru a při spouštění úloh.

Scénář: Privátní koncový bod

  1. Nakonfigurujte pracovní prostor tak, aby používal azure Virtual Network. Další informace najdete v tématu Zabezpečení prostředků pracovního prostoru.

  2. Vytvořte druhou virtuální síť Azure, která se použije pro vaše výpočetní clustery. Může být v jiné oblasti Azure než ta, která se používá pro váš pracovní prostor.

  3. Ve virtuální síti vytvořte nový privátní koncový bod pro váš pracovní prostor, který bude obsahovat výpočetní cluster.

    • Pokud chcete přidat nový privátní koncový bod pomocí webu Azure Portal, vyberte svůj pracovní prostor a pak vyberte Sítě. Vyberte připojení privátního koncového bodu + privátní koncový bod a pomocí polí vytvořte nový privátní koncový bod.

      • Při výběru oblasti vyberte stejnou oblast jako vaše virtuální síť.
      • Při výběru typu prostředku použijte Microsoft.MachineLearningServices/workspaces.
      • Nastavte prostředek na název pracovního prostoru.
      • Nastavte virtuální síť a podsíť na virtuální síť a podsíť, které jste vytvořili pro výpočetní clustery.

      Nakonec vyberte Vytvořit a vytvořte privátní koncový bod.

    • Pokud chcete přidat nový privátní koncový bod pomocí Azure CLI, použijte příkaz az network private-endpoint create. Příklad použití tohoto příkazu najdete v tématu Konfigurace privátního koncového bodu pro pracovní prostor Azure Machine Learning.

  4. Vytvořte výpočetní cluster jako obvykle při použití virtuální sítě, ale vyberte virtuální síť, kterou jste vytvořili pro výpočetní cluster. Pokud je virtuální síť v jiné oblasti, vyberte tuto oblast při vytváření výpočetního clusteru.

    Upozorňující

    Pokud se při nastavování oblasti jedná o jinou oblast než pracovní prostor nebo úložiště dat, může se zobrazit vyšší latence sítě a náklady na přenos dat. Latence a náklady můžou nastat při vytváření clusteru a při spouštění úloh.

Výpočetní instance/ cluster nebo bezserverové výpočetní prostředky bez veřejné IP adresy

Důležité

Tyto informace jsou platné pouze při použití služby Azure Virtual Network. Pokud používáte spravovanou virtuální síť, výpočetní prostředky se ve vaší virtuální síti Azure nedají nasadit. Informace o používání spravované virtuální sítě najdete v tématu Spravované výpočetní prostředky se spravovanou sítí.

Důležité

Pokud používáte výpočetní instance nebo výpočetní clustery nakonfigurované pro žádnou veřejnou IP adresu bez výslovného souhlasu s verzí Preview, budete je muset odstranit a znovu vytvořit po 20. lednu 2023 (pokud je tato funkce obecně dostupná).

Pokud jste dříve používali verzi Preview žádné veřejné IP adresy, možná budete muset upravit, jaký provoz povolíte pro příchozí a odchozí provoz, protože se požadavky změnily pro obecnou dostupnost:

  • Odchozí požadavky – dva další odchozí přenosy, které se používají jenom pro správu výpočetních instancí a clusterů. Cílem těchto značek služeb vlastní Microsoft:
    • AzureMachineLearning značka služby na portu UDP 5831.
    • BatchNodeManagement značka služby na portu TCP 443.

Následující konfigurace jsou kromě konfigurací uvedených v části Požadavky a jsou specifické pro vytvoření výpočetních instancí nebo clusterů nakonfigurovaných pro žádnou veřejnou IP adresu. Platí také pro výpočetní prostředky bez serveru:

  • Pro komunikaci se službami Azure Machine Learning z virtuální sítě musíte použít privátní koncový bod pracovního prostoru pro výpočetní prostředek. Další informace najdete v tématu Konfigurace privátního koncového bodu pro pracovní prostor Azure Machine Learning.

  • Povolte ve své virtuální síti odchozí provoz do následujících značek služeb nebo plně kvalifikovaných názvů domén (FQDN):

    Značka služby Protokol Port Notes
    AzureMachineLearning TCP
    UDP
    443/8787/18881
    5831
    Komunikace se službou Azure Machine Learning Service.
    BatchNodeManagement.<region> LIBOVOLNÉ 443 Nahraďte <region> oblastí Azure, která obsahuje váš pracovní prostor Azure Machine Learning. Komunikace s Azure Batch. Výpočetní instance a výpočetní cluster jsou implementovány pomocí služby Azure Batch.
    Storage.<region> TCP 443 Nahraďte <region> oblastí Azure, která obsahuje váš pracovní prostor Azure Machine Learning. Tato značka služby slouží ke komunikaci s účtem Azure Storage používaným službou Azure Batch.

    Důležité

    Odchozí přístup Storage.<region> by mohl být možné použít k exfiltraci dat z vašeho pracovního prostoru. Pomocí zásad koncového bodu služby můžete toto ohrožení zabezpečení zmírnit. Další informace najdete v článku o prevenci exfiltrace dat ve službě Azure Machine Learning.

    FQDN Protokol Port Notes
    <region>.tundra.azureml.ms UDP 5831 Nahraďte <region> oblastí Azure, která obsahuje váš pracovní prostor Azure Machine Learning.
    graph.windows.net TCP 443 Komunikace s rozhraním Microsoft Graph API.
    *.instances.azureml.ms TCP 443/8787/18881 Komunikace se službou Azure Machine Learning.
    *.<region>.batch.azure.com LIBOVOLNÉ 443 Nahraďte <region> oblastí Azure, která obsahuje váš pracovní prostor Azure Machine Learning. Komunikace s Azure Batch.
    *.<region>.service.batch.azure.com LIBOVOLNÉ 443 Nahraďte <region> oblastí Azure, která obsahuje váš pracovní prostor Azure Machine Learning. Komunikace s Azure Batch.
    *.blob.core.windows.net TCP 443 Komunikace se službou Azure Blob Storage.
    *.queue.core.windows.net TCP 443 Komunikace se službou Azure Queue Storage.
    *.table.core.windows.net TCP 443 Komunikace se službou Azure Table Storage.
  • Ve výchozím nastavení nemá výpočetní instance nebo cluster nakonfigurovaný bez veřejné IP adresy odchozí přístup k internetu. Pokud z něj máte přístup k internetu, je to díky výchozímu odchozímu přístupu Azure a tomu, že máte skupinu zabezpečení sítě, které umožňuje odchozí provoz do internetu. Výchozí odchozí přístup však nedoporučujeme používat. Pokud potřebujete odchozí přístup k internetu, doporučujeme místo toho povolit odchozí provoz pomocí brány firewall a odchozích pravidel nebo brány NAT a skupin síťových služeb.

    Další informace o odchozím provozu používaném službou Azure Machine learning najdete v následujících článcích:

    Další informace o značkách služeb, které je možné použít se službou Azure Firewall, najdete v článku značky služeb virtuální sítě.

Pomocí následujících informací vytvořte výpočetní instanci nebo cluster bez veřejné IP adresy:

az ml compute create V příkazu nahraďte následující hodnoty:

  • rg: Skupina prostředků, ve které se výpočetní prostředky vytvoří.
  • ws: Název pracovního prostoru Azure Machine Learning.
  • yourvnet: Virtuální síť Azure.
  • yoursubnet: Podsíť, která se má použít pro výpočetní prostředky.
  • AmlCompute nebo ComputeInstance: Zadání AmlCompute vytvoří výpočetní cluster. ComputeInstancevytvoří výpočetní instanci.
# 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

Následující informace použijte ke konfiguraci bezserverových výpočetních uzlů bez veřejné IP adresy ve virtuální síti pro daný pracovní prostor:

Důležité

Pokud používáte výpočetní prostředí bez veřejné IP adresy a pracovní prostor používá seznam povolených IP adres, musíte do pracovního prostoru přidat odchozí privátní koncový bod. Výpočetní prostředí bez serveru musí komunikovat s pracovním prostorem, ale když je nakonfigurovaná pro žádnou veřejnou IP adresu, pro přístup k internetu používá výchozí odchozí provoz Azure. Veřejná IP adresa pro tento odchozí provoz je dynamická a není možné ji přidat do seznamu povolených IP adres. Vytvoření odchozího privátního koncového bodu do pracovního prostoru umožňuje provoz z bezserverového výpočetního prostředí vázaného na pracovní prostor obejít seznam povolených IP adres.

Vytvoření pracovního prostoru:

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

Aktualizovat pracovní prostor:

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

Výpočetní instance/ cluster nebo bezserverové výpočetní prostředky s veřejnou IP adresou

Důležité

Tyto informace jsou platné pouze při použití služby Azure Virtual Network. Pokud používáte spravovanou virtuální síť, výpočetní prostředky se ve vaší virtuální síti Azure nedají nasadit. Informace o používání spravované virtuální sítě najdete v tématu Spravované výpočetní prostředky se spravovanou sítí.

Následující konfigurace jsou kromě konfigurací uvedených v části Požadavky a jsou specifické pro vytváření výpočetních instancí nebo clusterů s veřejnou IP adresou. Platí také pro výpočetní prostředky bez serveru:

  • Pokud do jedné virtuální sítě umístíte několik výpočetních instancí nebo clusterů, možná budete muset požádat o navýšení kvóty pro jeden nebo více prostředků. Výpočetní instance nebo cluster Machine Learning automaticky přiděluje síťové prostředky ve skupině prostředků , která obsahuje virtuální síť. Pro každou výpočetní instanci nebo cluster služba přidělí následující prostředky:

    • Automaticky se vytvoří skupina zabezpečení sítě (NSG). Tato skupina zabezpečení sítě umožňuje příchozí provoz TCP na portu 44224 ze značky AzureMachineLearning služby.

      Důležité

      Výpočetní instance a výpočetní cluster automaticky vytvoří skupinu zabezpečení sítě s požadovanými pravidly.

      Pokud máte na úrovni podsítě další skupinu zabezpečení sítě, pravidla v NSG na úrovni podsítě nesmí být v konfliktu s pravidly v automaticky vytvořené skupině zabezpečení sítě.

      Pokud chcete zjistit, jak skupiny zabezpečení sítě filtrují síťový provoz, přečtěte si, jak skupiny zabezpečení sítě filtrují síťový provoz.

    • Jeden nástroj pro vyrovnávání zatížení

    U výpočetních clusterů se tyto prostředky odstraní při každém vertikálním navýšení kapacity clusteru na 0 uzlů a vytvoří se při vertikálním navýšení kapacity.

    V případě výpočetní instance se tyto prostředky zachovávají, dokud se instance neodstraní. Zastavení instance neodebere prostředky.

    Důležité

    Pro tyto prostředky platí omezení kvót prostředků předplatného. Pokud je skupina prostředků virtuální sítě uzamčená, odstranění výpočetního clusteru nebo instance selže. Nástroj pro vyrovnávání zatížení nelze odstranit, dokud se výpočetní cluster nebo instance nesmažou. Ujistěte se také, že neexistuje žádné přiřazení služby Azure Policy, které zakazuje vytváření skupin zabezpečení sítě.

  • Ve virtuální síti povolte příchozí provoz TCP na portu 44224 ze značky AzureMachineLearning služby.

    Důležité

    Výpočetní instance nebo cluster se při vytváření dynamicky přiřadí IP adrese. Vzhledem k tomu, že adresa není známa před vytvořením a v rámci procesu vytváření se vyžaduje příchozí přístup, nemůžete ji staticky přiřadit v bráně firewall. Pokud místo toho používáte bránu firewall s virtuální sítí, musíte vytvořit trasu definovanou uživatelem, která povolí tento příchozí provoz.

  • Povolte ve virtuální síti odchozí provoz do následujících značek služby:

    Značka služby Protokol Port Notes
    AzureMachineLearning TCP
    UDP
    443/8787/18881
    5831
    Komunikace se službou Azure Machine Learning Service.
    BatchNodeManagement.<region> LIBOVOLNÉ 443 Nahraďte <region> oblastí Azure, která obsahuje váš pracovní prostor Azure Machine Learning. Komunikace s Azure Batch. Výpočetní instance a výpočetní cluster jsou implementovány pomocí služby Azure Batch.
    Storage.<region> TCP 443 Nahraďte <region> oblastí Azure, která obsahuje váš pracovní prostor Azure Machine Learning. Tato značka služby slouží ke komunikaci s účtem Azure Storage používaným službou Azure Batch.

    Důležité

    Odchozí přístup Storage.<region> by mohl být možné použít k exfiltraci dat z vašeho pracovního prostoru. Pomocí zásad koncového bodu služby můžete toto ohrožení zabezpečení zmírnit. Další informace najdete v článku o prevenci exfiltrace dat ve službě Azure Machine Learning.

    FQDN Protokol Port Notes
    <region>.tundra.azureml.ms UDP 5831 Nahraďte <region> oblastí Azure, která obsahuje váš pracovní prostor Azure Machine Learning.
    graph.windows.net TCP 443 Komunikace s rozhraním Microsoft Graph API.
    *.instances.azureml.ms TCP 443/8787/18881 Komunikace se službou Azure Machine Learning.
    *.<region>.batch.azure.com LIBOVOLNÉ 443 Nahraďte <region> oblastí Azure, která obsahuje váš pracovní prostor Azure Machine Learning. Komunikace s Azure Batch.
    *.<region>.service.batch.azure.com LIBOVOLNÉ 443 Nahraďte <region> oblastí Azure, která obsahuje váš pracovní prostor Azure Machine Learning. Komunikace s Azure Batch.
    *.blob.core.windows.net TCP 443 Komunikace se službou Azure Blob Storage.
    *.queue.core.windows.net TCP 443 Komunikace se službou Azure Queue Storage.
    *.table.core.windows.net TCP 443 Komunikace se službou Azure Table Storage.

Pomocí následujících informací vytvořte výpočetní instanci nebo cluster s veřejnou IP adresou ve virtuální síti:

az ml compute create V příkazu nahraďte následující hodnoty:

  • rg: Skupina prostředků, ve které se výpočetní prostředky vytvoří.
  • ws: Název pracovního prostoru Azure Machine Learning.
  • yourvnet: Virtuální síť Azure.
  • yoursubnet: Podsíť, která se má použít pro výpočetní prostředky.
  • AmlCompute nebo ComputeInstance: Zadání AmlCompute vytvoří výpočetní cluster. ComputeInstancevytvoří výpočetní instanci.
# 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

Následující informace použijte ke konfiguraci bezserverových výpočetních uzlů s veřejnou IP adresou ve virtuální síti pro daný pracovní prostor:

Vytvoření pracovního prostoru:

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

Aktualizovat pracovní prostor:

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

  • Virtuální síť musí být ve stejném předplatném a oblasti jako pracovní prostor Služby Azure Machine Learning.
  • Pokud jsou účty úložiště Azure pro pracovní prostor také zabezpečené ve virtuální síti, musí být ve stejné virtuální síti jako cluster Azure Databricks.
  • Kromě podsítí databricks-private a databricks-public, které používá Azure Databricks, se také vyžaduje výchozí podsíť vytvořená pro virtuální síť.
  • Azure Databricks nepoužívá privátní koncový bod ke komunikaci s virtuální sítí.

Konkrétní informace o používání Azure Databricks s virtuální sítí najdete v tématu Nasazení Azure Databricks ve vaší virtuální síti Azure.

Virtuální počítač nebo cluster HDInsight

V této části se dozvíte, jak používat virtuální počítač nebo cluster Azure HDInsight ve virtuální síti s vaším pracovním prostorem.

Vytvoření virtuálního počítače nebo clusteru HDInsight

Důležité

Azure Machine Learning podporuje jenom virtuální počítače, na kterých běží Ubuntu.

Vytvořte virtuální počítač nebo cluster HDInsight pomocí webu Azure Portal nebo Azure CLI a vložte ho do virtuální sítě Azure. Další informace najdete v následujících článcích:

Konfigurace síťových portů

Povolte službě Azure Machine Learning komunikaci s portem SSH na virtuálním počítači nebo clusteru a nakonfigurujte zdrojovou položku pro skupinu zabezpečení sítě. Port SSH je obvykle port 22. Pokud chcete povolit provoz z tohoto zdroje, proveďte následující akce:

  1. V rozevíracím seznamu Zdroj vyberte značku služby.

  2. V rozevíracím seznamu značky zdrojové služby vyberte AzureMachineLearning.

    Snímek obrazovky s příchozími pravidly pro experimentování na virtuálním počítači nebo clusteru HDInsight ve virtuální síti

  3. V rozevíracím seznamu Rozsahy zdrojových portů vyberte *.

  4. V rozevíracím seznamu Cíl vyberte Libovolná.

  5. V rozevíracím seznamu Rozsahy cílových portů vyberte 22.

  6. V části Protokol vyberte Libovolná.

  7. V části Akce vyberte Povolit.

Ponechte výchozí pravidla odchozích přenosů pro skupinu zabezpečení sítě. Další informace najdete ve výchozích pravidlech zabezpečení ve skupinách zabezpečení.

Pokud nechcete používat výchozí pravidla odchozích přenosů a chcete omezit odchozí přístup virtuální sítě, přečtěte si část Požadovaný veřejný přístup k internetu.

Připojení virtuálního počítače nebo clusteru HDInsight

Připojte virtuální počítač nebo cluster HDInsight k pracovnímu prostoru služby Azure Machine Learning. Další informace najdete v tématu Správa výpočetních prostředků pro trénování a nasazení modelu v nástroji Studio.

Požadovaný veřejný přístup k internetu pro trénování modelů

Důležité

Předchozí části tohoto článku popisují konfigurace potřebné k vytvoření výpočetních prostředků, ale informace o konfiguraci v této části jsou potřeba k použití těchto prostředků k trénování modelů.

Azure Machine Learning vyžaduje příchozí i odchozí přístup k veřejnému internetu. Následující tabulky poskytují přehled požadovaného přístupu a účelu, který slouží. Pro značky služeb, které končí .region, nahraďte region oblastí Azure, která obsahuje váš pracovní prostor. Příklad: Storage.westus

Tip

Na požadované kartě je uvedena požadovaná příchozí a odchozí konfigurace. Na situační kartě jsou uvedeny volitelné příchozí a odchozí konfigurace vyžadované konkrétními konfiguracemi, které můžete chtít povolit.

Směr Protokol a protokol
ports
Značka služby Účel
Odchozí TCP: 80, 443 AzureActiveDirectory Ověřování pomocí Microsoft Entra ID.
Odchozí TCP: 443, 18881
UDP: 5831
AzureMachineLearning Použití služeb Azure Machine Learning.
Python IntelliSense v poznámkových blocích používá port 18881.
Vytvoření, aktualizace a odstranění výpočetní instance služby Azure Machine Learning používá port 5831.
Odchozí ANY: 443 BatchNodeManagement.region Komunikace s back-endem služby Azure Batch pro výpočetní instance a clustery služby Azure Machine Learning
Odchozí TCP: 443 AzureResourceManager Vytváření prostředků Azure pomocí azure Machine Learning, Azure CLI a sady Azure Machine Learning SDK
Odchozí TCP: 443 Storage.region Přístup k datům uloženým v účtu služby Azure Storage pro výpočetní cluster a výpočetní instanci Informace o zabránění exfiltraci dat přes tento odchozí provoz naleznete v tématu Ochrana před exfiltrací dat.
Odchozí TCP: 443 AzureFrontDoor.FrontEnd
* V Microsoft Azure provozovaném společností 21Vianet není potřeba.
Globální vstupní bod pro studio Azure Machine Learning. Ukládání imagí a prostředí pro automatizované strojové učení Informace o zabránění exfiltraci dat přes tento odchozí provoz naleznete v tématu Ochrana před exfiltrací dat.
Odchozí TCP: 443 MicrosoftContainerRegistry.region
Všimněte si , že tato značka má závislost na AzureFrontDoor.FirstParty značce.
Získejte přístup k imagím Dockeru od Microsoftu. Nastavení směrovače Azure Machine Learning pro službu Azure Kubernetes Service

Tip

Pokud místo značek služeb potřebujete IP adresy, použijte jednu z následujících možností:

IP adresy se můžou pravidelně měnit.

Pro instalaci balíčků vyžadovaných vaším projektem strojového učení možná budete muset povolit odchozí provoz na weby visual Studio Code a jiných webů než Microsoftu. V následující tabulce jsou uvedená běžně používaná úložiště pro strojové učení:

Název hostitele Účel
anaconda.com
*.anaconda.com
Slouží k instalaci výchozích balíčků.
*.anaconda.org Slouží k získání dat úložiště.
pypi.org Používá se k výpisu závislostí z výchozího indexu( pokud existuje) a index se nepřepíše uživatelským nastavením. Pokud je index přepsán, musíte také povolit *.pythonhosted.org.
cloud.r-project.org Používá se při instalaci balíčků CRAN pro vývoj R.
*.pytorch.org Používá se v některých příkladech založených na PyTorchu.
*.tensorflow.org Používá se v některých příkladech založených na Tensorflow.
code.visualstudio.com Vyžaduje se ke stažení a instalaci desktopové verze editoru Visual Studio Code. To není nutné pro web editoru Visual Studio Code.
update.code.visualstudio.com
*.vo.msecnd.net
Používá se k načtení bitů serveru editoru Visual Studio Code nainstalovaných ve výpočetní instanci pomocí instalačního skriptu.
marketplace.visualstudio.com
vscode.blob.core.windows.net
*.gallerycdn.vsassets.io
Vyžaduje se ke stažení a instalaci rozšíření editoru Visual Studio Code. Tito hostitelé umožňují vzdálené připojení ke výpočetním instancím poskytovaným rozšířením Azure ML pro Visual Studio Code. Další informace najdete v tématu Připojení k výpočetní instanci služby Azure Machine Learning ve Visual Studio Code.
raw.githubusercontent.com/microsoft/vscode-tools-for-ai/master/azureml_remote_websocket_server/* Používá se k načtení bitů serveru websocket, které jsou nainstalované ve výpočetní instanci. Server WebSocket se používá k přenosu požadavků z klienta Visual Studio Code (desktopová aplikace) na server Visual Studio Code ve výpočetní instanci.

Poznámka:

Při použití rozšíření Azure Machine Learning VS Code bude vzdálená výpočetní instance vyžadovat přístup k veřejným úložištím pro instalaci balíčků požadovaných rozšířením. Pokud výpočetní instance vyžaduje pro přístup k těmto veřejným úložištím nebo internetu proxy server, budete muset nastavit a exportovat proměnné prostředí HTTP_PROXY a HTTPS_PROXY v souboru ~/.bashrc výpočetní instance. Tento proces je možné automatizovat při zřizování pomocí vlastního skriptu.

Při použití služby Azure Kubernetes Service (AKS) se službou Azure Machine Learning povolte následující provoz do virtuální sítě AKS:

Informace o používání řešení brány firewall najdete v tématu Použití brány firewall se službou Azure Machine Learning.

Další kroky

Tento článek je součástí série o zabezpečení pracovního postupu služby Azure Machine Learning. Podívejte se na další články v této sérii: