Criar uma instância de computação do Azure Machine Learning

APLICA-SE A:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)

Saiba como criar uma instância de computação no seu espaço de trabalho do Azure Machine Learning.

Use uma instância de computação como seu ambiente de desenvolvimento totalmente configurado e gerenciado na nuvem. Para desenvolvimento e teste, você também pode usar a instância como um destino de computação de treinamento. Uma instância de computação pode executar vários trabalhos em paralelo e tem uma fila de trabalhos. Como um ambiente de desenvolvimento, uma instância de computação não pode ser compartilhada com outros usuários em seu espaço de trabalho.

Neste artigo, você aprenderá a criar uma instância de computação. Consulte Gerenciar uma instância de computação do Azure Machine Learning para obter as etapas para gerenciar iniciar, parar, reiniciar, excluir uma instância de computação.

Você também pode usar um script de configuração para criar a instância de computação com seu próprio ambiente personalizado.

As instâncias de computação podem executar trabalhos com segurança em um ambiente de rede virtual, sem exigir que as empresas abram portas SSH. O trabalho é executado em um ambiente conteinerizado e empacota suas dependências de modelo em um contêiner do Docker.

Nota

Este artigo usa a CLI v2 em alguns exemplos. Se você ainda estiver usando a CLI v1, consulte Criar uma CLI v1 de cluster de computação do Azure Machine Learning.

Pré-requisitos

  • Uma área de trabalho do Azure Machine Learning. Para obter mais informações, consulte Criar um espaço de trabalho do Azure Machine Learning. Na conta de armazenamento, a opção "Permitir acesso à chave da conta de armazenamento" deve estar habilitada para que a criação da instância de computação seja bem-sucedida.

Escolha a guia para o ambiente que você está usando para outros pré-requisitos.

Execute este código para se conectar ao seu espaço de trabalho do Azure Machine Learning.

Substitua sua ID de assinatura, nome do grupo de recursos e nome do espaço de trabalho no código a seguir. Para encontrar estes valores:

  1. Entre no estúdio do Azure Machine Learning.
  2. Abra o espaço de trabalho que deseja usar.
  3. Selecione o nome do seu espaço de trabalho na barra de ferramentas do estúdio do Azure Machine Learning no canto superior direito.
  4. Copie o valor para espaço de trabalho, grupo de recursos e ID de assinatura para o código.

APLICA-SE A: Python SDK azure-ai-ml v2 (atual)

# Enter details of your AML workspace
subscription_id = "<SUBSCRIPTION_ID>"
resource_group = "<RESOURCE_GROUP>"
workspace = "<AML_WORKSPACE_NAME>"
# get a handle to the workspace
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

ml_client = MLClient(
    DefaultAzureCredential(), subscription_id, resource_group, workspace
)

ml_client é um manipulador para o espaço de trabalho que você usa para gerenciar outros recursos e trabalhos.

Criar

Estimativa de tempo: Aproximadamente 5 minutos.

Criar uma instância de computação é um processo único para seu espaço de trabalho. Você pode reutilizar a computação como uma estação de trabalho de desenvolvimento ou como um destino de computação para treinamento. Você pode ter várias instâncias de computação anexadas ao seu espaço de trabalho.

Os núcleos dedicados por região por cota de família de VMs e a cota regional total, que se aplica à criação de instâncias de computação, são unificados e compartilhados com a cota de cluster de computação de treinamento do Azure Machine Learning. Parar a instância de computação não libera a cota para garantir que você possa reiniciar a instância de computação. Uma cota é um limite de crédito nos recursos do Azure, não uma garantia de capacidade, A reinicialização de uma instância de computação ainda depende da capacidade disponível da região. Se houver uma crise de capacidade na região para a SKU, talvez não seja possível reiniciar a instância de computação. Não é possível alterar o tamanho da máquina virtual da instância de computação depois de criada.

A maneira mais rápida de criar uma instância de computação é seguir os recursos de criação necessários para começar.

Ou use os exemplos a seguir para criar uma instância de computação com mais opções:

APLICA-SE A: Python SDK azure-ai-ml v2 (atual)

# Compute Instances need to have a unique name across the region.
# Here we create a unique name with current datetime
from azure.ai.ml.entities import ComputeInstance, AmlCompute
import datetime

