Azure CLI kullanarak Azure Machine Learning çalışma alanlarını yönetme

ŞUNUN IÇIN GEÇERLIDIR: Azure CLI ml uzantısı v2 (geçerli)

Bu makalede, Azure CLI kullanarak Azure Machine Learning çalışma alanları oluşturmayı ve yönetmeyi öğreneceksiniz. Azure CLI, Azure kaynaklarını yönetmeye yönelik komutlar sağlar ve otomasyona vurgu yaparak Azure ile hızla çalışmanızı sağlayacak şekilde tasarlanmıştır. CLI'nın makine öğrenmesi uzantısı, Azure Machine Learning kaynaklarıyla çalışmaya yönelik komutlar sağlar.

Çalışma alanlarını Azure portalı ve Python SDK'sı, Azure PowerShell veya VS Code uzantısı aracılığıyla da yönetebilirsiniz.

Önkoşullar

  • Bir Azure aboneliği. Yoksa Azure Machine Learning'in ücretsiz veya ücretli sürümünü deneyin.

  • Bu belgedeki CLI komutlarını yerel ortamınızdan kullanmak için Azure CLI gerekir.

    Azure Cloud Shell kullanıyorsanız CLI'ya tarayıcı üzerinden erişilir ve bulutta bulunur.

Sınırlamalar

  • Yeni bir çalışma alanı oluştururken, çalışma alanı için gereken hizmetleri otomatik olarak oluşturabilir veya mevcut hizmetleri kullanabilirsiniz. Çalışma alanından farklı bir Azure aboneliğindeki mevcut hizmetleri kullanmak istiyorsanız, Azure Machine Learning ad alanını bu hizmetleri içeren aboneliğe kaydetmeniz gerekir. Örneğin, A aboneliğinde B aboneliğinden bir depolama hesabı kullanan bir çalışma alanı oluştururken, depolama hesabını çalışma alanıyla kullanabilmeniz için önce Azure Machine Learning ad alanının B aboneliğine kaydedilmesi gerekir.

    Azure Machine Learning için kaynak sağlayıcısı Microsoft.MachineLearningServices'tir. Kayıtlı olup olmadığını ve nasıl kaydedildiğini görme hakkında bilgi için Azure kaynak sağlayıcıları ve türleri makalesine bakın.

    Önemli

    Bu yalnızca çalışma alanı oluşturma sırasında sağlanan kaynaklar için geçerlidir; Azure Depolama Hesapları, Azure Container Register, Azure Key Vault ve Uygulama Analizler.

Bahşiş

Çalışma alanını oluşturduğunuzda bir Azure Uygulaması Analizler örneği oluşturulur. İsterseniz küme oluşturulduktan sonra Application Analizler örneğini silebilirsiniz. Silme, çalışma alanından toplanan bilgileri sınırlar ve sorunları gidermeyi zorlaştırabilir. Çalışma alanı tarafından oluşturulan Application Analizler örneğini silerseniz, çalışma alanını silip yeniden oluşturmadan yeniden oluşturamazsınız.

Bu Uygulama Analizler örneğini kullanma hakkında daha fazla bilgi için bkz. Machine Learning web hizmeti uç noktalarındaki verileri izleme ve toplama.

Güvenli CLI iletişimleri

Azure CLI komutlarından bazıları Azure Resource Manager ile İnternet üzerinden iletişim kurar. Bu iletişim HTTPS/TLS 1.2 kullanılarak güvenli hale getirilir.

Azure Machine Learning CLI uzantısı v2 ('ml') ile tüm komutlar Azure Resource Manager ile iletişim kurar. Buna YAML parametreleri ve meta veriler gibi işlemsel veriler dahildir. Azure Machine Learning çalışma alanınız genelse (yani sanal ağın arkasında değilse) ek yapılandırma gerekmez. İletişimlerin güvenliği HTTPS/TLS 1.2 kullanılarak sağlanır.

