Creará una instancia de proceso de Azure Machine Learning

SE APLICA A:Extensión ML de la CLI de Azure v2 (actual)SDK de Python azure-ai-ml v2 (actual)

Aprenda a crear una instancia de proceso en el área de trabajo de Azure Machine Learning.

Use una instancia de proceso como entorno de desarrollo completamente configurado y administrado en la nube. Para el desarrollo y las pruebas, también puede usar la instancia como un destino de proceso de entrenamiento. Una instancia de proceso puede ejecutar varios trabajos en paralelo y tiene una cola de trabajos. Como entorno de desarrollo, una instancia de proceso no se puede compartir con otros usuarios del área de trabajo.

En este artículo, aprenderá a crear una instancia de proceso. Consulte Administración de una instancia de proceso de Azure Machine Learning para conocer los pasos necesarios para administrar, iniciar, detener, reiniciar y eliminar una instancia de proceso.

También puede usar un script de instalación para crear la instancia de proceso con su propio entorno personalizado.

Las instancias de proceso pueden ejecutar trabajos de manera segura en un entorno de red virtual, sin necesidad de que las empresas abran puertos SSH. El trabajo se ejecuta en un entorno con contenedores y empaqueta las dependencias del modelo en un contenedor de Docker.

Nota:

En este artículo se usa la CLI v2 en algunos ejemplos. Si sigue usando la CLI v1, consulte Creación de una CLI de clúster de proceso v1 de Azure Machine Learning.

Requisitos previos

  • Un área de trabajo de Azure Machine Learning. Para más información, consulte Creación de un área de trabajo de Azure Machine Learning. En la cuenta de almacenamiento, la opción "Permitir el acceso a la clave de la cuenta de almacenamiento" debe estar habilitada para que la creación de la instancia de proceso se realice correctamente.

Elija la pestaña del entorno que está usando para obtener otros requisitos previos.

  • Para usar el SDK de Python, configure el entorno de desarrollo con un área de trabajo. Una vez configurado el entorno, conéctelo al área de trabajo en el script de Python:

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

    Ejecute este código para conectarse al área de trabajo de Azure ML.

    Reemplace el identificador de suscripción, el nombre del grupo de recursos y el nombre del área de trabajo en el código siguiente. Para establecer estos valores:

    1. Inicie sesión en Azure Machine Learning Studio.
    2. Abra el área de trabajo que quiere usar.
    3. En la barra de herramientas de Estudio de Azure Machine Learning superior derecha, seleccione el nombre del área de trabajo.
    4. Copie el valor del área de trabajo, el grupo de recursos y el identificador de suscripción en el código.
    5. Si usa un cuaderno dentro de Studio, deberá copiar un valor, cerrar el área y pegarlo y, luego, volver a la siguiente.
    # 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 es un controlador del área de trabajo que usará para administrar otros recursos y trabajos.

Crear

Tiempo estimado: Aproximadamente 5 minutos.

La creación de una instancia de proceso es un proceso único en el área de trabajo. Puede volver a usar el proceso como una estación de trabajo de desarrollo o como un destino de proceso para el entrenamiento. Puede tener varias instancias de proceso asociadas al área de trabajo.

Los núcleos dedicados por región por cuota de familia de máquinas virtuales y cuota regional total, que se aplica a la creación de instancias de proceso, se unifica y comparte con la cuota de clúster de proceso de Azure Machine Learning. La detención de la instancia de proceso no libera la cuota para garantizar que pueda reiniciar la instancia de proceso. No es posible cambiar el tamaño de la máquina virtual de la instancia de proceso una vez creada.

La forma más rápida de crear una instancia de proceso es seguir Creación de recursos que necesita para empezar.

O bien, use los ejemplos siguientes para crear una instancia de proceso con más opciones:

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

# 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 más información acerca de las clases, los métodos y los parámetros que se usan en este ejemplo, consulte los siguientes documentos de referencia:

También puede crear una instancia de proceso con una plantilla de Azure Resource Manager.

Configuración del apagado por inactividad

Para evitar que se cobre por las instancias de proceso que estén encendidas pero inactivas, puede configurar cuándo apagarlas si están inactivas.

Una instancia de proceso se considera inactiva si se cumplen las condiciones siguientes:

  • No hay sesiones activas del kernel de Jupyter (esto quiere decir que no se usan los cuadernos a través de Jupyter, JupyterLab o cuadernos interactivos).
  • No hay sesiones activas del terminal de Jupyter
  • No existen ejecuciones ni experimentos activos de Azure Machine Learning
  • No hay conexiones SSH
  • No hay conexiones de VS Code; debe cerrar la conexión de VS Code para que la instancia de proceso se considere inactiva. Las sesiones se finalizan automáticamente si VS Code no detecta ninguna actividad durante 3 horas.
  • No se ejecuta ninguna aplicación personalizada en el proceso

Una instancia de proceso no se considerará inactiva si se está ejecutando alguna aplicación personalizada. También hay algunos límites básicos a los períodos de inactividad; la instancia de proceso debe estar inactiva durante un mínimo de 15 minutos y un máximo de tres días.

Además, si una instancia de proceso lleva inactiva un periodo determinado, si la configuración de apagado de inactividad se actualiza a un periodo menor que la duración de inactividad actual, el reloj del tiempo de inactividad se restablece a 0. Por ejemplo, si la instancia de proceso lleva 20 minutos inactiva y la configuración de apagado se actualiza a 15 minutos, el reloj del tiempo de inactividad se restablece a 0.

Importante

Si la instancia de proceso también está configurada con una identidad administrada, la instancia de proceso no se apagará debido a la inactividad a menos que la identidad administrada tenga acceso de colaborador al área de trabajo de Azure Machine Learning. Para obtener más información sobre los permisos, consulte Administración del acceso a un área de trabajo de Azure Machine Learning.

El valor se puede configurar durante la creación de la instancia de proceso o para las instancias de proceso existentes a través de las siguientes interfaces:

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

Al crear una instancia de proceso, agregue el parámetro idle_time_before_shutdown_minutes.

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

No puede cambiar el tiempo de inactividad de una instancia de proceso existente con el SDK de Python.

También puede cambiar el tiempo de inactividad mediante:

  • API DE REST

    Punto de conexión:

    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
    

    Cuerpo:

    {
        "idleTimeBeforeShutdown": "PT30M" // this must be a string in ISO 8601 format
    }
    
  • Plantillas de ARM: solo se pueden configurar durante la creación de la instancia de proceso.

    // 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
    }
    

Programación del inicio y detención automáticos

Defina varias programaciones para el apagado automático y el inicio automático. Por ejemplo, cree una programación para comenzar a las 9 a. m. y detenerse a las 6 p. m. de lunes a jueves, y una segunda programación para comenzar a las 9 a. m. y detenerse a las 4 p. m. del viernes. Puede crear un total de cuatro programaciones por instancia de proceso.

Las programaciones también se pueden definir para instancias de proceso de creación en nombre de alguien. Puede crear una programación que genere la instancia de proceso en un estado detenido. Las instancias de proceso detenidas son útiles cuando se crea una instancia de proceso en nombre de otro usuario.

Antes de un apagado programado, los usuarios ven una notificación que les avisará de que la instancia de proceso está a punto de apagarse. En ese momento, el usuario puede optar por descartar el próximo evento de apagado. Por ejemplo, si están en medio del uso de su instancia de proceso.

Crear una programación

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

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

# authenticate
credential = DefaultAzureCredential()

# Get a handle to the workspace
ml_client = MLClient(
    credential=credential,
    subscription_id="<SUBSCRIPTION_ID>",
    resource_group_name="<RESOURCE_GROUP>",
    workspace_name="<AML_WORKSPACE_NAME>",
)

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)

Creación de una programación con una plantilla de Resource Manager

Puede programar el inicio y la detención automáticos de una instancia de proceso mediante una plantilla de Resource Manager.

En la plantilla de Resource Manager, agregue:

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

A continuación, use expresiones de cron o LogicApps para definir la programación que inicia o detiene la instancia en el archivo de parámetros:

  "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"
        }
      ]
    }
  }
  • La acción puede tener un valor de Start o Stop.

  • En el caso del tipo de desencadenador Recurrence, use la misma sintaxis que para la aplicación lógica, con este esquema de periodicidad.

  • En el caso del tipo cron, use la sintaxis estándar de Cron:

    // 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). 
    

Compatibilidad de Azure Policy para establecer una programación predeterminada

Use Azure Policy para que se aplique una programación de apagado para cada instancia de proceso de una suscripción o una programación predeterminada si no existe nada. A continuación, se muestra una directiva de ejemplo para establecer una programación de apagado predeterminada en las 10 p. m. 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"
          }
         ]
        }
       }
      ]
     }
    }
}

Creación en nombre de alguien

Como administrador, puede crear una instancia de proceso en nombre de un científico de datos y asignarle la instancia con:

Identidad administrada asignada

Puede asignar una identidad administrada asignada por el usuario o del sistema a una instancia de proceso para autenticarse en otros recursos de Azure, como el almacenamiento. El uso de identidades administradas para la autenticación le permite mejorar la seguridad y la administración del área de trabajo. Por ejemplo, puede permitir que los usuarios accedan a los datos de entrenamiento solo cuando han iniciado sesión en una instancia de proceso. También puede usar una identidad administrada asignada por el usuario común para permitir el acceso a una cuenta de almacenamiento específica.

Importante

Si la instancia de proceso también está configurada para el apagado inactivo, la instancia de proceso no se apagará debido a la inactividad a menos que la identidad administrada tenga acceso de colaborador al área de trabajo de Azure Machine Learning. Para obtener más información sobre los permisos, consulte Administración del acceso a un área de trabajo de Azure Machine Learning.

Use el SDK V2 para crear una instancia de proceso con la identidad administrada asignada por el 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, sub_id, rg_name, ws_name)
data = ml_client.data.get(name=data_name, version="1")

También puede usar el 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="381b38e9-9840-4719-a5a0-61d9585e1e91", resource_group="chrjia-rg", location="East US")

Una vez creada la identidad administrada, conceda al menos el rol Lector de datos de Storage Blob en la cuenta de almacenamiento del almacén de datos, consulte Acceso a los servicios de almacenamiento. A continuación, cuando trabaje en la instancia de proceso, la identidad administrada se usará automáticamente para autenticarse en almacenes de datos.

Nota:

El nombre de la identidad administrada del sistema creada tendrá el formato /nombre-área de trabajo/procesos/nombre-instancia en Microsoft Entra ID.

También puede usar manualmente la identidad administrada para autenticarse en otros recursos de Azure. En el ejemplo siguiente se muestra cómo puede usarla para obtener un token de acceso de 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 la CLI de Azure con la identidad administrada para la autenticación, especifique el identificador de cliente de identidad como nombre de usuario al iniciar sesión:

az login --identity --username $DEFAULT_IDENTITY_CLIENT_ID

Nota

No se puede usar azcopy al intentar usar la identidad administrada. azcopy login --identity no funcionará.

Habilitación del acceso SSH

El acceso SSH está deshabilitado de forma predeterminada. El acceso SSH no se puede habilitar ni deshabilitar después de la creación. Asegúrese de habilitar el acceso si tiene previsto depurar de forma interactiva con VS Code Remote

Después de seleccionar Siguiente: Configuración avanzada:

  1. Active Habilitar acceso SSH.
  2. En Origen de clave pública SSH, seleccione una de estas opciones en la lista desplegable:
    • Si Genera un par de claves nuevo:
      1. Escriba un nombre para la clave en el Nombre del par de claves.
      2. Seleccione Crear.
      3. Seleccione Download private key and create compute (Descargar clave privada y crear proceso). Normalmente, la clave se descarga en la carpeta Descargas.
    • Si selecciona Use existing public key stored in Azure (Usar clave pública existente almacenada en Azure), busque y seleccione la clave en Stored key (Clave almacenada).
    • Si selecciona Usar la clave pública existente, proporcione una clave pública RSA en el formato de una sola línea (empezando por "ssh-rsa") o en el formato PEM de varias líneas. Puede generar claves SSH mediante ssh-keygen en Linux y OS X, o PuTTYGen en Windows.

Configuración de una clave SSH más adelante

Aunque SSH no se puede habilitar ni deshabilitar después de la creación, tiene la opción de configurar una clave SSH más adelante en una instancia de proceso habilitada para SSH. Esto le permite configurar la clave SSH después de la creación. Para ello, seleccione esta opción para habilitar SSH en la instancia de proceso y seleccione "Configurar una clave SSH más adelante" como origen de clave pública SSH. Una vez creada la instancia de proceso, puede visitar la página Detalles de la instancia de proceso y seleccione para editar las claves SSH. Desde allí, puede agregar la clave SSH.

