Tutorial: Como criar um espaço de trabalho seguro usando o modelo

Os modelos fornecem uma maneira conveniente de criar implantações de serviço reproduzíveis. O modelo define o que será criado, com algumas informações fornecidas por você quando você usar o modelo. Por exemplo, especificar um nome exclusivo para o espaço de trabalho do Azure Machine Learning.

Neste tutorial, você aprenderá a usar um modelo Microsoft Bicep e Hashicorp Terraform para criar os seguintes recursos do Azure:

  • Rede virtual do Azure. Os seguintes recursos são protegidos por trás dessa rede virtual:
    • Espaço de trabalho do Azure Machine Learning
      • Instância de computação do Azure Machine Learning
      • Cluster de computação do Azure Machine Learning
    • Conta de armazenamento do Azure
    • Azure Key Vault
    • Azure Application Insights
    • Registo de Contentores do Azure
    • Azure Bastion host
    • Azure Machine Learning Virtual Machine (Máquina Virtual de Ciência de Dados)
    • O modelo Bicep também cria um cluster do Serviço Kubernetes do Azure e um grupo de recursos separado para ele.

Gorjeta

A Microsoft recomenda o uso de redes virtuais gerenciadas do Azure Machine Learning em vez das etapas neste artigo. Com uma rede virtual gerenciada, o Azure Machine Learning lida com o trabalho de isolamento de rede para seu espaço de trabalho e cálculos gerenciados. Você também pode adicionar pontos de extremidade privados para recursos necessários para o espaço de trabalho, como a Conta de Armazenamento do Azure. Para obter mais informações, consulte Isolamento de rede gerenciado pelo espaço de trabalho.

Pré-requisitos

Antes de usar as etapas neste artigo, você deve ter uma assinatura do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita.

Você também deve ter uma linha de comando Bash ou Azure PowerShell.

Gorjeta

Ao ler este artigo, use as guias em cada seção para selecionar se deseja exibir informações sobre o uso de modelos Bicep ou Terraform.

  1. Para instalar as ferramentas de linha de comando, consulte Configurar ambientes de desenvolvimento e implantação do Bicep.

  2. O modelo Bicep usado neste artigo está localizado em https://github.com/Azure/azure-quickstart-templates/blob/master/quickstarts/microsoft.machinelearningservices/machine-learning-end-to-end-secure. Use os seguintes comandos para clonar o repositório GitHub em seu ambiente de desenvolvimento:

    Gorjeta

    Se você não tiver o git comando em seu ambiente de desenvolvimento, poderá instalá-lo a partir de https://git-scm.com/.

    git clone https://github.com/Azure/azure-quickstart-templates
    cd azure-quickstart-templates/quickstarts/microsoft.machinelearningservices/machine-learning-end-to-end-secure
    

Compreender o modelo

O modelo Bicep é composto pelo main.bicep e os .biceparquivos no subdiretório modules. A tabela a seguir descreve o que cada arquivo é responsável:

Ficheiro Description
main.bicep Parâmetros e variáveis. Passando parâmetros e variáveis para outros módulos no modules subdiretório.
vnet.bicep Define a Rede Virtual do Azure e as sub-redes.
NSG.BICEP Define as regras do grupo de segurança de rede para a rede virtual.
bastião.bicep Define o host e a sub-rede do Azure Bastion. O Azure Bastion permite que você acesse facilmente uma VM dentro da VNet usando seu navegador da Web.
dsvmjumpbox.bicep Define a Máquina Virtual de Ciência de Dados (DSVM). O Azure Bastion é usado para acessar essa VM por meio de seu navegador da Web.
armazenamento.bicep Define a conta de Armazenamento do Azure usada pelo espaço de trabalho para armazenamento padrão.
keyvault.bicep Define o Cofre da Chave do Azure usado pelo espaço de trabalho.
containerregistry.bicep Define o Registro de Contêiner do Azure usado pelo espaço de trabalho.
applicationinsights.bicep Define a instância do Azure Application Insights usada pelo espaço de trabalho.
machinelearningnetworking.bicep Define os pontos de extremidade privados e as zonas DNS para o espaço de trabalho do Azure Machine Learning.
Aprendizado de máquina.bicep Define o espaço de trabalho do Azure Machine Learning.
machinelearningcompute.bicep Define um cluster de computação e uma instância de computação do Azure Machine Learning.
privateaks.bicep Define uma instância de cluster dos Serviços Kubernetes do Azure.

Importante

Os modelos de exemplo nem sempre podem usar a versão mais recente da API para o Azure Machine Learning. Antes de usar o modelo, recomendamos modificá-lo para usar as versões mais recentes da API. Para obter informações sobre as versões mais recentes da API para o Azure Machine Learning, consulte a API REST do Azure Machine Learning.

Cada serviço do Azure tem seu próprio conjunto de versões de API. Para obter informações sobre a API de um serviço específico, verifique as informações de serviço na referência da API REST do Azure.

Para atualizar a versão da API, localize a Microsoft.MachineLearningServices/<resource> entrada para o tipo de recurso e atualize-a para a versão mais recente. O exemplo a seguir é uma entrada para o espaço de trabalho do Azure Machine Learning que usa uma versão de API do 2022-05-01:

resource machineLearning 'Microsoft.MachineLearningServices/workspaces@2022-05-01' = {

Importante

A DSVM e o Azure Bastion são usados como uma maneira fácil de se conectar ao espaço de trabalho seguro para este tutorial. Em um ambiente de produção, recomendamos usar um gateway de VPN do Azure ou o Azure ExpressRoute para acessar os recursos dentro da VNet diretamente de sua rede local.

Configurar o modelo

Para executar o modelo Bicep, use os seguintes comandos do machine-learning-end-to-end-secure local onde o main.bicep arquivo está:

  1. Para criar um novo Grupo de Recursos do Azure, use o seguinte comando. Substitua exampleRG pelo nome do grupo de recursos e eastus pela região do Azure que você deseja usar:

    az group create --name exampleRG --location eastus
    
  2. Para executar o modelo, use o seguinte comando. Substitua o por um prefixo prefix exclusivo. O prefixo será usado ao criar recursos do Azure que são necessários para o Azure Machine Learning. Substitua o securepassword por uma senha segura para a caixa de salto. A senha é para a conta de login para a caixa de salto (azureadmin nos exemplos abaixo):

    Gorjeta

    O prefix deve ter 5 ou menos caracteres. Não pode ser totalmente numérico ou conter os seguintes caracteres: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?.

    az deployment group create \
        --resource-group exampleRG \
        --template-file main.bicep \
        --parameters \
        prefix=prefix \
        dsvmJumpboxUsername=azureadmin \
        dsvmJumpboxPassword=securepassword
    

Conectar-se ao espaço de trabalho

Após a conclusão do modelo, use as seguintes etapas para se conectar à DSVM:

  1. No portal do Azure, selecione o Grupo de Recursos do Azure que você usou com o modelo. Em seguida, selecione a Máquina Virtual de Ciência de Dados que foi criada pelo modelo. Se você tiver problemas para encontrá-lo, use a seção de filtros para filtrar o Tipo para máquina virtual.

    Screenshot of filtering and selecting the vm.

  2. Na seção Visão Geral da Máquina Virtual, selecione Conectar e, em seguida, selecione Bastion na lista suspensa.

    Screenshot of selecting to connect using Bastion.

  3. Quando solicitado, forneça o nome de usuário e a senha especificados ao configurar o modelo e selecione Conectar.

    Importante

    Na primeira vez que você se conectar à área de trabalho da DSVM, uma janela do PowerShell será aberta e começará a executar um script. Permita que isso seja concluído antes de continuar com a próxima etapa.

  4. Na área de trabalho da DSVM, inicie o Microsoft Edge e digite https://ml.azure.com como o endereço. Entre na sua assinatura do Azure e selecione o espaço de trabalho criado pelo modelo. O estúdio para o seu espaço de trabalho é exibido.

Resolução de Problemas

Erro: O nome do computador Windows não pode ter mais de 15 caracteres, ser totalmente numérico ou conter os seguintes caracteres

Este erro pode ocorrer quando o nome da caixa de salto DSVM é maior que 15 caracteres ou inclui um dos seguintes caracteres: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?.

Ao usar o modelo Bicep, o nome da caixa de salto é gerado programaticamente usando o valor de prefixo fornecido ao modelo. Para se certificar de que o nome não excede 15 caracteres ou contém caracteres inválidos, use um prefixo de 5 caracteres ou menos e não use nenhum dos seguintes caracteres no prefixo: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?.

Ao usar o modelo Terraform, o nome da caixa de salto é passado usando o dsvm_name parâmetro. Para evitar esse erro, use um nome que não seja maior que 15 caracteres e não use nenhum dos seguintes caracteres como parte do nome: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?.

Próximos passos

Importante

A Máquina Virtual de Ciência de Dados (DSVM) e quaisquer recursos de instância de computação cobram por cada hora em execução. Para evitar cobranças excessivas, você deve interromper esses recursos quando eles não estiverem em uso. Para obter mais informações, consulte os seguintes artigos que podem estar em inglês:

Para continuar aprendendo a usar o espaço de trabalho seguro da DSVM, consulte Tutorial: Azure Machine Learning em um dia.

Para saber mais sobre configurações comuns de espaço de trabalho seguro e requisitos de entrada/saída, consulte Fluxo de tráfego de espaço de trabalho seguro do Azure Machine Learning.