ci_basic_name = "basic-ci" + datetime.datetime.now().strftime("%Y%m%d%H%M")
ci_basic = ComputeInstance(name=ci_basic_name, size="STANDARD_DS3_v2")
ml_client.begin_create_or_update(ci_basic).result()

Para obter mais informações sobre as classes, métodos e parâmetros para criar uma instância de computação, consulte os seguintes documentos de referência:

Você também pode criar uma instância de computação com um modelo do Azure Resource Manager.

Configurar o encerramento por inatividade

Para evitar que lhe seja cobrada uma instância de computação que está ligada, mas inativa, pode configurar quando encerrar a instância de computação devido a inatividade.

Uma instância de computação será considerada inativa se as condições abaixo indicadas forem cumpridas:

  • Não existem sessões do Kernel do Jupyter ativas (o que se traduz em nenhuma utilização de Blocos de Notas através do Jupyter, do JupyterLab ou de blocos de notas interativos)
  • Não existem sessões do terminal do Jupyter ativas
  • Nenhuma execução ou experimentação ativa do Azure Machine Learning
  • Não existem ligações do VS Code; tem de fechar a ligação do VS Code para que a instância de computação seja considerada inativa. As sessões são terminadas automaticamente se o VS Code não detetar nenhuma atividade durante 3 horas.
  • Nenhuma aplicação personalizado está a ser executada na computação

Uma instância de computação não será considerada inativa se alguma aplicação personalizada estiver em execução. Para desligar uma computação com um aplicativo personalizado automaticamente, um agendamento precisa ser configurado ou o aplicativo personalizado precisa ser removido. Existem também alguns limites básicos em torno dos períodos de tempo de inatividade. A instância de computação deve estar inativa durante um mínimo de 15 min e um máximo de três dias. Também não rastreamos conexões SSH do VS Code para determinar a atividade.

Adicionalmente, se uma instância de computação já estiver inativa durante um determinado período de tempo, se as definições de encerramento por inatividade forem atualizadas para um período de tempo inferior à duração da inatividade atual, o relógio de tempo de inatividade é reposto para 0. Por exemplo, se a instância de computação já estiver inativa há 20 minutos e as definições de encerramento forem atualizadas para 15 minutos, o relógio de tempo de inatividade é reposto para 0.

Importante

Se a instância de computação também estiver configurada com uma identidade gerida, a instância de computação não será encerrada devido a inatividade, a menos que a identidade gerida tenha acesso de contribuidor à área de trabalho do Azure Machine Learning. Para obter mais informações sobre como atribuir permissões, veja Gerir o acesso às áreas de trabalho do Azure Machine Learning.

A configuração pode ser definida durante a criação da instância de computação ou para instâncias de computação existentes por meio das seguintes interfaces:

APLICA-SE A: Python SDK azure-ai-ml v2 (atual)

Ao criar uma nova instância de computação, adicione o idle_time_before_shutdown_minutes parâmetro.

# Note that idle_time_before_shutdown has been deprecated.
ComputeInstance(name=ci_basic_name, size="STANDARD_DS3_v2", idle_time_before_shutdown_minutes="30")

Não é possível alterar o tempo ocioso de uma instância de computação existente com o Python SDK.

Você também pode alterar o tempo ocioso usando:

  • API REST

    Parâmetro de avaliação:

    POST https://management.azure.com/subscriptions/{SUB_ID}/resourceGroups/{RG_NAME}/providers/Microsoft.MachineLearningServices/workspaces/{WS_NAME}/computes/{CI_NAME}/updateIdleShutdownSetting?api-version=2021-07-01
    

    Corpo:

    {
        "idleTimeBeforeShutdown": "PT30M" // this must be a string in ISO 8601 format
    }
    
  • Modelos ARM: configuráveis apenas durante a criação de novas instâncias de computação

    // Note that this is just a snippet for the idle shutdown property in an ARM template
    {
        "idleTimeBeforeShutdown":"PT30M" // this must be a string in ISO 8601 format
    }
    

Programar arranque e paragem automáticos