Un ejemplo de un caso de uso común para esto es al crear una instancia de proceso en nombre de otro usuario (consulte Crear en nombre de) Al aprovisionar una instancia de proceso en nombre de otro usuario, puede habilitar SSH para el nuevo propietario de la instancia de proceso seleccionando Configurar una clave SSH más adelante. Esto permite que el nuevo propietario de la instancia de proceso configure la clave SSH para su instancia de proceso recién adquirida una vez que se haya creado y asignado al usuario siguiendo los pasos anteriores.

Conexión con SSH

Después de crear un proceso con el acceso SSH habilitado, siga estos pasos para acceder.

  1. Busque el proceso en los recursos del área de trabajo:

    1. Seleccione Proceso a la izquierda.
    2. Use las pestañas de la parte superior para seleccionar Instancia de proceso o Clúster de proceso para encontrar la máquina.
  2. Seleccione el nombre del proceso en la lista de recursos.

  3. Busque la cadena de conexión:

    • Para una Instancia de proceso, seleccione Conectar en la parte superior de la sección Detalles.

      Screenshot that shows connect tool at the top of the Details page.

    • Para un clúster de proceso, seleccione Nodos en la parte superior y, a continuación, seleccione la Cadena de conexión en la tabla del nodo. Screenshot that shows connection string for a node in a compute cluster.

  4. Copie la cadena de conexión.

  5. Para Windows, abra PowerShell o un símbolo del sistema:

    1. Vaya al directorio o la carpeta donde se almacena la clave.

    2. Agregue la marca -i a la cadena de conexión para buscar la clave privada y apuntar a donde se almacena:

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

  6. Para los usuarios de Linux, siga los pasos de Creación y uso de un par de claves SSH para máquinas virtuales Linux en Azure.

  7. Para el uso de SCP:

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

  • API DE REST

El científico de datos para el que se crea la instancia de proceso necesita los siguientes permisos de control de acceso basado en roles de 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

El científico de datos puede iniciar, detener y reiniciar la instancia de proceso. Puede utilizar la instancia de proceso para:

  • Jupyter
  • JupyterLab
  • RStudio
  • Posit Workbench (anteriormente, RStudio Workbench)
  • Cuadernos integrados

Adición de aplicaciones personalizadas, como RStudio o Posit Workbench

Puede configurar otras aplicaciones, como RStudio o Posit Workbench (anteriormente, RStudio Workbench), al crear una instancia de proceso. Siga estos pasos en Estudio para configurar una aplicación personalizada en la instancia de proceso.

  1. Rellene el formulario para crear una nueva instancia de proceso.
  2. Seleccione Aplicaciones
  3. Seleccione Agregar aplicación

Screenshot showing Custom Service Setup.

Configuración de Posit Workbench (anteriormente, RStudio Workbench)

RStudio es uno de los IDE más populares entre los desarrolladores de R para proyectos de ciencia de datos y ML. Puede configurar fácilmente Posit Workbench, que proporciona acceso a RStudio junto con otras herramientas de desarrollo, para ejecutarse en su instancia de proceso, con su propia licencia de Posit, y acceder al conjunto de características enriquecido que ofrece Posit Workbench.

  1. Siga los pasos indicados anteriormente para agregar una aplicación al crear la instancia de proceso.
  2. Seleccione Posit Workbench (traiga su propia licencia) en la lista desplegable Aplicación y escriba la clave de licencia de Posit Workbench en el campo Clave de licencia. Puede obtener la licencia de Posit Workbench o la licencia de prueba de Posit.
  3. Seleccione Crear para agregar la aplicación Posit Workbench a la instancia de proceso.

Screenshot shows Posit Workbench settings.

Importante

Si usa un área de trabajo de Private Link, asegúrese de que la imagen de Docker, pkg-containers.githubusercontent.com y ghcr.io sean accesibles. Además, use un puerto publicado del intervalo 8704-8993. Con Posit Workbench (anteriormente, RStudio Workbench), proporcione acceso de red a https://www.wyday.com para asegurarse de que la licencia sea accesible.

Nota

  • La compatibilidad con el acceso al almacén de archivos del área de trabajo desde Posit Workbench aún no está disponible.
  • Al acceder a varias instancias de Posit Workbench, si ve un error "400 Solicitud errónea. Request Header Or Cookie Too Large", use un nuevo explorador o acceda desde un explorador en modo incógnito.

