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:
- Přehled virtuální sítě
- Zabezpečení prostředků pracovního prostoru
- Zabezpečení prostředí pro odvození
- Povolení funkcí studia
- Použití vlastní služby DNS
- Použití brány firewall
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.
- Použijte partnerský vztah virtuálních sítí.
- Přidejte privátní koncový bod pro váš pracovní prostor ve virtuální síti, který bude obsahovat výpočetní cluster.
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í
Nakonfigurujte pracovní prostor tak, aby používal azure Virtual Network. Další informace najdete v tématu Zabezpečení prostředků pracovního prostoru.
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.
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í.
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.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.
Opakujte předchozí krok a dílčí kroky pro zónu
privatelink.notebooks.azure.net
DNS.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í.
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
Nakonfigurujte pracovní prostor tak, aby používal azure Virtual Network. Další informace najdete v tématu Zabezpečení prostředků pracovního prostoru.
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.
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.
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
UDP443/8787/18881
5831Komunikace 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
neboComputeInstance
: ZadáníAmlCompute
vytvoří výpočetní cluster.ComputeInstance
vytvoří 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
UDP443/8787/18881
5831Komunikace 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
neboComputeInstance
: ZadáníAmlCompute
vytvoří výpočetní cluster.ComputeInstance
vytvoří 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:
V rozevíracím seznamu Zdroj vyberte značku služby.
V rozevíracím seznamu značky zdrojové služby vyberte AzureMachineLearning.
V rozevíracím seznamu Rozsahy zdrojových portů vyberte *.
V rozevíracím seznamu Cíl vyberte Libovolná.
V rozevíracím seznamu Rozsahy cílových portů vyberte 22.
V části Protokol vyberte Libovolná.
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í:
- Stáhněte si seznam z rozsahů IP adres Azure a značek služeb.
- Použijte příkaz Azure CLI az network list-service-tags .
- Použijte příkaz Azure PowerShell Get-AzNetworkServiceTag .
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:
- Obecné požadavky na příchozí a odchozí přenosy pro AKS, jak je popsáno v článku Omezení odchozího a odchozího provozu ve službě Azure Kubernetes Service .
- Odchozí do mcr.microsoft.com.
- Při nasazování modelu do clusteru AKS využijte pokyny v článku Nasazení modelů ML do služby Azure Kubernetes Service .
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: