Usar um modelo do Azure Resource Manager para criar um workspace para o Azure Machine LearningUse an Azure Resource Manager template to create a workspace for Azure Machine Learning


Neste artigo, você aprenderá várias maneiras de criar um workspace do Azure Machine Learning usando modelos do Azure Resource Manager.In this article, you learn several ways to create an Azure Machine Learning workspace using Azure Resource Manager templates. Um modelo do Resource Manager facilita a criação de recursos como uma operação única e coordenada.A Resource Manager template makes it easy to create resources as a single, coordinated operation. Um modelo é um documento JSON que define os recursos necessários para uma implantação.A template is a JSON document that defines the resources that are needed for a deployment. Além disso, pode especificar os parâmetros de implantação.It may also specify deployment parameters. Os parâmetros são usados para fornecer valores de entrada ao usar o modelo.Parameters are used to provide input values when using the template.

Para saber mais, confira Implantar um aplicativo com o modelo do Gerenciador de Recursos do Azure.For more information, see Deploy an application with Azure Resource Manager template.

Pré-requisitosPrerequisites

LimitaçõesLimitations

  • Ao criar um novo espaço de trabalho, você pode criar automaticamente os serviços necessários para o espaço de trabalho ou usar os serviços existentes.When creating a new workspace, you can either automatically create services needed by the workspace or use existing services. Se você quiser usar os serviços existentes de uma assinatura do Azure diferente do espaço de trabalho, deverá registrar o namespace Azure Machine Learning na assinatura que contém esses serviços.If you want to use existing services from a different Azure subscription than the workspace, you must register the Azure Machine Learning namespace in the subscription that contains those services. Por exemplo, ao criar um espaço de trabalho na assinatura A que usa uma conta de armazenamento da assinatura B, o namespace Azure Machine Learning deve ser registrado na assinatura B antes que você possa usar a conta de armazenamento com o espaço de trabalho.For example, creating a workspace in subscription A that uses a storage account from subscription B, the Azure Machine Learning namespace must be registered in subscription B before you can use the storage account with the workspace.

    O provedor de recursos para Azure Machine Learning é Microsoft. MachineLearningService.The resource provider for Azure Machine Learning is Microsoft.MachineLearningService. Para obter informações sobre como ver se ele está registrado e como registrá-lo, consulte o artigo provedores de recursos e tipos do Azure .For information on how to see if it is registered and how to register it, see the Azure resource providers and types article.

    Importante

    Isso se aplica somente aos recursos fornecidos durante a criação do espaço de trabalho; Contas de armazenamento do Azure, registro de contêiner do Azure, Azure Key Vault e Application Insights.This only applies to resources provided during workspace creation; Azure Storage Accounts, Azure Container Register, Azure Key Vault, and Application Insights.

Modelo do Resource Manager do espaço de trabalhoWorkspace Resource Manager template

O modelo de Azure Resource Manager usado em todo este documento pode ser encontrado no diretório 201-Machine-Learning-Advanced do repositório do GitHub de modelos de início rápido do Azure.The Azure Resource Manager template used throughout this document can be found in the 201-machine-learning-advanced directory of the Azure quickstart templates GitHub repository.

Esse modelo cria os seguintes serviços do Azure:This template creates the following Azure services:

  • Conta de Armazenamento do AzureAzure Storage Account
  • Cofre de Chave do AzureAzure Key Vault
  • Azure Application InsightsAzure Application Insights
  • Registro de Contêiner do AzureAzure Container Registry
  • Workspace do Azure Machine LearningAzure Machine Learning workspace

O grupo de recursos é o contêiner que retém os serviços.The resource group is the container that holds the services. Os diversos serviços são exigidos pelo workspace do Azure Machine Learning.The various services are required by the Azure Machine Learning workspace.

O modelo de exemplo tem dois parâmetros obrigatórios :The example template has two required parameters:

  • O local onde os recursos serão criados.The location where the resources will be created.

    O modelo usará a localização selecionada para a maioria dos recursos.The template will use the location you select for most resources. A exceção é o serviço do Application Insights que não está disponível em todos os locais de disponibilidade dos outros serviços.The exception is the Application Insights service, which is not available in all of the locations that the other services are. Se você selecionar uma localização onde não esteja disponível, o serviço será criado na localização Centro-Sul dos EUA.If you select a location where it is not available, the service will be created in the South Central US location.

  • O WorkspaceName, que é o nome amigável do espaço de trabalho Azure Machine Learning.The workspaceName, which is the friendly name of the Azure Machine Learning workspace.

    Observação

    O nome do workspace não diferencia maiúsculas de minúsculas.The workspace name is case-insensitive.

    Os nomes dos outros serviços são gerados aleatoriamente.The names of the other services are generated randomly.

Dica

Embora o modelo associado a este documento crie um Registro de Contêiner do Azure, você também pode criar um workspace sem criar nenhum registro de contêiner.While the template associated with this document creates a new Azure Container Registry, you can also create a new workspace without creating a container registry. Um registro de contêiner será criado quando você executar uma operação que exija um.One will be created when you perform an operation that requires a container registry. Treinar ou implantar um modelo, por exemplo.For example, training or deploying a model.

Você também pode fazer referência a uma conta de armazenamento ou registro de contêiner existente no modelo do Azure Resource Manager, em vez de criar um.You can also reference an existing container registry or storage account in the Azure Resource Manager template, instead of creating a new one. Ao fazer isso, você deve usar uma identidade gerenciada (versão prévia) ou habilitar a conta de administrador para o registro de contêiner.When doing so, you must either use a managed identity (preview), or enable the admin account for the container registry.

Aviso

Após a criação de um Registro de Contêiner do Azure para um workspace, não o exclua.Once an Azure Container Registry has been created for a workspace, do not delete it. Fazer isso interromperá o workspace do Azure Machine Learning.Doing so will break your Azure Machine Learning workspace.

Para obter mais informações sobre modelos, consulte os artigos a seguir:For more information on templates, see the following articles:

Implantar modeloDeploy template

Para implantar seu modelo, você precisa criar um grupo de recursos.To deploy your template you have to create a resource group.

Consulte a seção portal do Azure se preferir usar a interface gráfica do usuário.See the Azure portal section if you prefer using the graphical user interface.

az group create --name "examplegroup" --location "eastus"

Depois que o grupo de recursos for criado com êxito, implante o modelo com o seguinte comando:Once your resource group is successfully created, deploy the template with the following command:

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-machine-learning-advanced/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" location="eastus"

Por padrão, todos os recursos criados como parte do modelo são novos.By default, all of the resources created as part of the template are new. No entanto, você também tem a opção de usar os recursos existentes.However, you also have the option of using existing resources. Ao fornecer parâmetros adicionais ao modelo, você pode usar os recursos existentes.By providing additional parameters to the template, you can use existing resources. Por exemplo, se você quiser usar uma conta de armazenamento existente, defina o valor de storageAccountOption como existente e forneça o nome da sua conta de armazenamento no parâmetro storageAccountName .For example, if you want to use an existing storage account set the storageAccountOption value to existing and provide the name of your storage account in the storageAccountName parameter.

Importante

Se você quiser usar uma conta de armazenamento do Azure existente, ela não poderá ser uma conta Premium (Premium_LRS e Premium_GRS).If you want to use an existing Azure Storage account, it cannot be a premium account (Premium_LRS and Premium_GRS). Ele também não pode ter um namespace hierárquico (usado com Azure Data Lake Storage Gen2).It also cannot have a hierarchical namespace (used with Azure Data Lake Storage Gen2). Não há suporte para armazenamento Premium ou namespace hierárquico com a conta de armazenamento padrão do espaço de trabalho.Neither premium storage or hierarchical namespace are supported with the default storage account of the workspace. Não há suporte para namespaces hierárquicos ou de armazenamento Premium com a conta de armazenamento padrão do espaço de trabalho.Neither premium storage or hierarchical namespaces are supported with the default storage account of the workspace. Você pode usar o armazenamento Premium ou o namespace hierárquico com contas de armazenamento não padrão .You can use premium storage or hierarchical namespace with non-default storage accounts.

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-machine-learning-advanced/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      storageAccountOption="existing" \
      storageAccountName="existingstorageaccountname"

Implantar um espaço de trabalho criptografadoDeploy an encrypted workspace

O modelo de exemplo a seguir demonstra como criar um workspace com três configurações:The following example template demonstrates how to create a workspace with three settings:

  • Habilite configurações de alta confidencialidade para o espaço de trabalho.Enable high confidentiality settings for the workspace. Isso cria uma nova instância de Cosmos DB.This creates a new Cosmos DB instance.

  • Habilite a criptografia para o espaço de trabalho.Enable encryption for the workspace.

  • Usa um Azure Key Vault existente para recuperar chaves gerenciadas pelo cliente.Uses an existing Azure Key Vault to retrieve customer-managed keys. As chaves gerenciadas pelo cliente são usadas para criar uma nova instância de Cosmos DB para o espaço de trabalho.Customer-managed keys are used to create a new Cosmos DB instance for the workspace.

    Importante

    A instância de Cosmos DB é criada em um grupo de recursos gerenciado pela Microsoft em sua assinatura , juntamente com os recursos necessários.The Cosmos DB instance is created in a Microsoft-managed resource group in your subscription , along with any resources it needs. Isso significa que você será cobrado por essa instância de Cosmos DB.This means that you are charged for this Cosmos DB instance. O nome do grupo de recursos gerenciados é dado no formato <AML Workspace Resource Group Name><GUID>.The managed resource group is named in the format <AML Workspace Resource Group Name><GUID>. Se seu espaço de trabalho do Azure Machine Learning usar um ponto de extremidade privado, uma rede virtual também será criada para a instância de Cosmos DB.If your Azure Machine Learning workspace uses a private endpoint, a virtual network is also created for the Cosmos DB instance. Essa VNet é usada para proteger a comunicação entre Cosmos DB e Azure Machine Learning.This VNet is used to secure communication between Cosmos DB and Azure Machine Learning.

    • Não exclua o grupo de recursos que contém essa Cosmos DB instância ou qualquer um dos recursos criados automaticamente neste grupo.Do not delete the resource group that contains this Cosmos DB instance, or any of the resources automatically created in this group. Se precisar excluir o grupo de recursos, Cosmos DB instância, etc., você deverá excluir o espaço de trabalho Azure Machine Learning que o utiliza.If you need to delete the resource group, Cosmos DB instance, etc., you must delete the Azure Machine Learning workspace that uses it. O grupo de recursos, Cosmos DB instância e outros recursos criados automaticamente são excluídos quando o espaço de trabalho associado é excluído.The resource group, Cosmos DB instance, and other automatically created resources are deleted when the associated workspace is deleted.
    • O padrão Unidades de Solicitação dessa conta do Cosmos DB é definido em 8000.The default Request Units for this Cosmos DB account is set at 8000.
    • Você não pode fornecer sua própria VNet para uso com a instância de Cosmos DB que é criada.You cannot provide your own VNet for use with the Cosmos DB instance that is created. Você também não pode modificar a rede virtual.You also cannot modify the virtual network. Por exemplo, você não pode alterar o intervalo de endereços IP que ele usa.For example, you cannot change the IP address range that it uses.

Importante

Depois que um workspace tiver sido criado, você não poderá alterar as configurações de dados confidenciais, criptografia, ID do cofre de chaves e identificadores de chave.Once a workspace has been created, you cannot change the settings for confidential data, encryption, key vault ID, or key identifiers. Para alterar esses valores, você precisa criar um workspace usando os novos valores.To change these values, you must create a new workspace using the new values.

Para obter mais informações, confira Criptografia em repouso.For more information, see Encryption at rest.

Importante

Há alguns requisitos específicos que sua assinatura precisa atender antes de usar este modelo:There are some specific requirements your subscription must meet before using this template:

  • Você precisa ter um Azure Key Vault existente que contenha uma chave de criptografia.You must have an existing Azure Key Vault that contains an encryption key.
  • O Azure Key Vault precisa estar na mesma região em que você planeja criar o workspace do Azure Machine Learning.The Azure Key Vault must be in the same region where you plan to create the Azure Machine Learning workspace.
  • Você deve especificar a ID do Azure Key Vault e o URI da chave de criptografia.You must specify the ID of the Azure Key Vault and the URI of the encryption key.

Para obter os valores para a cmk_keyvault (ID do Key Vault) e os parâmetros resource_cmk_uri (URI de chave) necessários para este modelo, use as seguintes etapas:To get the values for the cmk_keyvault (ID of the Key Vault) and the resource_cmk_uri (key URI) parameters needed by this template, use the following steps:

  1. Para obter a ID do Key Vault, use o seguinte comando:To get the Key Vault ID, use the following command:

    az keyvault show --name <keyvault-name> --query 'id' --output tsv   
    

    Esse comando retorna um valor semelhante a /subscriptions/{subscription-guid}/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>.This command returns a value similar to /subscriptions/{subscription-guid}/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>.

  2. Para obter o valor do URI para a chave gerenciada pelo cliente, use o seguinte comando:To get the value for the URI for the customer managed key, use the following command:

    az keyvault key show --vault-name <keyvault-name> --name <key-name> --query 'key.kid' --output tsv  
    

    Esse comando retorna um valor semelhante a https://mykeyvault.vault.azure.net/keys/mykey/{guid}.This command returns a value similar to https://mykeyvault.vault.azure.net/keys/mykey/{guid}.

Importante

Depois que um workspace tiver sido criado, você não poderá alterar as configurações de dados confidenciais, criptografia, ID do cofre de chaves e identificadores de chave.Once a workspace has been created, you cannot change the settings for confidential data, encryption, key vault ID, or key identifiers. Para alterar esses valores, você precisa criar um workspace usando os novos valores.To change these values, you must create a new workspace using the new values.

Para habilitar o uso de chaves gerenciadas pelo cliente, defina os seguintes parâmetros ao implantar o modelo:To enable use of Customer Managed Keys, set the following parameters when deploying the template:

  • Encryption_status habilitado.encryption_status to Enabled.
  • cmk_keyvault ao cmk_keyvault valor obtido nas etapas anteriores.cmk_keyvault to the cmk_keyvault value obtained in previous steps.
  • resource_cmk_uri ao resource_cmk_uri valor obtido nas etapas anteriores.resource_cmk_uri to the resource_cmk_uri value obtained in previous steps.
az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-machine-learning-advanced/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      encryption_status="Enabled" \
      cmk_keyvault="/subscriptions/{subscription-guid}/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<keyvault-name>" \
      resource_cmk_uri="https://mykeyvault.vault.azure.net/keys/mykey/{guid}" \

Ao usar uma chave gerenciada pelo cliente, Azure Machine Learning cria um grupo de recursos secundário que contém a instância de Cosmos DB.When using a customer-managed key, Azure Machine Learning creates a secondary resource group which contains the Cosmos DB instance. Para obter mais informações, consulte criptografia em repouso-Cosmos DB.For more information, see encryption at rest - Cosmos DB.

Uma configuração adicional que você pode fornecer para seus dados é definir o parâmetro confidential_data como true.An additional configuration you can provide for your data is to set the confidential_data parameter to true. Fazendo isso, o faz o seguinte:Doing so, does the following:

  • Inicia a criptografia do disco de rascunho local para Azure Machine Learning clusters de computação, fornecendo que você não criou nenhum cluster anterior em sua assinatura.Starts encrypting the local scratch disk for Azure Machine Learning compute clusters, providing you have not created any previous clusters in your subscription. Se você tiver criado anteriormente um cluster na assinatura, abra um tíquete de suporte para que a criptografia do disco de rascunho esteja habilitada para seus clusters de computação.If you have previously created a cluster in the subscription, open a support ticket to have encryption of the scratch disk enabled for your compute clusters.

  • Limpa o disco de rascunho local entre execuções.Cleans up the local scratch disk between runs.

  • Transmite com segurança as credenciais para a conta de armazenamento, o registro de contêiner e a conta SSH da camada de execução para seus clusters de computação usando o Key Vault.Securely passes credentials for the storage account, container registry, and SSH account from the execution layer to your compute clusters by using key vault.

  • Permite a filtragem de IP para garantir que os pools de lote subjacentes não possam ser chamados por quaisquer serviços externos diferentes de AzureMachineLearningService.Enables IP filtering to ensure the underlying batch pools cannot be called by any external services other than AzureMachineLearningService.

    Importante

    Depois que um workspace tiver sido criado, você não poderá alterar as configurações de dados confidenciais, criptografia, ID do cofre de chaves e identificadores de chave.Once a workspace has been created, you cannot change the settings for confidential data, encryption, key vault ID, or key identifiers. Para alterar esses valores, você precisa criar um workspace usando os novos valores.To change these values, you must create a new workspace using the new values.

    Para obter mais informações, consulte criptografia em repouso.For more information, see encryption at rest.

Implantar espaço de trabalho por trás de uma rede virtualDeploy workspace behind a virtual network

Ao definir o vnetOption valor do parâmetro como new ou existing , você poderá criar os recursos usados por um espaço de trabalho por trás de uma rede virtual.By setting the vnetOption parameter value to either new or existing, you are able to create the resources used by a workspace behind a virtual network.

Importante

Para o registro de contêiner, somente o SKU ' Premium ' tem suporte.For container registry, only the 'Premium' sku is supported.

Importante

Application Insights não oferece suporte à implantação por trás de uma rede virtual.Application Insights does not support deployment behind a virtual network.

Implantar apenas espaço de trabalho por trás do ponto de extremidade privadoOnly deploy workspace behind private endpoint

Se os recursos associados não estiverem atrás de uma rede virtual, você poderá definir o parâmetro privateEndpointType como AutoAproval ou ManualApproval para implantar o espaço de trabalho por trás de um ponto de extremidade privado.If your associated resources are not behind a virtual network, you can set the privateEndpointType parameter to AutoAproval or ManualApproval to deploy the workspace behind a private endpoint. Isso pode ser feito para espaços de trabalho novos e existentes.This can be done for both new and existing workspaces. Ao atualizar um espaço de trabalho existente, preencha os parâmetros do modelo com as informações do espaço de trabalho existente.When updating an existing workspace, fill in the template parameters with the information from the existing workspace.

Importante

O uso de um espaço de trabalho Azure Machine Learning com o link privado não está disponível nas regiões do Azure governamental ou na 21Vianet do Azure na China.Using an Azure Machine Learning workspace with private link is not available in the Azure Government regions or Azure China 21Vianet regions.

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-machine-learning-advanced/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      privateEndpointType="AutoApproval"

Usar uma nova rede virtualUse a new virtual network

Para implantar um recurso por trás de uma nova rede virtual, defina vnetOption como novo junto com as configurações de rede virtual para o respectivo recurso.To deploy a resource behind a new virtual network, set the vnetOption to new along with the virtual network settings for the respective resource. A implantação abaixo mostra como implantar um espaço de trabalho com o recurso de conta de armazenamento por trás de uma nova rede virtual.The deployment below shows how to deploy a workspace with the storage account resource behind a new virtual network.

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-machine-learning-advanced/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      vnetOption="new" \
      vnetName="examplevnet" \
      storageAccountBehindVNet="true"
      privateEndpointType="AutoApproval"

Como alternativa, você pode implantar vários ou todos os recursos dependentes por trás de uma rede virtual.Alternatively, you can deploy multiple or all dependent resources behind a virtual network.

az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-machine-learning-advanced/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      vnetOption="new" \
      vnetName="examplevnet" \
      storageAccountBehindVNet="true" \
      keyVaultBehindVNet="true" \
      containerRegistryBehindVNet="true" \
      containerRegistryOption="new" \
      containerRegistrySku="Premium"
      privateEndpointType="AutoApproval"

Usar uma rede virtual existente & recursosUse an existing virtual network & resources

Para implantar um espaço de trabalho com recursos associados existentes, você precisa definir o parâmetro vnetOption como existente junto com os parâmetros de sub-rede.To deploy a workspace with existing associated resources you have to set the vnetOption parameter to existing along with subnet parameters. No entanto, você precisa criar pontos de extremidade de serviço na rede virtual para cada um dos recursos antes da implantação.However, you need to create service endpoints in the virtual network for each of the resources before deployment. Assim como ocorre com novas implantações de rede virtual, você pode ter um ou todos os seus recursos por trás de uma rede virtual.Like with new virtual network deployments, you can have one or all of your resources behind a virtual network.

Importante

A sub-rede deve ter um Microsoft.Storage ponto de extremidade de serviçoSubnet should have Microsoft.Storage service endpoint

Importante

As sub-redes não permitem a criação de pontos de extremidade privados.Subnets do not allow creation of private endpoints. Desabilite o ponto de extremidade privado para habilitar a sub-rede.Disable private endpoint to enable subnet.

  1. Habilite os pontos de extremidade de serviço para os recursos.Enable service endpoints for the resources.

    az network vnet subnet update --resource-group "examplegroup" --vnet-name "examplevnet" --name "examplesubnet" --service-endpoints "Microsoft.Storage"
    az network vnet subnet update --resource-group "examplegroup" --vnet-name "examplevnet" --name "examplesubnet" --service-endpoints "Microsoft.KeyVault"
    az network vnet subnet update --resource-group "examplegroup" --vnet-name "examplevnet" --name "examplesubnet" --service-endpoints "Microsoft.ContainerRegistry"
    
  2. Implantar o espaço de trabalhoDeploy the workspace

    az deployment group create \
    --name "exampledeployment" \
    --resource-group "examplegroup" \
    --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/201-machine-learning-advanced/azuredeploy.json" \
    --parameters workspaceName="exampleworkspace" \
      location="eastus" \
      vnetOption="existing" \
      vnetName="examplevnet" \
      vnetResourceGroupName="examplegroup" \
      storageAccountBehindVNet="true" \
      keyVaultBehindVNet="true" \
      containerRegistryBehindVNet="true" \
      containerRegistryOption="new" \
      containerRegistrySku="Premium" \
      subnetName="examplesubnet" \
      subnetOption="existing"
      privateEndpointType="AutoApproval"
    

Use o Portal do AzureUse the Azure portal

  1. Siga as etapas em Implantar recursos do modelo personalizado.Follow the steps in Deploy resources from custom template. Quando chegar à tela selecionar um modelo , escolha o modelo 201-Machine-Learning-Advanced no menu suspenso.When you arrive at the Select a template screen, choose the 201-machine-learning-advanced template from the dropdown.

  2. Selecione selecionar modelo para usar o modelo.Select Select template to use the template. Forneça as seguintes informações necessárias e quaisquer outros parâmetros, dependendo do cenário de implantação.Provide the following required information and any other parameters depending on your deployment scenario.

    • Assinatura: Selecione a assinatura do Azure a ser usada para esses recursos.Subscription: Select the Azure subscription to use for these resources.
    • Grupo de recursos: Selecione ou crie um grupo de recursos para conter os serviços.Resource group: Select or create a resource group to contain the services.
    • Região: selecione a região do Azure em que os recursos serão criados.Region: Select the Azure region where the resources will be created.
    • Nome do workspace: O nome a ser usado para o workspace do Azure Machine Learning que será criado.Workspace name: The name to use for the Azure Machine Learning workspace that will be created. O nome do workspace deverá ter entre 3 e 33 caracteres.The workspace name must be between 3 and 33 characters. E o nome poderá conter apenas caracteres alfanuméricos e '-'.It may only contain alphanumeric characters and '-'.
    • Localização: Selecione a localização onde os recursos serão criados.Location: Select the location where the resources will be created.
  3. Selecione Examinar + criar.Select Review + create.

  4. Na tela revisar + criar , concorde com os termos e condições listados e selecione criar.In the Review + create screen, agree to the listed terms and conditions and select Create.

Para obter mais informações, consulte Implantar recursos de modelo personalizado.For more information, see Deploy resources from custom template.

Solução de problemasTroubleshooting

Erros do provedor de recursosResource provider errors

Ao criar um workspace do Azure Machine Learning ou um recurso usado pelo workspace, você pode receber um erro semelhante às seguintes mensagens:When creating an Azure Machine Learning workspace, or a resource used by the workspace, you may receive an error similar to the following messages:

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

A maioria dos provedores de recursos é automaticamente registrada, mas não todos.Most resource providers are automatically registered, but not all. Se você receber essa mensagem, será necessário registrar o provedor mencionado.If you receive this message, you need to register the provider mentioned.

Para obter informações sobre o registro de provedores de recursos, confira Resolver erros de registro de provedor de recursos.For information on registering resource providers, see Resolve errors for resource provider registration.

Política de acesso do Azure Key Vault e modelos do Azure Resource ManagerAzure Key Vault access policy and Azure Resource Manager templates

Quando você usa um modelo de Azure Resource Manager para criar o workspace e os recursos associados (incluindo o Azure Key Vault), várias vezes.When you use an Azure Resource Manager template to create the workspace and associated resources (including Azure Key Vault), multiple times. Por exemplo, usando o modelo várias vezes com os mesmos parâmetros como parte de um pipeline de implantação e integração contínuas.For example, using the template multiple times with the same parameters as part of a continuous integration and deployment pipeline.

A maioria das operações de criação de recursos por meio de modelos é idempotente, mas o Key Vault limpa as políticas de acesso toda vez que o modelo é usado.Most resource creation operations through templates are idempotent, but Key Vault clears the access policies each time the template is used. Limpar as políticas de acesso interrompe o acesso ao Key Vault para qualquer workspace existente que o esteja usando.Clearing the access policies breaks access to the Key Vault for any existing workspace that is using it. Por exemplo, as ações de parar/criar funcionalidades de VM do Azure Notebooks podem falhar.For example, Stop/Create functionalities of Azure Notebooks VM may fail.

Para evitar esse problema, recomendamos uma das seguintes abordagens:To avoid this problem, we recommend one of the following approaches:

  • Não implante o modelo mais de uma vez para os mesmos parâmetros.Do not deploy the template more than once for the same parameters. Ou exclua os recursos existentes antes de usar o modelo para recriá-los.Or delete the existing resources before using the template to recreate them.

  • Examine as políticas de acesso do Key Vault e use essas políticas para definir a propriedade accessPolicies do modelo.Examine the Key Vault access policies and then use these policies to set the accessPolicies property of the template. Para exibir as políticas de acesso, use o seguinte comando da CLI do Azure:To view the access policies, use the following Azure CLI command:

    az keyvault show --name mykeyvault --resource-group myresourcegroup --query properties.accessPolicies
    

    Para obter mais informações sobre como usar a seção accessPolicies do modelo, consulte a referência de objeto AccessPolicyEntry.For more information on using the accessPolicies section of the template, see the AccessPolicyEntry object reference.

  • Verifique se o recurso do Key Vault já existe.Check if the Key Vault resource already exists. Se existir, não o recrie por meio do modelo.If it does, do not recreate it through the template. Por exemplo, para usar o Key Vault existente em vez de criar outro, faça as seguintes alterações no modelo:For example, to use the existing Key Vault instead of creating a new one, make the following changes to the template:

    • Adicione um parâmetro que aceita a ID de um recurso do Key Vault existente:Add a parameter that accepts the ID of an existing Key Vault resource:

      "keyVaultId":{
        "type": "string",
        "metadata": {
          "description": "Specify the existing Key Vault ID."
        }
      }
      
    • Remova a seção que cria um recurso do Key Vault:Remove the section that creates a Key Vault resource:

      {
        "type": "Microsoft.KeyVault/vaults",
        "apiVersion": "2018-02-14",
        "name": "[variables('keyVaultName')]",
        "location": "[parameters('location')]",
        "properties": {
          "tenantId": "[variables('tenantId')]",
          "sku": {
            "name": "standard",
            "family": "A"
          },
          "accessPolicies": [
          ]
        }
      },
      
    • Remova linha "[resourceId('Microsoft.KeyVault/vaults', variables('keyVaultName'))]", da seção dependsOn do workspace.Remove the "[resourceId('Microsoft.KeyVault/vaults', variables('keyVaultName'))]", line from the dependsOn section of the workspace. Além disso altere a entrada keyVault na seção properties do workspace para referenciar o parâmetro keyVaultId:Also Change the keyVault entry in the properties section of the workspace to reference the keyVaultId parameter:

      {
        "type": "Microsoft.MachineLearningServices/workspaces",
        "apiVersion": "2019-11-01",
        "name": "[parameters('workspaceName')]",
        "location": "[parameters('location')]",
        "dependsOn": [
          "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",
          "[resourceId('Microsoft.Insights/components', variables('applicationInsightsName'))]"
        ],
        "identity": {
          "type": "systemAssigned"
        },
        "sku": {
          "tier": "[parameters('sku')]",
          "name": "[parameters('sku')]"
        },
        "properties": {
          "friendlyName": "[parameters('workspaceName')]",
          "keyVault": "[parameters('keyVaultId')]",
          "applicationInsights": "[resourceId('Microsoft.Insights/components',variables('applicationInsightsName'))]",
          "storageAccount": "[resourceId('Microsoft.Storage/storageAccounts/',variables('storageAccountName'))]"
        }
      }
      

    Após essas alterações, você pode especificar a ID do recurso do Key Vault existente ao executar o modelo.After these changes, you can specify the ID of the existing Key Vault resource when running the template. Em seguida, o modelo reutilizará o Key Vault definindo a propriedade keyVault do workspace como a ID desse Key Vault.The template will then reuse the Key Vault by setting the keyVault property of the workspace to its ID.

    Para obter a ID do Key Vault, você pode fazer referência à saída da execução do modelo original ou usar o CLI do Azure.To get the ID of the Key Vault, you can reference the output of the original template run or use the Azure CLI. O seguinte comando é um exemplo de como usar a CLI do Azure para obter a ID de recurso do Key Vault:The following command is an example of using the Azure CLI to get the Key Vault resource ID:

    az keyvault show --name mykeyvault --resource-group myresourcegroup --query id
    

    Esse comando retorna um valor semelhante ao texto a seguir:This command returns a value similar to the following text:

    /subscriptions/{subscription-guid}/resourceGroups/myresourcegroup/providers/Microsoft.KeyVault/vaults/mykeyvault
    

Rede virtual não vinculada à zona DNS privadaVirtual network not linked to private DNS zone

Ao criar um espaço de trabalho com um ponto de extremidade privado, o modelo cria uma zona de DNS privado chamada privatelink.API.azureml.ms.When creating a workspace with a private endpoint, the template creates a Private DNS Zone named privatelink.api.azureml.ms. Um link de rede virtual é adicionado automaticamente a essa zona DNS privada.A virtual network link is automatically added to this private DNS zone. O link só é adicionado ao primeiro espaço de trabalho e ao ponto de extremidade privado que você criar em um grupo de recursos; Se você criar outra rede virtual e espaço de trabalho com um ponto de extremidade privado no mesmo grupo de recursos, a segunda rede virtual poderá não ser adicionada à zona DNS privada.The link is only added for the first workspace and private endpoint you create in a resource group; if you create another virtual network and workspace with a private endpoint in the same resource group, the second virtual network may not get added to the private DNS zone.

Para exibir os links de rede virtual que já existem para a zona DNS privada, use o seguinte comando de CLI do Azure:To view the virtual network links that already exist for the private DNS zone, use the following Azure CLI command:

az network private-dns link vnet list --zone-name privatelink.api.azureml.ms --resource-group myresourcegroup

Para adicionar a rede virtual que contém outro espaço de trabalho e o ponto de extremidade privado, use as seguintes etapas:To add the virtual network that contains another workspace and private endpoint, use the following steps:

  1. Para localizar a ID de rede virtual para a rede que você deseja adicionar, use o seguinte comando:To find the virtual network ID for the network that you want to add, use the following command:

    az network vnet show --name myvnet --resource-group myresourcegroup --query id
    

    Esse comando retorna um valor semelhante a ' "/subscriptions/GUID/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/myvnet" '.This command returns a value similar to `"/subscriptions/GUID/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/myvnet"'. Salve esse valor e use-o na próxima etapa.Save this value and use it in the next step.

  2. Para adicionar um link de rede virtual à zona de DNS privado privatelink.api.azureml.ms, use o comando a seguir.To add a virtual network link to the privatelink.api.azureml.ms Private DNS Zone, use the following command. Para o --virtual-network parâmetro, use a saída do comando anterior:For the --virtual-network parameter, use the output of the previous command:

    az network private-dns link vnet create --name mylinkname --registration-enabled true --resource-group myresourcegroup --virtual-network myvirtualnetworkid --zone-name privatelink.api.azureml.ms
    

Próximas etapasNext steps