Configuración de RStudio (código abierto)

Para usar RStudio, configure una aplicación personalizada de la siguiente manera:

  1. Siga los pasos anteriores para Agregar una aplicación al crear la instancia de proceso.

  2. Seleccione Aplicación personalizada en la lista desplegable Aplicación.

  3. Configure el nombre de la aplicación que desea usar.

  4. Configure la aplicación para que se ejecute en el puerto de destino8787: la imagen de Docker para el código abierto de RStudio que se muestra a continuación debe ejecutarse en este puerto de destino.

  5. Configure la aplicación para que se acceda a ella en el puerto publicado8787: puede configurar la aplicación para que se acceda a ella en un puerto publicado diferente si lo desea.

  6. Apunte la imagen de Docker a ghcr.io/azure/rocker-rstudio-ml-verse:latest.

  7. Seleccione Crear para configurar RStudio como una aplicación personalizada en la instancia de proceso.

Screenshot shows form to set up RStudio as a custom application

Importante

Si usa un área de trabajo de Private Link, asegúrese de que la imagen de Docker, pkg-containers.githubusercontent.com y ghcr.io sean accesibles. Además, use un puerto publicado del intervalo 8704-8993. Con Posit Workbench (anteriormente, RStudio Workbench), proporcione acceso de red a https://www.wyday.com para asegurarse de que la licencia sea accesible.

Configuración de otras aplicaciones personalizadas

Configure otras aplicaciones personalizadas en la instancia de proceso proporcionando la aplicación en una imagen de Docker.

  1. Siga los pasos anteriores para Agregar una aplicación al crear la instancia de proceso.
  2. Seleccione Aplicación personalizada en la lista desplegable Aplicación.
  3. Configure el Nombre de la aplicación, el Puerto de destino en el que desea ejecutar la aplicación, el Puerto publicado en el que desea acceder a la aplicación y la Imagen de Docker que contiene su aplicación. Si la imagen personalizada se almacena en una instancia de Azure Container Registry, asigne el rol de Colaborador para los usuarios de la aplicación. Para obtener más información sobre la asignación de roles, vea Administración del acceso a un área de trabajo de Azure Machine Learning.
  4. Opcionalmente, agregue las variables de entorno que quiera usar para la aplicación.
  5. Use montajes de enlace para agregar acceso a los archivos de la cuenta de almacenamiento predeterminada:
    • Especifique /home/azureuser/cloudfiles para la ruta de acceso del host.
    • Especifique /home/azureuser/cloudfiles para la ruta de acceso del contenedor.
    • Seleccione Agregar para agregar este montaje. Dado que los archivos están montados, los cambios que realice en ellos están disponibles en otras instancias de proceso y aplicaciones.
  6. Seleccione Crear para configurar la aplicación personalizada en la instancia de proceso.

Screenshot show custom application settings.

Importante

Si usa un área de trabajo de Private Link, asegúrese de que la imagen de Docker, pkg-containers.githubusercontent.com y ghcr.io sean accesibles. Además, use un puerto publicado del intervalo 8704-8993. Con Posit Workbench (anteriormente, RStudio Workbench), proporcione acceso de red a https://www.wyday.com para asegurarse de que la licencia sea accesible.

Acceso a aplicaciones personalizadas en Estudio

Acceda a las aplicaciones personalizadas que configuró en Estudio:

  1. Seleccione Proceso a la izquierda.
  2. En la pestaña Instancia de proceso, consulte las aplicaciones en la columna Aplicaciones.

Screenshot shows studio access for your custom applications.

Nota:

Pueden pasar unos minutos después de configurar una aplicación personalizada hasta que pueda acceder a ella a través de los vínculos. La cantidad de tiempo necesaria dependerá del tamaño de la imagen utilizada para la aplicación personalizada. Si ve un mensaje de error 502 al intentar acceder a la aplicación, espere un momento para que la aplicación se configure e inténtelo de nuevo. Si la imagen personalizada se extrae de una instancia de Azure Container Registry, necesitará un rol de Colaborador para el área de trabajo. Para obtener más información sobre la asignación de roles, vea Administración del acceso a un área de trabajo de Azure Machine Learning.

Pasos siguientes