Defina várias agendas para desligamento automático e inicialização automática. Por exemplo, crie um horário para começar às 9h e parar às 18h de segunda a quinta-feira, e um segundo horário para começar às 9h e parar às 16h na sexta-feira. Você pode criar um total de quatro agendas por instância de computação.

As agendas também podem ser definidas para criação em nome de instâncias de computação. Você pode criar uma agenda que crie a instância de computação em um estado interrompido. As instâncias de computação interrompidas são úteis quando você cria uma instância de computação em nome de outro usuário.

Antes de um desligamento agendado, os usuários veem uma notificação alertando-os de que a Instância de Computação está prestes a ser encerrada. Nesse ponto, o usuário pode optar por descartar o próximo evento de desligamento. Por exemplo, se eles estiverem no meio do uso de sua instância de computação.

Criar uma agenda

APLICA-SE A: Python SDK azure-ai-ml v2 (atual)

from azure.ai.ml.entities import ComputeInstance, ComputeSchedules, ComputeStartStopSchedule, RecurrenceTrigger, RecurrencePattern
from azure.ai.ml.constants import TimeZone
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

ci_minimal_name = "ci-name"
ci_start_time = "2023-06-21T11:47:00" #specify your start time in the format yyyy-mm-ddThh:mm:ss

rec_trigger = RecurrenceTrigger(start_time=ci_start_time, time_zone=TimeZone.INDIA_STANDARD_TIME, frequency="week", interval=1, schedule=RecurrencePattern(week_days=["Friday"], hours=15, minutes=[30]))
myschedule = ComputeStartStopSchedule(trigger=rec_trigger, action="start")
com_sch = ComputeSchedules(compute_start_stop=[myschedule])

my_compute = ComputeInstance(name=ci_minimal_name, schedules=com_sch)
ml_client.compute.begin_create_or_update(my_compute)

Criar uma agenda com um modelo do Resource Manager

Você pode agendar o início e a parada automáticos de uma instância de computação usando um modelo do Gerenciador de Recursos.

No modelo do Resource Manager, adicione:

"schedules": "[parameters('schedules')]"

Em seguida, use expressões cron ou LogicApps para definir o agendamento que inicia ou para a instância em seu arquivo de parâmetro:

  "schedules": {
    "value": {
      "computeStartStop": [
        {
          "triggerType": "Cron",
          "cron": {
            "timeZone": "UTC",
            "expression": "0 18 * * *"
          },
          "action": "Stop",
          "status": "Enabled"
        },
        {
          "triggerType": "Cron",
          "cron": {
            "timeZone": "UTC",
            "expression": "0 8 * * *"
          },
          "action": "Start",
          "status": "Enabled"
        },
        {
          "triggerType": "Recurrence",
          "recurrence": {
            "frequency": "Day",
            "interval": 1,
            "timeZone": "UTC",
            "schedule": {
              "hours": [17],
              "minutes": [0]
            }
          },
          "action": "Stop",
          "status": "Enabled"
        }
      ]
    }
  }
  • A ação pode ter valor de Start ou Stop.

  • Para o tipo de gatilho de usar a mesma sintaxe do aplicativo lógico, com este esquema de Recurrence recorrência.

  • Para o tipo de gatilho do cron, use a sintaxe cron padrão:

    // Crontab expression format: 
    // 
    // * * * * * 
    // - - - - - 
    // | | | | | 
    // | | | | +----- day of week (0 - 6) (Sunday=0) 
    // | | | +------- month (1 - 12) 
    // | | +--------- day of month (1 - 31) 
    // | +----------- hour (0 - 23) 
    // +------------- min (0 - 59) 
    // 
    // Star (*) in the value field above means all legal values as in 
    // braces for that column. The value column can have a * or a list 
    // of elements separated by commas. An element is either a number in 
    // the ranges shown above or two numbers in the range separated by a 
    // hyphen (meaning an inclusive range). 
    

Suporte da Política do Azure para padronizar uma agenda

Use a Política do Azure para impor uma agenda de desligamento existente para cada instância de computação em uma assinatura ou padrão para uma agenda, se nada existir. A seguir está um exemplo de política para padronizar uma agenda de desligamento às 22h PST.

{
    "mode": "All",
    "policyRule": {
     "if": {
      "allOf": [
       {
        "field": "Microsoft.MachineLearningServices/workspaces/computes/computeType",
        "equals": "ComputeInstance"
       },
       {
        "field": "Microsoft.MachineLearningServices/workspaces/computes/schedules",
        "exists": "false"
       }
      ]
     },
     "then": {
      "effect": "append",
      "details": [
       {
        "field": "Microsoft.MachineLearningServices/workspaces/computes/schedules",
        "value": {
         "computeStartStop": [
          {
           "triggerType": "Cron",
           "cron": {
            "startTime": "2021-03-10T21:21:07",
            "timeZone": "Pacific Standard Time",
            "expression": "0 22 * * *"
           },
           "action": "Stop",
           "status": "Enabled"
          }
         ]
        }
       }
      ]
     }
    }
}

Criar em nome de

Como administrador, você pode criar uma instância de computação em nome de um cientista de dados e atribuir a instância a eles com:

  • Studio, usando as configurações de segurança neste artigo.

  • Modelo do Azure Resource Manager. Para obter detalhes sobre como localizar o TenantID e o ObjectID necessários neste modelo, consulte Localizar IDs de objeto de identidade para configuração de autenticação. Você também pode encontrar esses valores no centro de administração do Microsoft Entra.

Para aumentar ainda mais a segurança, quando você cria uma instância de computação em nome de um cientista de dados e atribui a instância a ele, o logon único (SSO) será desabilitado durante a criação se a instância de computação tiver um script de configuração ou aplicativo personalizado.

O utilizador atribuído tem de ativar o SSO na própria instância de computação depois que a computação lhe é atribuída, atualizando a definição de SSO na instância de computação. Atribuído ao utilizador tem de ter a seguinte permissão/ação na sua função MachineLearningServices/workspaces/computes/enableSso/action. Atribuído ao utilizador não precisa de permissão de escrita de computação (criar) para ativar o SSO.

Aqui estão os passos que atribuído ao utilizador tem de executar. Observe que o criador da instância de computação não tem permissão para ativar o SSO nessa instância de computação devido a razões de segurança.

  1. Clique em computação no painel de navegação esquerdo no estúdio do Azure Machine Learning.

  2. Clique no nome da instância de computação onde precisa de ativar o SSO.

  3. Edite a secção Detalhes do início de sessão único.

    A captura de tela mostra que o SSO pode ser atualizado na página de detalhes da instância de computação pelo usuário atribuído.

  4. Ativar a alternância do início de sessão único.

  5. Guardar. A atualização levará algum tempo.

Atribuir identidade gerenciada

Você pode atribuir uma identidade gerenciada atribuída pelo sistema ou pelo usuário a uma instância de computação, para autenticar em outros recursos do Azure, como armazenamento. A utilização de identidades geridas para autenticação ajuda a melhorar a segurança e a gestão da área de trabalho. Por exemplo, você pode permitir que os usuários acessem dados de treinamento somente quando estiverem conectados a uma instância de computação. Ou use uma identidade gerenciada comum atribuída pelo usuário para permitir o acesso a uma conta de armazenamento específica.

Importante

Se a instância de computação também estiver configurada para desligamento ocioso, a instância de computação não será encerrada devido à inatividade, a menos que a identidade gerenciada tenha acesso de colaborador ao espaço de trabalho do Azure Machine Learning. Para obter mais informações sobre como atribuir permissões, veja Gerir o acesso às áreas de trabalho do Azure Machine Learning.

Use o SDK V2 para criar uma instância de computação com a atribuição de identidade gerenciada atribuída ao sistema:

from azure.ai.ml import MLClient
from azure.identity import ManagedIdentityCredential
client_id = os.environ.get("DEFAULT_IDENTITY_CLIENT_ID", None)
credential = ManagedIdentityCredential(client_id=client_id)
ml_client = MLClient(credential, subscription_id, resource_group, workspace)

Você também pode usar o SDK V1:

from azureml.core.authentication import MsiAuthentication
from azureml.core import Workspace
client_id = os.environ.get("DEFAULT_IDENTITY_CLIENT_ID", None)
auth = MsiAuthentication(identity_config={"client_id": client_id})
workspace = Workspace.get("chrjia-eastus", auth=auth, subscription_id=subscription_id, resource_group=resource_group, location="East US")

