Machine Learning DevOps (MLOps), který byl poprvé zvýrazněný ve skrytém technickém dluhu v systémech strojového učení v roce 2015, rychle roste. Očekává se, že trh MLOps do roku 2025 dosáhne 4 miliardy USD. Mezitím je práce na zabezpečení řešení MLOps důležitější.
Tento článek popisuje, jak pomoct chránit řešení MLOps pomocí funkcí zabezpečení sítě Azure, jako jsou Azure Virtual Network, partnerský vztah sítě, Azure Private Link a Azure DNS. Představuje také způsob použití:
- Azure Pipelines pro přístup k prostředkům ve virtuální síti
- Požadované konfigurace služby Azure Container Registry a výpočetních instancí a clusterů služby Azure Machine Learning ve virtuální síti.
Nakonec tento článek popisuje náklady na používání služeb zabezpečení sítě.
Architektura
Stáhněte si soubor aplikace Visio s touto architekturou.
Tok dat
Diagram architektury znázorňuje ukázkové řešení MLOps.
Virtuální síť s názvem AML VNET pomáhá chránit pracovní prostor služby Azure Machine Learning a jeho přidružené prostředky.
Hostitel jumpu, Azure Bastion a agenti v místním prostředí patří do jiné virtuální sítě s názvem BASTION VNET. Toto uspořádání simuluje další řešení, které vyžaduje přístup k prostředkům ve virtuální síti Azure Machine Learning.
S podporou partnerského vztahu virtuálních sítí a privátních zón DNS může Azure Pipelines spouštět na agentech místního hostitele a aktivovat kanály Služby Azure Machine Learning publikované v pracovním prostoru Azure Machine Learning pro trénování, vyhodnocování a registraci modelů strojového učení.
Nakonec se model nasadí do online koncových bodů nebo dávkových koncových bodů podporovaných výpočetními službami Azure Machine Learning nebo clustery Azure Kubernetes Service.
Komponenty
Ukázkové řešení MLOps se skládá z těchto komponent:
- Úložiště dat: Azure Blob Storage pro úložiště dat.
- Trénování, ověřování a registrace modelů: pracovní prostor Azure Machine Learning
- Nasazení modelu: Koncové body služby Azure Machine Learning a Azure Kubernetes Service
- Monitorování modelů: Azure Monitor pro Application Insights
- Kanály MLOps: Azure DevOps a Azure Pipelines
Tento ukázkový scénář také používá následující služby k ochraně řešení MLOps:
Podrobnosti scénáře
MLOps je sada postupů v průsečíku strojového učení, DevOps a přípravy dat, jehož cílem je spolehlivě a efektivně nasazovat a udržovat modely strojového učení v produkčním prostředí.
Následující diagram znázorňuje zjednodušený model procesu MLOps. Tento model nabízí řešení, které automatizuje přípravu dat, trénování modelu, vyhodnocení modelu, registraci modelu, nasazení modelu a monitorování.
Při implementaci řešení MLOps můžete chtít pomoct zabezpečit tyto prostředky:
- Kanály DevOps
- Trénovací data strojového učení
- Kanály Machine Learningu
- Modely strojového učení
Při zabezpečení prostředků zvažte tyto metody:
Ověřování a autorizace
- Místo interaktivního ověřování používejte instanční objekty nebo spravované identity .
- Pomocí řízení přístupu na základě role definujte rozsah přístupu uživatele k prostředkům.
Zabezpečení sítě
- Pomocí virtuální sítě můžete částečně nebo zcela izolovat prostředí od veřejného internetu, abyste snížili prostor pro útok a potenciál exfiltrace dat.
- Pokud v pracovním prostoru Azure Machine Learning stále používáte Azure Machine Learning CLI v1 a Sadu Azure Machine Learning Python SDK v1 (například rozhraní API v1), přidejte do pracovního prostoru privátní koncový bod, který zajistí izolaci sítě pro všechno kromě operací vytvoření, čtení, aktualizace a odstranění (CRUD) v pracovním prostoru nebo výpočetních prostředcích.
- Pokud chcete využít nové funkce pracovního prostoru Azure Machine Learning, použijte Azure Machine Learning CLI v2 a Sadu Azure Machine Learning Python SDK v2 (například rozhraní API v2), ve kterém povolení privátního koncového bodu v pracovním prostoru neposkytuje stejnou úroveň izolace sítě. Virtuální síť ale stále pomůže chránit trénovací data a modely strojového učení. Než ho přijmete v podnikových řešeních, doporučujeme vyhodnotit rozhraní API v2. Další informace najdete v tématu Co je nová platforma rozhraní API v Azure Resource Manageru.
- Pomocí virtuální sítě můžete částečně nebo zcela izolovat prostředí od veřejného internetu, abyste snížili prostor pro útok a potenciál exfiltrace dat.
Šifrování dat
- Šifrování přenášených a neaktivních uložených dat pomocí přístupových klíčů spravovaných platformou nebo spravovaných zákazníkem
Zásady a monitorování
- K vynucení zásad použijte Azure Policy a Microsoft Defender for Cloud.
- Pomocí služby Azure Monitor můžete shromažďovat a agregovat data (například metriky a protokoly) z různých zdrojů do společné datové platformy pro analýzu, vizualizaci a upozorňování.
Pracovní prostor Azure Machine Learning je prostředek nejvyšší úrovně pro Azure Machine Learning a základní komponentu řešení MLOps. Pracovní prostor poskytuje centralizované místo pro práci se všemi artefakty, které vytvoříte při použití služby Azure Machine Learning.
Když vytvoříte nový pracovní prostor, automaticky se vytvoří následující prostředky Azure, které tento pracovní prostor používá:
- Azure Application Insights
- Azure Container Registry
- Azure Key Vault
- Účet služby Azure Storage
Potenciální případy použití
Toto řešení odpovídá scénářům, ve kterých zákazník používá řešení MLOps k nasazení a údržbě modelů strojového učení v bezpečnějším prostředí. Zákazníci mohou pocházet z různých odvětví, jako jsou výroba, telekomunikační, maloobchod, zdravotnictví atd. Příklad:
Telekomunikační operátor pomáhá chránit obrázky, data a modely strojového učení zákazníka ve svém systému pro monitorování videí pro maloobchodní prodejny.
Výrobce motoru potřebuje bezpečnější řešení, které pomáhá chránit modely datových a strojového učení svých továren a produktů pro svůj systém, který používá počítačové zpracování obrazu ke zjišťování vad v částech.
Řešení MLOps pro tyto scénáře a další můžou používat pracovní prostory Azure Machine Learning, Azure Blob Storage, Azure Kubernetes Service, Container Registry a další služby Azure.
Všechny nebo část tohoto příkladu můžete použít pro jakýkoli podobný scénář, který má prostředí MLOps nasazené v Azure a používá funkce zabezpečení Azure k ochraně příslušných prostředků. Původní zákazník tohoto řešení je v telekomunikačním průmyslu.
Důležité informace
Tyto aspekty implementují pilíře dobře architektuře Azure, což je sada hlavních principů, které při použití zlepšují kvalitu úlohy. Další informace naleznete v tématu Microsoft Azure Well-Architected Framework.
Zabezpečení
Zabezpečení poskytuje větší záruky proti záměrným útokům a zneužití cenných dat a systémů. Další informace najdete v tématu Přehled pilíře zabezpečení.
Zvažte, jak pomoct zabezpečit řešení MLOps počínaje návrhem architektury. Vývojová prostředí nemusí potřebovat významné zabezpečení, ale je důležité v přípravných a produkčních prostředích.
Optimalizace nákladů
Optimalizace nákladů se zabývá způsoby, jak snížit zbytečné výdaje a zlepšit efektivitu provozu. Další informace najdete v tématu Přehled pilíře optimalizace nákladů.
Konfigurace virtuální sítě je bezplatná, ale pro ostatní služby, které váš scénář může vyžadovat, jako jsou privátní propojení, zóny DNS a partnerský vztah virtuálních sítí, se účtují poplatky. Následující tabulka popisuje poplatky za tyto služby a další služby, které mohou být vyžadovány.
Služba Azure | Ceny |
---|---|
Virtual Network | Zdarma. |
Private Link | Platíte jenom za hodiny prostředků privátního koncového bodu a data, která se zpracovávají prostřednictvím vašeho privátního koncového bodu. |
Azure DNS, privátní zóna | Fakturace vychází z počtu zón DNS hostovaných v Azure a počtu přijatých dotazů DNS. |
Partnerský vztah virtuálních sítí | Příchozí a výchozí provoz se účtuje na obou koncích partnerských sítí. |
VPN Gateway | Poplatky vycházejí z doby, po kterou je brána zřízená a dostupná. |
ExpressRoute | Poplatky jsou pro brány ExpressRoute a ExpressRoute. |
Azure Bastion | Fakturace zahrnuje kombinaci hodinových cen založených na cenách skladových položek, jednotek škálování a přenosové sazby dat. |
Provozní dokonalost
Efektivita provozu zahrnuje provozní procesy, které nasazují aplikaci a udržují ji spuštěnou v produkčním prostředí. Další informace najdete v tématu Přehled pilíře efektivity provozu.
Osvědčeným postupem pro zjednodušení kontinuální integrace a průběžného doručování (CI/CD) je použití nástrojů a služeb pro infrastrukturu jako kód (IaC), jako jsou Terraform nebo šablony Azure Resource Manageru, Azure DevOps a Azure Pipelines.
Nasazení tohoto scénáře
Následující části popisují nasazení, přístup a zabezpečení prostředků v tomto ukázkovém scénáři.
Virtual Network
Prvním krokem při zabezpečení prostředí MLOps je pomoct chránit pracovní prostor Azure Machine Learning a jeho přidružené prostředky. Efektivní metodou ochrany je použití virtuální sítě. Virtuální síť je základním stavebním blokem vaší privátní sítě v Azure. Virtuální síť umožňuje více typů prostředků Azure bezpečněji komunikovat mezi sebou, internetem a místními sítěmi.
Umístění pracovního prostoru Azure Machine Learning a jeho přidružených prostředků do virtuální sítě pomáhá zajistit, aby spolu komponenty mohly komunikovat, aniž by je zpřístupňuje veřejný internet. Tím se zmenšuje prostor pro útok a pomáhá zabránit exfiltraci dat.
Následující fragment kódu Terraformu ukazuje, jak vytvořit výpočetní cluster pro Azure Machine Learning, připojit ho k pracovnímu prostoru a umístit ho do podsítě virtuální sítě.
resource "azurerm_machine_learning_compute_cluster" "compute_cluster" {
name = "my_compute_cluster"
location = "eastasia"
vm_priority = "LowPriority"
vm_size = "Standard_NC6s_v3"
machine_learning_workspace_id = azurerm_machine_learning_workspace.my_workspace.id
subnet_resource_id = azurerm_subnet.compute_subnet.id
ssh_public_access_enabled = false
scale_settings {
min_node_count = 0
max_node_count = 3
scale_down_nodes_after_idle_duration = "PT30S"
}
identity {
type = "SystemAssigned"
}
}
Private Link a privátní koncový bod Azure
Private Link umožňuje přístup k privátnímu koncovému bodu ve vaší virtuální síti k možnostem Platformy jako služby Azure (PaaS), jako je pracovní prostor Azure Machine Learning a Azure Storage, a ke službám vlastněným zákazníkem a partnerskými službami hostovanými v Azure. Privátní koncový bod je síťové rozhraní, které se připojuje pouze ke konkrétním prostředkům, a pomáhá tak chránit před exfiltrací dat.
V tomto ukázkovém scénáři existují čtyři privátní koncové body, které jsou svázané s možnostmi Azure PaaS a jsou spravovány podsítí ve virtuální síti Azure Machine Learning, jak je znázorněno v diagramu architektury. Tyto služby jsou proto přístupné jenom prostředkům ve stejné virtuální síti, ve které je virtuální síť Azure Machine Learning. Mezi tyto služby patří:
- Pracovní prostor služby Azure Machine Learning
- Azure Blob Storage
- Azure Container Registry
- Azure Key Vault
Následující fragment kódu Terraformu ukazuje, jak pomocí privátního koncového bodu propojit pracovní prostor Služby Azure Machine Learning, který je v důsledku toho chráněnější virtuální sítí. Fragment kódu také ukazuje použití privátní zóny DNS, která je popsaná v zónách Azure Privátní DNS.
resource "azurerm_machine_learning_workspace" "aml_ws" {
name = "my_aml_workspace"
friendly_name = "my_aml_workspace"
location = "eastasia"
resource_group_name = "my_resource_group"
application_insights_id = azurerm_application_insights.my_ai.id
key_vault_id = azurerm_key_vault.my_kv.id
storage_account_id = azurerm_storage_account.my_sa.id
container_registry_id = azurerm_container_registry.my_acr_aml.id
identity {
type = "SystemAssigned"
}
}
# Configure private DNS zones
resource "azurerm_private_dns_zone" "ws_zone_api" {
name = "privatelink.api.azureml.ms"
resource_group_name = var.RESOURCE_GROUP
}
resource "azurerm_private_dns_zone" "ws_zone_notebooks" {
name = "privatelink.notebooks.azure.net"
resource_group_name = var.RESOURCE_GROUP
}
# Link DNS zones to the virtual network
resource "azurerm_private_dns_zone_virtual_network_link" "ws_zone_api_link" {
name = "ws_zone_link_api"
resource_group_name = "my_resource_group"
private_dns_zone_name = azurerm_private_dns_zone.ws_zone_api.name
virtual_network_id = azurerm_virtual_network.aml_vnet.id
}
resource "azurerm_private_dns_zone_virtual_network_link" "ws_zone_notebooks_link" {
name = "ws_zone_link_notebooks"
resource_group_name = "my_resource_group"
private_dns_zone_name = azurerm_private_dns_zone.ws_zone_notebooks.name
virtual_network_id = azurerm_virtual_network.aml_vnet.id
}
# Configure private endpoints
resource "azurerm_private_endpoint" "ws_pe" {
name = "my_aml_ws_pe"
location = "eastasia"
resource_group_name = "my_resource_group"
subnet_id = azurerm_subnet.my_subnet.id
private_service_connection {
name = "my_aml_ws_psc"
private_connection_resource_id = azurerm_machine_learning_workspace.aml_ws.id
subresource_names = ["amlworkspace"]
is_manual_connection = false
}
private_dns_zone_group {
name = "private-dns-zone-group-ws"
private_dns_zone_ids = [azurerm_private_dns_zone.ws_zone_api.id, azurerm_private_dns_zone.ws_zone_notebooks.id]
}
# Add the private link after configuring the workspace
depends_on = [azurerm_machine_learning_compute_instance.compute_instance, azurerm_machine_learning_compute_cluster.compute_cluster]
}
Předchozí kód pro azurerm_machine_learning_workspace
použití platformy api v2 ve výchozím nastavení. Pokud stále chcete použít rozhraní API verze 1 nebo máte zásady společnosti, které zakazují odesílání komunikace přes veřejné sítě, můžete parametr povolit v1_legacy_mode_enabled
, jak je znázorněno v následujícím fragmentu kódu. Pokud je tento parametr povolený, zakáže rozhraní API v2 pro váš pracovní prostor.
resource "azurerm_machine_learning_workspace" "aml_ws" {
...
public_network_access_enabled = false
v1_legacy_mode_enabled = true
}
Zóny Azure Private DNS
Azure DNS poskytuje spolehlivější a bezpečnější službu DNS pro správu a překlad názvů domén ve virtuální síti bez nutnosti přidat vlastní řešení DNS. Pomocí privátních zón DNS můžete místo názvů poskytovaných Azure použít vlastní názvy domén. Překlad DNS pro privátní zónu DNS funguje jenom z virtuálních sítí, které jsou s ní propojené.
Toto ukázkové řešení používá privátní koncové body pro pracovní prostor Azure Machine Learning a pro přidružené prostředky, jako je Azure Storage, Azure Key Vault nebo Container Registry. Proto musíte nakonfigurovat nastavení DNS tak, aby přeložil IP adresy privátních koncových bodů z plně kvalifikovaného názvu domény (FQDN) připojovací řetězec.
Privátní zónu DNS můžete propojit s virtuální sítí a přeložit konkrétní domény.
Fragment kódu Terraformu v privátním propojení a privátním koncovém bodu Azure vytvoří dvě privátní zóny DNS pomocí názvů zón doporučených v konfiguraci zóny DNS služeb Azure:
privatelink.api.azureml.ms
privatelink.notebooks.azure.net
Partnerský vztah virtuálních sítí
Partnerský vztah virtuálních sítí umožňuje přístup k prostředkům ve virtuální síti Azure Machine Learning pomocí virtuálního počítače s přeskočením hostitele nebo virtuálních počítačů agentů v místním prostředí ve virtuální síti Azure Bastion. Pro účely připojení fungují obě virtuální sítě jako jedna. Provoz mezi virtuálními počítači a prostředky Azure Machine Learning v partnerských virtuálních sítích využívá páteřní infrastrukturu Azure. Provoz mezi virtuálními sítěmi se směruje přes privátní síť Azure.
Následující fragment kódu Terraformu nastaví partnerský vztah virtuálních sítí mezi virtuální sítí Azure Machine Learning a virtuální sítí Azure Bastion.
# Virtual network peering for AML VNET and BASTION VNET
resource "azurerm_virtual_network_peering" "vp_amlvnet_basvnet" {
name = "vp_amlvnet_basvnet"
resource_group_name = "my_resource_group"
virtual_network_name = azurerm_virtual_network.amlvnet.name
remote_virtual_network_id = azurerm_virtual_network.basvnet.id
allow_virtual_network_access = true
allow_forwarded_traffic = true
}
resource "azurerm_virtual_network_peering" "vp_basvnet_amlvnet" {
name = "vp_basvnet_amlvnet"
resource_group_name = "my_resource_group"
virtual_network_name = azurerm_virtual_network.basvnet.name
remote_virtual_network_id = azurerm_virtual_network.amlvnet.id
allow_virtual_network_access = true
allow_forwarded_traffic = true
}
Přístup k prostředkům ve virtuální síti
Pokud chcete získat přístup k pracovnímu prostoru Azure Machine Learning ve virtuální síti, jako je virtuální síť Azure Machine Learning v tomto scénáři, použijte jednu z následujících metod:
- Službu Azure VPN Gateway
- Azure ExpressRoute
- Azure Bastion a virtuální počítač hostitele jumpu
Další informace najdete v tématu Připojení k pracovnímu prostoru.
Spuštění služby Azure Pipelines, která přistupuje k prostředkům ve virtuální síti
Služba Azure Pipelines automaticky vytváří a testuje projekty programového kódu a zpřístupňuje je ostatním uživatelům. Azure Pipelines kombinuje CI/CD k otestování a sestavení kódu a jeho odeslání do libovolného cíle.
Agenti hostovaní v Azure versus agenti v místním prostředí
Řešení MLOps v tomto ukázkovém scénáři se skládá ze dvou kanálů, které můžou aktivovat kanály Azure Machine Learning a přistupovat k přidruženým prostředkům. Vzhledem k tomu, že pracovní prostor Azure Machine Learning a jeho přidružený prostředek jsou ve virtuální síti, musí tento scénář poskytnout způsob, jak k nim získat přístup agent Azure Pipelines. Agent je výpočetní infrastruktura s nainstalovaným softwarem agenta, který spouští úlohy Azure Pipelines po jednom. Existuje několik způsobů implementace přístupu:
Použijte agenty v místním prostředí ve stejné virtuální síti nebo v partnerské virtuální síti, jak je znázorněno v diagramu architektury.
Použijte agenty hostované v Azure a přidejte jejich rozsahy IP adres do seznamu povolených v nastavení brány firewall cílových služeb Azure.
Používejte agenty hostované v Azure (jako klienty VPN) a službu VPN Gateway.
Každá z těchto možností má výhody a nevýhody. Následující tabulka porovnává agenty hostované v Azure s agenty v místním prostředí.
Agent hostovaný v Azure | Agent v místním prostředí | |
---|---|---|
Náklady | Začněte zdarma pro jednu paralelní úlohu s 1 800 minutami za měsíc a poplatky za každou paralelní úlohu CI/CD hostované v Azure. | Začněte zdarma pro jednu paralelní úlohu s neomezenými minutami za měsíc a poplatky za každou další paralelní úlohu CI/CD s neomezeným počtem minut. Tato možnost nabízí levnější paralelní úlohy. |
Údržba | Postará se o vás Microsoft. | Udržuje vás s větší kontrolou nad instalací softwaru, který se vám líbí. |
Čas sestavení | Časově náročnější, protože se úplně aktualizuje pokaždé, když spustíte sestavení, a vždy sestavíte úplně od začátku. | Šetří čas, protože uchovává všechny soubory a mezipaměti. |
Poznámka:
Aktuální ceny najdete v tématu Ceny Pro Azure DevOps.
Na základě porovnání v tabulce a důležitých aspektech zabezpečení a složitosti tento ukázkový scénář používá agenta v místním prostředí pro Azure Pipelines k aktivaci kanálů Azure Machine Learning ve virtuální síti.
Pokud chcete nakonfigurovat agenta v místním prostředí, máte následující možnosti:
Nainstalujte agenta do služby Azure Virtual Machines.
Nainstalujte agenty do škálovací sady virtuálních počítačů Azure, která se dá automaticky škálovat tak, aby splňovala poptávku.
Nainstalujte agenta do kontejneru Dockeru. Tato možnost není možná, protože tento scénář může vyžadovat spuštění kontejneru Dockeru v rámci agenta pro trénování modelu strojového učení.
Následující ukázkový kód zřídí dva agenty v místním prostředí vytvořením virtuálních počítačů a rozšíření Azure:
resource "azurerm_linux_virtual_machine" "agent" {
...
}
resource "azurerm_virtual_machine_extension" "update-vm" {
count = 2
name = "update-vm${format("%02d", count.index)}"
publisher = "Microsoft.Azure.Extensions"
type = "CustomScript"
type_handler_version = "2.1"
virtual_machine_id = element(azurerm_linux_virtual_machine.agent.*.id, count.index)
settings = <<SETTINGS
{
"script": "${base64encode(templatefile("../scripts/terraform/agent_init.sh", {
AGENT_USERNAME = "${var.AGENT_USERNAME}",
ADO_PAT = "${var.ADO_PAT}",
ADO_ORG_SERVICE_URL = "${var.ADO_ORG_SERVICE_URL}",
AGENT_POOL = "${var.AGENT_POOL}"
}))}"
}
SETTINGS
}
Jak je znázorněno v předchozím bloku kódu, skript Terraformu volá agent_init.sh, jak je znázorněno v následujícím bloku kódu, k instalaci softwaru agenta a požadovaných knihoven na virtuálním počítači agenta podle požadavků zákazníka.
#!/bin/sh
# Install other required libraries
...
# Creates directory and downloads Azure DevOps agent installation files
# Find more agent versions at https://github.com/microsoft/azure-pipelines-agent/releases
AGENT_VERSION="3.240.1"
sudo mkdir /myagent
cd /myagent
sudo wget https://vstsagentpackage.azureedge.net/agent/${AGENT_VERSION}/vsts-agent-linux-x64-${AGENT_VERSION}.tar.gz
sudo tar zxvf ./vsts-agent-linux-x64-${AGENT_VERSION}.tar.gz
sudo chmod -R 777 /myagent
# Unattended installation
sudo runuser -l ${AGENT_USERNAME} -c '/myagent/config.sh --unattended --url ${ADO_ORG_SERVICE_URL} --auth pat --token ${ADO_PAT} --pool ${AGENT_POOL}'
cd /myagent
#Configure as a service
sudo ./svc.sh install ${AGENT_USERNAME}
#Start service
sudo ./svc.sh start
Použití služby Container Registry ve virtuální síti
Existuje několik předpokladů pro zabezpečení pracovního prostoru Azure Machine Learning ve virtuální síti. Další informace najdete v části Předpoklady. Container Registry je požadovaná služba, když k trénování a nasazení modelů používáte pracovní prostor Azure Machine Learning.
V tomto ukázkovém scénáři zajistíme, že agent v místním prostředí bude mít přístup k registru kontejneru ve virtuální síti, použijeme partnerský vztah virtuální sítě a přidáme propojení virtuální sítě pro propojení privátní zóny privatelink.azurecr.io
DNS s virtuální sítí Azure Bastion. Následující fragment kódu Terraformu ukazuje implementaci.
# Azure Machine Learning Container Registry is for private access
# by the Azure Machine Learning workspace
resource "azurerm_container_registry" "acr" {
name = "my_acr"
resource_group_name = "my_resource_group"
location = "eastasia"
sku = "Premium"
admin_enabled = true
public_network_access_enabled = false
}
resource "azurerm_private_dns_zone" "acr_zone" {
name = "privatelink.azurecr.io"
resource_group_name = "my_resource_group"
}
resource "azurerm_private_dns_zone_virtual_network_link" "acr_zone_link" {
name = "link_acr"
resource_group_name = "my_resource_group"
private_dns_zone_name = azurerm_private_dns_zone.acr_zone.name
virtual_network_id = azurerm_virtual_network.amlvnet.id
}
resource "azurerm_private_endpoint" "acr_ep" {
name = "acr_pe"
resource_group_name = "my_resource_group"
location = "eastasia"
subnet_id = azurerm_subnet.aml_subnet.id
private_service_connection {
name = "acr_psc"
private_connection_resource_id = azurerm_container_registry.acr.id
subresource_names = ["registry"]
is_manual_connection = false
}
private_dns_zone_group {
name = "private-dns-zone-group-app-acr"
private_dns_zone_ids = [azurerm_private_dns_zone.acr_zone.id]
}
}
Tento ukázkový scénář také zajišťuje, že registr kontejneru má roli Přispěvatel pro spravovanou identitu přiřazenou systémem pracovního prostoru Azure Machine Learning.
Použití výpočetního clusteru nebo instance ve virtuální síti
Výpočetní cluster nebo instance služby Azure Machine Learning ve virtuální síti vyžaduje skupinu zabezpečení sítě (NSG) s určitými konkrétními pravidly pro svou podsíť. Seznam těchto pravidel najdete v tématu Omezení.
Všimněte si také, že pro výpočetní cluster nebo instanci je teď možné odebrat veřejnou IP adresu, která pomáhá zajistit lepší ochranu výpočetních prostředků v řešení MLOps. Další informace najdete v tématu Žádná veřejná IP adresa pro výpočetní instance.
Přispěvatelé
Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.
Hlavní autoři:
- Gary Wang | Hlavní softwarový inženýr
Další přispěvatelé:
- Gary Moore | Programátor/zapisovač
Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.
Další kroky
- Dokumentace k Terraformu v Azure
- Příklady Terraformu pro Azure Machine Learning Enterprise
- Úložiště Azure MLOps v2 Na GitHubu
- Ceny služby Azure Virtual Network
- Ceny za Azure DevOps