Azure Machine Learning çalışma alanınız özel bir uç nokta ve sanal ağ kullanıyorsa ve CLI v2 kullanıyorsanız, kullanmak için aşağıdaki yapılandırmalardan birini seçin:

  • Genel İnternet üzerinden CLI v2 iletişimi konusunda sorun yaşıyorsanız, genel ağ erişimini etkinleştirmek için komutu için az ml workspace update aşağıdaki --public-network-access parametreyi kullanın. Örneğin, aşağıdaki komut bir çalışma alanını genel ağ erişimi için güncelleştirir:

    az ml workspace update --name myworkspace --public-network-access enabled
    
  • Genel İnternet üzerinden CLI v2 iletişimi konusunda sorun yoksa, iletişimin güvenliğini artırmak için bir Azure Özel Bağlantı kullanabilirsiniz. Azure Özel Bağlantı kullanarak Azure Resource Manager ile iletişimin güvenliğini sağlamak için aşağıdaki bağlantıları kullanın.

    1. Özel uç nokta kullanarak Azure Machine Learning çalışma alanınızın güvenliğini bir sanal ağ içinde sağlayın.
    2. Azure kaynaklarını yönetmek için bir Özel Bağlantı oluşturun.
    3. Önceki adımda oluşturulan Özel Bağlantı için özel bir uç nokta oluşturun.

    Önemli

    Azure Resource Manager'ın özel bağlantısını yapılandırmak için, Azure aboneliğinin abonelik sahibi ve kök yönetim grubunun sahibi veya katkıda bulunanı olmanız gerekir. Daha fazla bilgi için bkz . Azure kaynaklarını yönetmek için özel bağlantı oluşturma.

CLI v2 iletişimi hakkında daha fazla bilgi için bkz . CLI'yi yükleme ve ayarlama.

CLI'yi Azure aboneliğinize Bağlan

Önemli

Azure Cloud Shell kullanıyorsanız bu bölümü atlayabilirsiniz. Cloud Shell, Azure aboneliğinizde oturum açtığınız hesabı kullanarak kimliğinizi otomatik olarak doğrular.

CLI'dan Azure aboneliğinizde kimlik doğrulaması yapmanın çeşitli yolları vardır. En basiti, tarayıcı kullanarak etkileşimli kimlik doğrulaması yapmaktır. Etkileşimli kimlik doğrulaması yapmak için bir komut satırı veya terminal açın ve aşağıdaki komutu kullanın:

az login

CLI varsayılan tarayıcınızı açabiliyorsa, tarayıcıyı açar ve oturum açma sayfasını yükler. Aksi takdirde, bir tarayıcı açmanız ve komut satırındaki yönergeleri izlemeniz gerekir. Yönergeler, yetkilendirme koduna https://aka.ms/devicelogin göz atmayı ve bu kodu girmeyi içerir.

Bahşiş

Oturum açtıktan sonra Azure hesabınızla ilişkili aboneliklerin listesini görürsünüz. ile isDefault: true abonelik bilgileri, Azure CLI komutları için şu anda etkinleştirilmiş olan aboneliktir. Bu abonelik, Azure Machine Learning çalışma alanınızı içeren abonelikle aynı olmalıdır. Çalışma alanınızın genel bakış sayfasını ziyaret ederek Azure portalından abonelik kimliğini bulabilirsiniz..

Başka bir abonelik seçmek için komutunu kullanın az account set -s <subscription name or ID> ve geçiş için abonelik adını veya kimliğini belirtin. Abonelik seçimi hakkında daha fazla bilgi için bkz . Birden çok Azure Aboneliği kullanma.

Diğer kimlik doğrulama yöntemleri için bkz . Azure CLI ile oturum açma.

Kaynak grubu oluşturma

Azure Machine Learning çalışma alanı bir kaynak grubu içinde oluşturulmalıdır. Mevcut bir kaynak grubunu kullanabilir ya da yeni bir kaynak grubu oluşturabilirsiniz. Yeni bir kaynak grubu oluşturmak için aşağıdaki komutu kullanın. değerini bu kaynak grubu için kullanılacak adla değiştirin <resource-group-name> . değerini bu kaynak grubu için kullanılacak Azure bölgesiyle değiştirin <location> :

Dekont

Azure Machine Learning'in kullanılabildiği bir bölge seçmelisiniz. Bilgi için bkz . Bölgeye göre kullanılabilir ürünler.

az group create --name <resource-group-name> --location <location>

Bu komuttan gelen yanıt aşağıdaki JSON'a benzer. Oluşturulan kaynakları bulmak veya otomasyon için sonraki CLI adımlarına giriş olarak ayrıştırmak için çıkış değerlerini kullanabilirsiniz.

{
  "id": "/subscriptions/<subscription-GUID>/resourceGroups/<resourcegroupname>",
  "location": "<location>",
  "managedBy": null,
  "name": "<resource-group-name>",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": null
}

Kaynak gruplarıyla çalışma hakkında daha fazla bilgi için bkz . az group.

Çalışma alanı oluşturma