Depois que a identidade gerenciada for criada, conceda à identidade gerenciada pelo menos a função de Leitor de Dados de Blob de Armazenamento na conta de armazenamento do armazenamento de dados, consulte Acessando serviços de armazenamento. Em seguida, quando você trabalha na instância de computação, a identidade gerenciada é usada automaticamente para autenticar em armazenamentos de dados.

Nota

O nome da identidade gerenciada do sistema criada estará no formato /workspace-name/computes/compute-instance-name na sua ID do Microsoft Entra.

Você também pode usar a identidade gerenciada manualmente para autenticar em outros recursos do Azure. O exemplo a seguir mostra como usá-lo para obter um token de acesso do Azure Resource Manager:

import requests

def get_access_token_msi(resource):
    client_id = os.environ.get("DEFAULT_IDENTITY_CLIENT_ID", None)
    resp = requests.get(f"{os.environ['MSI_ENDPOINT']}?resource={resource}&clientid={client_id}&api-version=2017-09-01", headers={'Secret': os.environ["MSI_SECRET"]})
    resp.raise_for_status()
    return resp.json()["access_token"]

arm_access_token = get_access_token_msi("https://management.azure.com")

Para usar a CLI do Azure com a identidade gerenciada para autenticação, especifique a ID do cliente de identidade como o nome de usuário ao fazer logon:

az login --identity --username $DEFAULT_IDENTITY_CLIENT_ID

Nota

Você não pode usar azcopy ao tentar usar a identidade gerenciada. azcopy login --identity não vai funcionar.

Habilitar acesso SSH

O acesso SSH está desativado por padrão. O acesso SSH não pode ser ativado ou desativado após a criação. Certifique-se de habilitar o acesso se você planeja depurar interativamente com o VS Code Remote.

Depois de selecionar Next: Advanced Settings:

  1. Ative Ativar acesso SSH.
  2. Na fonte de chave pública SSH, selecione uma das opções na lista suspensa:
    • Se você gerar um novo par de chaves:
      1. Insira um nome para a chave em Nome do par de chaves.
      2. Selecione Criar.
      3. Selecione Baixar chave privada e criar computação. A chave geralmente é baixada para a pasta Downloads .
    • Se você selecionar Usar chave pública existente armazenada no Azure, procure e selecione a chave em Chave armazenada.
    • Se você selecionar Usar chave pública existente, forneça uma chave pública RSA no formato de linha única (começando com "ssh-rsa") ou no formato PEM de várias linhas. Você pode gerar chaves SSH usando ssh-keygen no Linux e OS X, ou PuTTYGen no Windows.

Configurar uma chave SSH mais tarde

Embora o SSH não possa ser habilitado ou desabilitado após a criação, você tem a opção de configurar uma chave SSH posteriormente em uma instância de computação habilitada para SSH. Isso permite que você configure a chave SSH pós-criação. Para fazer isso, selecione para habilitar o SSH em sua instância de computação e selecione "Configurar uma chave SSH mais tarde" como a fonte de chave pública SSH. Depois que a instância de computação for criada, você poderá visitar a página Detalhes da instância de computação e selecionar para editar suas chaves SSH. A partir daí, você pode adicionar sua chave SSH.

Um exemplo de um caso de uso comum para isso é ao criar uma instância de computação em nome de outro usuário (consulte Criar em nome de) Ao provisionar uma instância de computação em nome de outro usuário, você pode habilitar o SSH para o novo proprietário da instância de computação selecionando Configurar uma chave SSH mais tarde. Isso permite que o novo proprietário da instância de computação configure sua chave SSH para sua instância de computação recém-criada e atribuída a eles seguindo as etapas anteriores.

Ligar com SSH

