Správa pracovních prostorů Azure Machine Learning pomocí Azure CLI
PLATÍ PRO: Rozšíření Azure CLI ml v2 (aktuální)
V tomto článku se dozvíte, jak vytvářet a spravovat pracovní prostory Azure Machine Learning pomocí Azure CLI. Azure CLI poskytuje příkazy pro správu prostředků Azure a je navržená tak, aby vám rychle fungovala s Azure a klade důraz na automatizaci. Rozšíření strojového učení Azure CLI poskytuje příkazy pro práci s prostředky Azure Machine Learning.
K vytváření a správě pracovních prostorů Služby Azure Machine Learning můžete použít také následující metody:
- Azure Machine Learning Studio
- Azure Portal
- Python SDK
- Azure PowerShell
- Visual Studio Code s rozšířením Azure Machine Learning
Požadavky
Předplatné Azure s bezplatnou nebo placenou verzí služby Azure Machine Learning Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Pokud chcete příkazy Azure CLI spustit v tomto článku místně, nainstalujte Azure CLI .
Pokud v Azure Cloud Shellu spustíte příkazy Azure CLI, nemusíte nic instalovat. Prohlížeč přistupuje k nejnovější cloudové verzi Azure CLI a rozšíření Azure Machine Learning.
Omezení
Když vytvoříte nový pracovní prostor, můžete buď automaticky vytvořit služby potřebné pracovním prostorem, nebo použít existující služby. Pokud chcete použít existující služby z jiného předplatného Azure, než je pracovní prostor, musíte zaregistrovat obor názvů služby Azure Machine Learning v předplatném, které tyto služby obsahuje. Pokud například vytvoříte pracovní prostor v předplatném A, který používá účet úložiště v předplatném B, musí být obor názvů Služby Azure Machine Learning zaregistrovaný v předplatném B, aby mohl pracovní prostor použít účet úložiště.
Poskytovatel prostředků pro Azure Machine Learning je Microsoft.MachineLearningServices. Informace o tom, jestli je zaregistrovaná nebo zaregistrovaná, najdete v tématu Poskytovatelé a typy prostředků Azure.
Důležité
Tyto informace platí jenom pro prostředky poskytované během vytváření pracovního prostoru: účty Azure Storage, Azure Container Registry, Azure Key Vault a Application Insights.
Připojení k předplatnému Azure
Pokud používáte Azure Cloud Shell z webu Azure Portal, můžete tuto část přeskočit. Cloud Shell vás automaticky ověří pomocí předplatného Azure, pomocí které jste přihlášení.
Existuje několik způsobů, jak se místně ověřit ve vašem předplatném Azure z Azure CLI. Nejjednodušší způsob je použití prohlížeče.
Chcete-li se ověřit interaktivně, otevřete příkazový řádek nebo terminál a spusťte az login
příkaz . Pokud rozhraní příkazového řádku může otevřít výchozí prohlížeč, provede to a načte přihlašovací stránku. V opačném případě podle pokynů příkazového řádku otevřete prohlížeč https://aka.ms/devicelogin a zadejte autorizační kód zařízení.
Tip
Po přihlášení se zobrazí seznam předplatných přidružených k vašemu účtu Azure. Informace o isDefault: true
předplatném jsou aktuálně aktivované předplatné pro příkazy Azure CLI. Toto předplatné musí být stejné, které obsahuje váš pracovní prostor Azure Machine Learning. Informace o předplatném najdete na stránce přehledu vašeho pracovního prostoru na webu Azure Portal.
Pokud chcete vybrat jiné předplatné, které se má použít pro příkazy Azure CLI, spusťte az account set -s <subscription>
příkaz a zadejte název nebo ID předplatného, na které se má přepnout. Další informace o výběru předplatného najdete v tématu Použití více předplatných Azure.
Další metody ověřování najdete v tématu Přihlášení pomocí Azure CLI.
Vytvoření skupiny zdrojů
Pracovní prostor Azure Machine Learning se musí vytvořit v existující nebo nové skupině prostředků. Pokud chcete vytvořit novou skupinu prostředků, spusťte následující příkaz. Nahraďte <resource-group-name>
názvem a <location>
oblastí Azure, kterou chcete pro tuto skupinu prostředků použít.
Poznámka:
Nezapomeňte vybrat oblast, ve které je služba Azure Machine Learning dostupná. Informace najdete v tématu Produkty dostupné v jednotlivých oblastech.
az group create --name <resource-group-name> --location <azure-region>
Odpověď na tento příkaz je podobná následujícímu kódu JSON. Pomocí výstupních hodnot můžete vyhledat vytvořené prostředky nebo je předat jako vstup jiným příkazům Azure CLI nebo automatizaci.
{
"id": "/subscriptions/<subscription-GUID>/resourceGroups/<resourcegroupname>",
"location": "<location>",
"managedBy": null,
"name": "<resource-group-name>",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": null
}
Další informace o práci se skupinami prostředků najdete v tématu az group.
Vytvoření pracovního prostoru
Nasazený pracovní prostor Azure Machine Learning vyžaduje různé další služby jako závislé přidružené prostředky. Když k vytvoření pracovního prostoru použijete Azure CLI, může rozhraní příkazového řádku vytvořit nové přidružené prostředky nebo připojit existující prostředky.
Pokud chcete vytvořit nový pracovní prostor s automaticky vytvořenými závislými službami, spusťte následující příkaz:
az ml workspace create -n <workspace-name> -g <resource-group-name>
Pokud chcete vytvořit nový pracovní prostor, který používá existující prostředky, nejprve definujete prostředky v konfiguračním souboru YAML, jak je popsáno v následující části. Pak na soubor YAML odkazujete v příkazu pro vytvoření pracovního prostoru Azure CLI následujícím způsobem:
az ml workspace create -g <resource-group-name> --file <configuration-file>.yml
Výstup příkazu pro vytvoření pracovního prostoru je podobný následujícímu formátu JSON. Pomocí výstupních hodnot můžete vyhledat vytvořené prostředky nebo je předat jako vstup jiným příkazům Azure CLI.
{
"applicationInsights": "/subscriptions/<subscription-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.insights/components/<application-insight-name>",
"containerRegistry": "/subscriptions/<subscription-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.containerregistry/registries/<container-registry-name>",
"creationTime": "2019-08-30T20:24:19.6984254+00:00",
"description": "",
"friendlyName": "<workspace-name>",
"id": "/subscriptions/<subscription-GUID>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-id>",
"identityPrincipalId": "<GUID>",
"identityTenantId": "<GUID>",
"identityType": "SystemAssigned",
"keyVault": "/subscriptions/<subscription-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.keyvault/vaults/<key-vault-name>",
"location": "<location>",
"name": "<workspace-name>",
"resourceGroup": "<resource-group-name>",
"storageAccount": "/subscriptions/<subscription-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.storage/storageaccounts/<storage-account-name>",
"type": "Microsoft.MachineLearningServices/workspaces",
"workspaceid": "<GUID>"
}
Konfigurační soubor YAML
Pokud chcete použít existující prostředky pro nový pracovní prostor, definujete prostředky v konfiguračním souboru YAML. Následující příklad ukazuje konfigurační soubor pracovního prostoru YAML:
$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
name: mlw-basicex-prod
location: eastus
display_name: Bring your own dependent resources-example
description: This configuration specifies a workspace configuration with existing dependent resources
storage_account: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT>
container_registry: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.ContainerRegistry/registries/<CONTAINER_REGISTRY>
key_vault: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.KeyVault/vaults/<KEY_VAULT>
application_insights: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.insights/components/<APP_INSIGHTS>
tags:
purpose: demonstration
V konfiguračním souboru nemusíte zadávat všechny přidružené závislé prostředky. Můžete zadat jeden nebo více prostředků a nechat ostatní automaticky vytvářet.
V souboru YAML musíte zadat ID existujících prostředků. Tato ID můžete získat zobrazením vlastností prostředku na webu Azure Portal nebo spuštěním následujících příkazů Azure CLI:
- Aplikace Azure lication Insights:
az monitor app-insights component show --app <application-insight-name> -g <resource-group-name> --query "id"
- Azure Container Registry:
az acr show --name <container-registry-name> -g <resource-group-name> --query "id"
- Azure Key Vault:
az keyvault show --name <key-vault-name> --query "id"
- Účet služby Azure Storage:
az storage account show --name <storage-account-name> --query "id"
Výsledky dotazu vypadají jako následující řetězec:
"/subscriptions/<subscription-GUID>/resourceGroups/<resource-group-name>/providers/<provider>/<subresource>/<id>"
.
Přidružené závislé prostředky
Následující aspekty a omezení platí pro závislé prostředky přidružené k pracovním prostorům.
Application Insights
Tip
Při vytváření pracovního prostoru se vytvoří instance Aplikace Azure lication Insights. Pokud chcete, můžete instanci Application Insights po vytvoření clusteru odstranit. Odstraněním omezíte informace shromážděné z pracovního prostoru a může být obtížnější řešit problémy. Pokud odstraníte instanci Application Insights vytvořenou pracovním prostorem, jediným způsobem, jak ji znovu vytvořit, je odstranit a znovu vytvořit pracovní prostor.
Další informace o používání instance Application Insights najdete v tématu Monitorování a shromažďování dat z koncových bodů webové služby Machine Learning.
Container Registry
Pracovní prostor Azure Machine Learning používá pro některé operace službu Azure Container Registry a automaticky vytvoří instanci služby Container Registry, jakmile ji poprvé potřebuje.
Upozorňující
Po vytvoření služby Azure Container Registry pro pracovní prostor ho neodstraňovat. Tím se přeruší pracovní prostor Služby Azure Machine Learning.
Pokud chcete použít existující registr kontejnerů Azure s pracovním prostorem Azure Machine Learning, musíte v registru kontejneru povolit účet správce.
Účet úložiště
Pokud pro pracovní prostor použijete existující účet úložiště, musí splňovat následující kritéria. Tyto požadavky platí jenom pro výchozí účet úložiště.
- Účet nemůže být Premium_LRS ani Premium_GRS.
- Musí být povolené možnosti Azure Blob i Azure File.
- Hierarchický obor názvů musí být pro Azure Data Lake Storage zakázaný.
Zabezpečená komunikace Azure CLI
Všechny příkazy Azure Machine Learning V2 az ml
komunikují provozní data, jako jsou parametry YAML a metadata, do Azure Resource Manageru. Některé příkazy Azure CLI komunikují s Azure Resource Managerem přes internet.
Pokud je váš pracovní prostor Azure Machine Learning veřejný a není za virtuální sítí, komunikace je zabezpečená pomocí protokolu HTTPS/TLS 1.2. Nevyžaduje se žádná další konfigurace.
Pokud váš pracovní prostor Azure Machine Learning používá privátní koncový bod a virtuální síť, musíte pro použití Azure CLI zvolit jednu z následujících konfigurací:
Pokud chcete komunikovat přes veřejný internet, nastavte
--public-network-access
parametr naEnabled
hodnotu .Pokud se chcete vyhnout komunikaci přes veřejný internet z bezpečnostních důvodů, nakonfigurujte službu Azure Machine Learning tak, aby používala připojení k privátní síti s koncovým bodem služby Azure Private Link, jak je popsáno v následující části.
Připojení k privátní síti
V závislosti na vašem případu použití a požadavcích organizace můžete službu Azure Machine Learning nakonfigurovat tak, aby používala připojení k privátní síti. Pomocí Azure CLI můžete nasadit pracovní prostor a koncový bod Private Linku pro prostředek pracovního prostoru.
Pokud používáte koncové body privátního propojení pro Službu Azure Container Registry i Azure Machine Learning, nemůžete k vytváření imagí prostředí Dockeru použít úlohy služby Container Registry. Místo toho je nutné vytvářet image pomocí výpočetního clusteru Azure Machine Learning.
V konfiguračním souboru pracovního prostoru YAML musíte vlastnost nastavit image_build_compute
na název výpočetního clusteru, který se má použít pro sestavení prostředí image Dockeru. Můžete také určit, že pracovní prostor privátního propojení není přístupný přes internet nastavením public_network_access
vlastnosti na Disabled
hodnotu .
Následující kód ukazuje ukázkový konfigurační soubor pracovního prostoru pro připojení k privátní síti.
$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
name: mlw-privatelink-prod
location: eastus
display_name: Private Link endpoint workspace-example
description: When using private link, you must set the image_build_compute property to a cluster name to use for Docker image environment building. You can also specify whether the workspace should be accessible over the internet.
image_build_compute: cpu-compute
public_network_access: Disabled
tags:
purpose: demonstration
Po vytvoření pracovního prostoru pomocí příkazů Azure networking CLI vytvořte koncový bod privátního propojení pro tento pracovní prostor.
az network private-endpoint create \
--name <private-endpoint-name> \
--vnet-name <virtual-network-name> \
--subnet <subnet-name> \
--private-connection-resource-id "/subscriptions/<subscription>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>" \
--group-id amlworkspace \
--connection-name workspace -l <location>
Pokud chcete vytvořit položky zóny DNS (Private Domain Name System) pro pracovní prostor, použijte následující příkazy:
# Add privatelink.api.azureml.ms
az network private-dns zone create \
-g <resource-group-name> \
--name 'privatelink.api.azureml.ms'
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name 'privatelink.api.azureml.ms' \
--name <link-name> \
--virtual-network <virtual-network-name> \
--registration-enabled false
az network private-endpoint dns-zone-group create \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name <zone-group-name> \
--private-dns-zone 'privatelink.api.azureml.ms' \
--zone-name 'privatelink.api.azureml.ms'
# Add privatelink.notebooks.azure.net
az network private-dns zone create \
-g <resource-group-name> \
--name 'privatelink.notebooks.azure.net'
az network private-dns link vnet create \
-g <resource-group-name> \
--zone-name 'privatelink.notebooks.azure.net' \
--name <link-name> \
--virtual-network <virtual-network-name> \
--registration-enabled false
az network private-endpoint dns-zone-group add \
-g <resource-group-name> \
--endpoint-name <private-endpoint-name> \
--name <zone-group-name> \
--private-dns-zone 'privatelink.notebooks.azure.net' \
--zone-name 'privatelink.notebooks.azure.net'
Další informace o používání privátního koncového bodu a virtuální sítě s pracovním prostorem najdete v následujících článcích:
- Konfigurace privátního koncového bodu pro pracovní prostor Služby Azure Machine Learning
- Přehled izolace virtuální sítě a ochrany osobních údajů
Privátní propojení správy prostředků
Pomocí následujícího postupu můžete zabezpečit komunikaci se všemi prostředky Azure Resource Manageru ve skupině pro správu Azure pomocí služby Private Link:
- Vytvořte privátní propojení pro správu prostředků Azure.
- Vytvořte privátní koncový bod pro privátní propojení vytvořený v předchozím kroku.
Důležité
Pokud chcete nakonfigurovat privátní propojení pro Azure Resource Manager, musíte být vlastníkem předplatného Azure a vlastníkem nebo přispěvatelem v kořenové skupině pro správu. Další informace najdete v tématu Vytvoření privátního propojení pro správu prostředků Azure.
Pokročilá konfigurace
Pro pracovní prostory můžete použít několik dalších pokročilých konfigurací. V případě složitých konfigurací prostředků se také podívejte na možnosti nasazení založené na šablonách, včetně Azure Resource Manageru.
Klíče spravované zákazníkem
Ve výchozím nastavení se metadata pracovního prostoru ukládají v instanci služby Azure Cosmos DB, kterou Microsoft udržuje a šifruje pomocí klíčů spravovaných Microsoftem. Místo použití klíče spravovaného Microsoftem můžete zadat vlastní klíč. Použití vlastního klíče vytvoří v předplatném Azure další sadu prostředků pro ukládání dat.
Poznámka:
Azure Cosmos DB se nepoužívá k ukládání informací o výkonu modelu, informací protokolovaných experimenty ani informací zaznamenaných z nasazení modelu.
Pokud chcete vytvořit pracovní prostor, který používá vlastní klíč, použijte customer_managed_key
parametr v konfiguračním souboru pracovního prostoru YAML a zadejte ID prostředku obsahujícího key_vault
klíče a key_uri
klíče v trezoru.
$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
name: mlw-cmkexample-prod
location: eastus
display_name: Customer managed key encryption-example
description: This configurations shows how to create a workspace that uses customer-managed keys for encryption.
customer_managed_key:
key_vault: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.KeyVault/vaults/<KEY_VAULT>
key_uri: https://<KEY_VAULT>.vault.azure.net/keys/<KEY_NAME>/<KEY_VERSION>
tags:
purpose: demonstration
Další informace o prostředcích vytvořených při použití vlastního klíče pro šifrování najdete v tématu Šifrování dat pomocí služby Azure Machine Learning.
Poznámka:
Pokud chcete spravovat přidané prostředky šifrování dat, použijte službu Správa identit a přístupu k autorizaci aplikace Machine Learning s oprávněními přispěvatele k vašemu předplatnému.
Pracovní prostory s vysokým obchodním dopadem
Pokud chcete omezit data, která Microsoft shromažďuje ve vašem pracovním prostoru, můžete určit pracovní prostor s vysokým obchodním dopadem nastavením hbi_workspace
vlastnosti v konfiguračním souboru YAML na TRUE
hodnotu . Vysoký obchodní dopad můžete nastavit jenom při vytváření pracovního prostoru. Po vytvoření pracovního prostoru nemůžete toto nastavení změnit.
Další informace o klíčích spravovaných zákazníkem a pracovním prostoru s vysokým obchodním dopadem najdete v tématu Zabezpečení podniku pro Azure Machine Learning.
Použití Azure CLI ke správě pracovních prostorů
Ke správě pracovních prostorů můžete použít příkazy az ml workspace .
Získání informací o pracovním prostoru
Informace o pracovním prostoru získáte pomocí následujícího příkazu:
az ml workspace show -n <workspace-name> -g <resource-group-name>
Další informace najdete v tématu az ml workspace show.
Aktualizace pracovního prostoru
Pokud chcete aktualizovat pracovní prostor, použijte následující příkaz:
az ml workspace update -n <workspace-name> -g <resource-group-name>
Například následující příkaz aktualizuje pracovní prostor tak, aby umožňoval přístup k veřejné síti:
az ml workspace update -n <workspace-name> -g <resource-group-name> --public-network-access enabled
Další informace najdete v části Aktualizace pracovního prostoru az ml.
Synchronizace klíčů pro závislé prostředky
Pokud změníte přístupové klíče pro jeden z prostředků, které váš pracovní prostor používá, trvá přibližně hodinu, než se pracovní prostor synchronizuje s novými klíči. Pokud chcete, aby se pracovní prostor okamžitě synchronizoval s novými klíči, použijte následující příkaz:
az ml workspace sync-keys -n <workspace-name> -g <resource-group-name>
- Další informace o
sync-keys
příkazu najdete v příkazu az ml workspace sync-keys. - Další informace o změně klíčů najdete v tématu Opětovné vygenerování přístupových klíčů k úložišti.
Přesunutí pracovního prostoru
Přesun pracovního prostoru Azure Machine Learning je aktuálně ve verzi Preview. Další informace najdete v tématu Přesun pracovních prostorů služby Azure Machine Learning mezi předplatnými (Preview).
Odstranění pracovního prostoru
Pokud chcete odstranit pracovní prostor, jakmile už ho nepotřebujete, použijte následující příkaz:
az ml workspace delete -n <workspace-name> -g <resource-group-name>
Výchozím chováním služby Azure Machine Learning je obnovitelné odstranění pracovního prostoru. Pracovní prostor se neodstraní okamžitě, ale místo toho je označen k odstranění. Další informace najdete v tématu Obnovitelné odstranění.
Upozorňující
Pokud je pro pracovní prostor povolené obnovitelné odstranění, můžete ho po odstranění obnovit. Pokud obnovitelné odstranění není povolené nebo vyberete možnost trvalého odstranění pracovního prostoru, nedá se obnovit. Další informace najdete v tématu Obnovení odstraněného pracovního prostoru.
Odstranění pracovního prostoru neodstraní application insights, účet úložiště, trezor klíčů ani registr kontejnerů používaný pracovním prostorem. Pokud chcete odstranit pracovní prostor, závislé prostředky a všechny ostatní prostředky Azure ve skupině prostředků, můžete skupinu prostředků odstranit. Pokud chcete odstranit skupinu prostředků, použijte následující příkaz:
az group delete -g <resource-group-name>
Další informace najdete v tématu az ml workspace delete.
Řešení chyb poskytovatele prostředků
Při vytváření pracovního prostoru Azure Machine Learning nebo prostředku používaného pracovním prostorem se může zobrazit chyba podobná následující zprávě:
No registered resource provider found for location {location}
The subscription is not registered to use namespace {resource-provider-namespace}
Většina poskytovatelů prostředků se registruje automaticky, ale ne všechny. Pokud se zobrazí tato zpráva, musíte zaregistrovat uvedeného poskytovatele.
Následující tabulka obsahuje seznam poskytovatelů prostředků vyžadovaných službou Azure Machine Learning:
Poskytovatel prostředků | Proč je to potřeba |
---|---|
Microsoft.MachineLearningServices | Vytvoření pracovního prostoru Azure Machine Learning |
Microsoft.Storage | Účet služby Azure Storage se používá jako výchozí úložiště pro pracovní prostor. |
Microsoft.ContainerRegistry | Azure Container Registry používá pracovní prostor k vytváření imagí Dockeru. |
Microsoft.KeyVault | Azure Key Vault používá pracovní prostor k ukládání tajných kódů. |
Microsoft.Notebooks | Integrované poznámkové bloky ve výpočetní instanci služby Azure Machine Learning |
Microsoft.ContainerService | Pokud plánujete nasadit natrénované modely do azure Kubernetes Services. |
Pokud plánujete používat klíč spravovaný zákazníkem se službou Azure Machine Learning, musí být zaregistrovaní následující poskytovatelé služeb:
Poskytovatel prostředků | Proč je to potřeba |
---|---|
Microsoft.DocumentDB | Instance Azure CosmosDB, která protokoluje metadata pro pracovní prostor. |
Microsoft.Search | Azure Search poskytuje možnosti indexování pro pracovní prostor. |
Pokud plánujete používat spravovanou virtuální síť se službou Azure Machine Learning, musí být zaregistrovaný poskytovatel prostředků Microsoft.Network . Tento poskytovatel prostředků je používán pracovním prostorem při vytváření privátních koncových bodů pro spravovanou virtuální síť.
Informace o registraci poskytovatelů prostředků najdete v tématu Řešení chyb registrace poskytovatele prostředků.
Související prostředky
- Další informace o rozšíření Azure CLI pro strojové učení najdete v dokumentaci az ml .
- Informace o diagnostice, která dokáže identifikovat a pomoct s řešením problémů s pracovním prostorem, naleznete v tématu Použití diagnostiky pracovního prostoru.
- Informace o tom, jak udržovat službu Azure Machine Learning v aktualizovaném stavu s nejnovějšími aktualizacemi zabezpečení, najdete v tématu Správa ohrožení zabezpečení.