Azure Machine Learning çalışma alanını dağıttığınızda, bağımlı ilişkili kaynaklar olarak diğer çeşitli hizmetler gerekir. Çalışma alanını oluşturmak için CLI kullandığınızda, CLI sizin yerinize yeni ilişkili kaynaklar oluşturabilir veya mevcut kaynakları ekleyebilirsiniz.

Önemli

Kendi depolama hesabınızı eklerken aşağıdaki ölçütleri karşıladığından emin olun:

  • Depolama hesabı bir premium hesap değil (Premium_LRS ve Premium_GRS)
  • Hem Azure Blob hem de Azure Dosya özellikleri etkin
  • Hiyerarşik Ad Alanı (ADLS 2. Nesil) devre dışı bırakıldı Bu gereksinimler yalnızca çalışma alanı tarafından kullanılan varsayılan depolama hesabına yöneliktir.

Azure container registry eklerken, Azure Machine Learning çalışma alanıyla kullanılabilmesi için önce yönetici hesabının etkinleştirilmesi gerekir.

Hizmetlerin otomatik olarak oluşturulduğu yeni bir çalışma alanı oluşturmak için aşağıdaki komutu kullanın:

az ml workspace create -n <workspace-name> -g <resource-group-name>

Önemli

Mevcut kaynakları eklerken tümünü belirtmeniz gerekmez. Bir veya daha fazla belirtebilirsiniz. Örneğin, mevcut bir depolama hesabı belirtebilirsiniz ve çalışma alanı diğer kaynakları oluşturur.

Çalışma alanı oluşturma komutunun çıktısı aşağıdaki JSON'a benzer. Oluşturulan kaynakları bulmak veya sonraki CLI adımlarına giriş olarak ayrıştırmak için çıkış değerlerini kullanabilirsiniz.

{
  "applicationInsights": "/subscriptions/<service-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.insights/components/<application-insight-name>",
  "containerRegistry": "/subscriptions/<service-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.containerregistry/registries/<acr-name>",
  "creationTime": "2019-08-30T20:24:19.6984254+00:00",
  "description": "",
  "friendlyName": "<workspace-name>",
  "id": "/subscriptions/<service-GUID>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name>",
  "identityPrincipalId": "<GUID>",
  "identityTenantId": "<GUID>",
  "identityType": "SystemAssigned",
  "keyVault": "/subscriptions/<service-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.keyvault/vaults/<key-vault-name>",
  "location": "<location>",
  "name": "<workspace-name>",
  "resourceGroup": "<resource-group-name>",
  "storageAccount": "/subscriptions/<service-GUID>/resourcegroups/<resource-group-name>/providers/microsoft.storage/storageaccounts/<storage-account-name>",
  "type": "Microsoft.MachineLearningServices/workspaces",
  "workspaceid": "<GUID>"
}

Gelişmiş yapılandırmalar

Çalışma alanını özel ağ bağlantısı için yapılandırma

Kullanım örneğinize ve kuruluş gereksinimlerinize bağlı olarak, özel ağ bağlantısını kullanarak Azure Machine Learning'i yapılandırmayı seçebilirsiniz. Çalışma alanı kaynağı için bir çalışma alanı ve Özel bağlantı uç noktası dağıtmak için Azure CLI'yi kullanabilirsiniz. Çalışma alanınızla özel uç nokta ve sanal ağ (VNet) kullanma hakkında daha fazla bilgi için bkz . Sanal ağ yalıtımına ve gizliliğine genel bakış. Karmaşık kaynak yapılandırmaları için Azure Resource Manager da dahil olmak üzere şablon tabanlı dağıtım seçeneklerine de bakın.

Özel bağlantı kullanırken, çalışma alanınız Docker görüntüleri oluşturmak için Azure Container Registry'yi kullanamaz. Bu nedenle, Docker görüntü ortamı oluşturma için kullanılacak image_build_compute özelliğini bir CPU işlem kümesi adı olarak ayarlamanız gerekir. Özel bağlantı çalışma alanının public_network_access özelliğini kullanarak İnternet üzerinden erişilebilir olup olmayacağını da belirtebilirsiniz.

$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
az ml workspace create -g <resource-group-name> --file privatelink.yml

Çalışma alanını oluşturduktan sonra Azure ağ CLI komutlarını kullanarak çalışma alanı için özel bir bağlantı uç noktası oluşturun.

az network private-endpoint create \
    --name <private-endpoint-name> \
    --vnet-name <vnet-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>

Çalışma alanının özel DNS bölgesi girdilerini oluşturmak için aşağıdaki komutları kullanın:

# 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 <vnet-name> \
    --registration-enabled false