Depois de criar uma computação com acesso SSH habilitado, use estas etapas para acesso.

  1. Encontre a computação nos recursos do seu espaço de trabalho:

    1. À esquerda, selecione Computar.
    2. Use as guias na parte superior para selecionar Instância de computação ou Cluster de computação para localizar sua máquina.
  2. Selecione o nome da computação na lista de recursos.

  3. Encontre a cadeia de conexão:

    • Para uma instância de computação, selecione Conectar na parte superior da seção Detalhes .

      Captura de tela que mostra a ferramenta de conexão na parte superior da página Detalhes.

    • Para um cluster de computação, selecione Nós na parte superior e, em seguida, selecione a Cadeia de conexão na tabela do nó. Captura de tela que mostra a cadeia de conexão para um nó em um cluster de computação.

  4. Copie a cadeia de conexão.

  5. Para Windows, abra o PowerShell ou um prompt de comando:

    1. Vá para o diretório ou pasta onde sua chave está armazenada

    2. Adicione o sinalizador -i à cadeia de conexão para localizar a chave privada e apontar para onde ela está armazenada:

      ssh -i <keyname.pem> azureuser@... (rest of connection string)

  6. Para usuários do Linux, siga as etapas de Criar e usar um par de chaves SSH para VMs Linux no Azure

  7. Para utilização em SCP:

    scp -i key.pem -P {port} {fileToCopyFromLocal } azureuser@yourComputeInstancePublicIP:~/{destination}

  • API REST

O cientista de dados para o qual você cria a instância de computação precisa das seguintes permissões de controle de acesso baseado em função do Azure (Azure RBAC):

  • Microsoft.MachineLearningServices/workspaces/computes/start/action
  • Microsoft.MachineLearningServices/workspaces/computes/stop/action
  • Microsoft.MachineLearningServices/workspaces/computes/restart/action
  • Microsoft.MachineLearningServices/workspaces/computes/applicationaccess/action
  • Microsoft.MachineLearningServices/workspaces/computes/updateSchedules/action

O cientista de dados pode iniciar, parar e reiniciar a instância de computação. Eles podem usar a instância de computação para:

  • Jupyter
  • JupyterLab
  • RStudio
  • Posit Workbench (anteriormente RStudio Workbench)
  • Blocos de notas integrados

Adicione aplicativos personalizados, como RStudio ou Posit Workbench

Você pode configurar outros aplicativos, como RStudio ou Posit Workbench (anteriormente RStudio Workbench), ao criar uma instância de computação. Siga estas etapas no estúdio para configurar um aplicativo personalizado em sua instância de computação

  1. Preencha o formulário para criar uma nova instância de computação
  2. Selecionar Aplicações
  3. Selecione Adicionar aplicativo

Captura de ecrã a mostrar a Configuração do Serviço Personalizado.

Setup Posit Workbench (anteriormente RStudio Workbench)

O RStudio é um dos IDEs mais populares entre os desenvolvedores de R para projetos de ML e ciência de dados. Você pode facilmente configurar o Posit Workbench, que fornece acesso ao RStudio junto com outras ferramentas de desenvolvimento, para ser executado em sua instância de computação, usando sua própria licença Posit, e acessar o rico conjunto de recursos que o Posit Workbench oferece

  1. Siga as etapas listadas acima para Adicionar aplicativo ao criar sua instância de computação.
  2. Selecione Posit Workbench (traga sua própria licença) na lista suspensa Application e insira sua chave de licença do Posit Workbench no campo License key. Você pode obter sua licença do Posit Workbench ou licença de avaliação do posit.
  3. Selecione Criar para adicionar o aplicativo Posit Workbench à sua instância de computação.

A captura de tela mostra as configurações do Posit Workbench.

Importante

Se estiver usando um espaço de trabalho de link privado, verifique se a imagem, o pkg-containers.githubusercontent.com e o ghcr.io do docker estão acessíveis. Além disso, use uma porta publicada no intervalo 8704-8993. Para o Posit Workbench (anteriormente RStudio Workbench), certifique-se de que a licença esteja acessível fornecendo acesso à rede para https://www.wyday.com.

Nota

  • O suporte para acessar seu armazenamento de arquivos de espaço de trabalho do Posit Workbench ainda não está disponível.
  • Ao acessar várias instâncias do Posit Workbench, se você vir uma "400 Bad Request. Solicitar cabeçalho ou cookie muito grande", use um novo navegador ou acesse a partir de um navegador no modo de navegação anônima.

Configuração RStudio (código aberto)