az network private-endpoint dns-zone-group create \
    -g <resource-group-name> \
    --endpoint-name <private-endpoint-name> \
    --name myzonegroup \
    --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 <vnet-name> \
    --registration-enabled false

az network private-endpoint dns-zone-group add \
    -g <resource-group-name> \
    --endpoint-name <private-endpoint-name> \
    --name myzonegroup \
    --private-dns-zone 'privatelink.notebooks.azure.net' \
    --zone-name 'privatelink.notebooks.azure.net'

Müşteri tarafından yönetilen anahtar ve yüksek iş etkisi çalışma alanı

Varsayılan olarak, çalışma alanının meta verileri Microsoft'un koruduğu bir Azure Cosmos DB örneğinde depolanır. Bu veriler Microsoft tarafından yönetilen anahtarlar kullanılarak şifrelenir. Microsoft tarafından yönetilen anahtarı kullanmak yerine kendi anahtarınızı da sağlayabilirsiniz. Bunu yaptığınızda Azure aboneliğinizde verilerinizi depolamak için ek bir kaynak kümesi oluşturulur.

Şifreleme için kendi anahtarınızı getirdiğinizde oluşturulan kaynaklar hakkında daha fazla bilgi edinmek için bkz . Azure Machine Learning ile veri şifreleme.

Kasa içindeki anahtarın customer_managed_key kaynak kimliğini ve uri'sini belirtmek için parametresini ve içeren key_vault ve key_uri parametrelerini kullanın.

Microsoft'un çalışma alanınızda topladığı verileri sınırlamak için ayrıca özelliğini belirtebilirsinizhbi_workspace.

$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

Ardından, çalışma alanı oluşturma CLI komutunun bir parçası olarak bu yapılandırma dosyasına başvurabilirsiniz.

az ml workspace create -g <resource-group-name> --file cmk.yml

Dekont

Veri şifreleme ek kaynaklarını yönetmek için aboneliğinizde katkıda bulunan izinleriyle Machine Learning Uygulamasını (Kimlik ve Erişim Yönetimi'nde) yetkileyin.

Dekont

Azure Cosmos DB model performansı, denemeler tarafından günlüğe kaydedilen bilgiler veya model dağıtımlarınızdan günlüğe kaydedilen bilgiler gibi bilgileri depolamak için kullanılmaz.

Önemli

yüksek iş etkisi seçme işlemi yalnızca çalışma alanı oluşturulurken yapılabilir. Çalışma alanı oluşturulduktan sonra bu ayarı değiştiremezsiniz.

Müşteri tarafından yönetilen anahtarlar ve yüksek iş etkisi çalışma alanı hakkında daha fazla bilgi için bkz . Azure Machine Learning için kurumsal güvenlik.

Çalışma alanlarını yönetmek için CLI kullanma

Çalışma alanı bilgilerini alma

Çalışma alanı hakkında bilgi almak için aşağıdaki komutu kullanın:

az ml workspace show -n <workspace-name> -g <resource-group-name>

Daha fazla bilgi için az ml workspace show belgelerine bakın.

Çalışma alanını güncelleştirme

Çalışma alanını güncelleştirmek için aşağıdaki komutu kullanın:

az ml workspace update -n <workspace-name> -g <resource-group-name>

Daha fazla bilgi için az ml workspace update belgelerine bakın.

Bağımlı kaynaklar için eşitleme anahtarları

Çalışma alanınız tarafından kullanılan kaynaklardan birinin erişim anahtarlarını değiştirirseniz, çalışma alanının yeni anahtarla eşitlenmesi yaklaşık bir saat sürer. Çalışma alanını yeni anahtarları hemen eşitlemeye zorlamak için aşağıdaki komutu kullanın:

az ml workspace sync-keys -n <workspace-name> -g <resource-group-name>

Anahtarları değiştirme hakkında daha fazla bilgi için bkz . Depolama erişim anahtarlarını yeniden oluşturma.

Eşitleme anahtarları komutu hakkında daha fazla bilgi için bkz . az ml workspace sync-keys.

Çalışma alanını silme

Uyarı

Çalışma alanı için geçici silme etkinleştirildiyse, silme işleminden sonra kurtarılabilir. Geçici silme etkin değilse veya çalışma alanını kalıcı olarak silme seçeneğini belirtirseniz, kurtarılamaz. Daha fazla bilgi için bkz . Silinen çalışma alanını kurtarma.

Artık gerekmedikten sonra bir çalışma alanını silmek için aşağıdaki komutu kullanın:

az ml workspace delete -n <workspace-name> -g <resource-group-name>

Önemli

Çalışma alanı silindiğinde, çalışma alanı tarafından kullanılan uygulama içgörüleri, depolama hesabı, anahtar kasası veya kapsayıcı kayıt defteri silinmez.

Ayrıca kaynak grubunu silebilirsiniz; bu da çalışma alanını ve kaynak grubundaki diğer tüm Azure kaynaklarını siler. Kaynak grubunu silmek için aşağıdaki komutu kullanın:

az group delete -g <resource-group-name>

Daha fazla bilgi için az ml workspace delete belgelerine bakın.

Bahşiş

Azure Machine Learning için varsayılan davranış, çalışma alanını geçici olarak silmektir. Bu, çalışma alanının hemen silinmediği, bunun yerine silinmek üzere işaretleneceği anlamına gelir. Daha fazla bilgi için bkz . Geçici silme.

Sorun giderme

Kaynak sağlayıcısı hataları

Azure Machine Learning çalışma alanı veya çalışma alanı tarafından kullanılan bir kaynak oluştururken aşağıdaki iletilere benzer bir hata alabilirsiniz:

  • No registered resource provider found for location {location}
  • The subscription is not registered to use namespace {resource-provider-namespace}

Çoğu kaynak sağlayıcısı otomatik olarak kaydedilir, ancak tümü kaydedilmez. Bu iletiyi alırsanız, bahsedilen sağlayıcıyı kaydetmeniz gerekir.

Aşağıdaki tabloda Azure Machine Learning tarafından gereken kaynak sağlayıcılarının listesi yer alır:

Kaynak sağlayıcısı Neden gereklidir?
Microsoft.MachineLearningServices Azure Machine Learning çalışma alanını oluşturma.
Microsoft. Depolama Azure Depolama Hesabı, çalışma alanı için varsayılan depolama alanı olarak kullanılır.
Microsoft.ContainerRegistry Azure Container Registry, çalışma alanı tarafından Docker görüntüleri oluşturmak için kullanılır.
Microsoft.KeyVault Azure Key Vault, çalışma alanı tarafından gizli dizileri depolamak için kullanılır.
Microsoft.Notebooks Azure Machine Learning işlem örneğindeki tümleşik not defterleri.
Microsoft.ContainerService Eğitilmiş modelleri Azure Kubernetes Services'e dağıtmayı planlıyorsanız.

Azure Machine Learning ile müşteri tarafından yönetilen bir anahtar kullanmayı planlıyorsanız aşağıdaki hizmet sağlayıcılarının kaydedilmesi gerekir:

Kaynak sağlayıcısı Neden gereklidir?
Microsoft.DocumentDB Çalışma alanı için meta verileri günlüğe kaydeden Azure CosmosDB örneği.
Microsoft.Search Azure Search, çalışma alanı için dizin oluşturma özellikleri sağlar.

Azure Machine Learning ile yönetilen bir sanal ağ kullanmayı planlıyorsanız Microsoft.Network kaynak sağlayıcısının kayıtlı olması gerekir. Bu kaynak sağlayıcısı, yönetilen sanal ağ için özel uç noktalar oluştururken çalışma alanı tarafından kullanılır.

Kaynak sağlayıcılarını kaydetme hakkında bilgi için bkz . Kaynak sağlayıcısı kaydı hatalarını çözme.

Çalışma alanını taşıma

Uyarı

Azure Machine Learning çalışma alanınızı farklı bir aboneliğe taşıma veya sahip olan aboneliği yeni bir kiracıya taşıma desteklenmez. Bunu yapmak hatalara neden olabilir.

Azure Container Registry'yi silme

Azure Machine Learning çalışma alanı, bazı işlemler için Azure Container Registry'yi (ACR) kullanır. İlk ihtiyaç duyduğunda otomatik olarak bir ACR örneği oluşturur.

Uyarı

Bir çalışma alanı için Azure Container Registry oluşturulduktan sonra silmeyin. Bunu yaptığınızda Azure Machine Learning çalışma alanınız bozulacaktır.

Sonraki adımlar

Makine öğrenmesi için Azure CLI uzantısı hakkında daha fazla bilgi için az ml belgelerine bakın.

Çalışma alanınızla ilgili sorunları denetlemek için bkz . Çalışma alanı tanılamasını kullanma.

Çalışma alanını yeni bir Azure aboneliğine taşımayı öğrenmek için bkz . Çalışma alanını taşıma.

Azure Machine Learning'inizi en son güvenlik güncelleştirmeleriyle güncel tutma hakkında bilgi için bkz . Güvenlik açığı yönetimi.