Para usar o RStudio, configure um aplicativo personalizado da seguinte maneira:

  1. Siga as etapas anteriores para Adicionar aplicativo ao criar sua instância de computação.

  2. Selecione Aplicativo personalizado na lista suspensa Aplicativo.

  3. Configure o nome do aplicativo que você gostaria de usar.

  4. Configure o aplicativo para ser executado na porta 8787 de destino - a imagem docker para o código aberto RStudio listada abaixo precisa ser executada nesta porta de destino.

  5. Configure o aplicativo a ser acessado na porta 8787 publicada - você pode configurar o aplicativo para ser acessado em uma porta publicada diferente, se desejar.

  6. Aponte a imagem do Docker para ghcr.io/azure/rocker-rstudio-ml-verse:latest.

  7. Selecione Criar para configurar o RStudio como um aplicativo personalizado em sua instância de computação.

A captura de tela mostra o formulário para configurar o RStudio como um aplicativo personalizado

Importante

Se estiver usando um espaço de trabalho de link privado, verifique se a imagem, o pkg-containers.githubusercontent.com e o ghcr.io do docker estão acessíveis. Além disso, use uma porta publicada no intervalo 8704-8993. Para o Posit Workbench (anteriormente RStudio Workbench), certifique-se de que a licença esteja acessível fornecendo acesso à rede para https://www.wyday.com.

Configurar outros aplicativos personalizados

Configure outros aplicativos personalizados em sua instância de computação fornecendo o aplicativo em uma imagem do Docker.

  1. Siga as etapas anteriores para Adicionar aplicativo ao criar sua instância de computação.
  2. Selecione Aplicativo personalizado na lista suspensa Aplicativo.
  3. Configure o nome do aplicativo, a porta de destino na qual você deseja executar o aplicativo, a porta publicada na qual você deseja acessar o aplicativo e a imagem do Docker que contém seu aplicativo. Se sua imagem personalizada estiver armazenada em um Registro de Contêiner do Azure, atribua a função de Colaborador para os usuários do aplicativo. Para obter informações sobre como atribuir funções, consulte Gerenciar o acesso a um espaço de trabalho do Azure Machine Learning.
  4. Opcionalmente, adicione variáveis de ambiente que você deseja usar para seu aplicativo.
  5. Use Montagens de associação para adicionar acesso aos arquivos em sua conta de armazenamento padrão:
    • Especifique /home/azureuser/cloudfiles para o caminho do host.
    • Especifique /home/azureuser/cloudfiles para o caminho do contêiner.
    • Selecione Adicionar para adicionar esta montagem. Como os arquivos são montados, as alterações feitas neles estão disponíveis em outras instâncias e aplicativos de computação.
  6. Selecione Criar para configurar o aplicativo personalizado em sua instância de computação.

A captura de tela mostra as configurações personalizadas do aplicativo.

Importante

Se estiver usando um espaço de trabalho de link privado, verifique se a imagem, o pkg-containers.githubusercontent.com e o ghcr.io do docker estão acessíveis. Além disso, use uma porta publicada no intervalo 8704-8993. Para o Posit Workbench (anteriormente RStudio Workbench), certifique-se de que a licença esteja acessível fornecendo acesso à rede para https://www.wyday.com.

Acessando aplicativos personalizados no estúdio

Acesse os aplicativos personalizados que você configurou no estúdio:

  1. À esquerda, selecione Computar.
  2. Na guia Instância de computação, consulte seus aplicativos na coluna Aplicativos.

A captura de tela mostra o acesso do estúdio para seus aplicativos personalizados.

Nota

Pode levar alguns minutos após a configuração de um aplicativo personalizado até que você possa acessá-lo através dos links. A quantidade de tempo necessário dependerá do tamanho da imagem usada para seu aplicativo personalizado. Se você vir uma mensagem de erro 502 ao tentar acessar o aplicativo, aguarde algum tempo para que o aplicativo seja configurado e tente novamente. Se a imagem personalizada for extraída de um Registro de Contêiner do Azure, você precisará de uma função de Colaborador para o espaço de trabalho. Para obter informações sobre como atribuir funções, consulte Gerenciar o acesso a um espaço de trabalho do Azure Machine Learning.