Créer une instance de calcul Azure Machine Learning

S’APPLIQUE À :Extension Azure ML CLI v2 (actuelle)Kit de développement logiciel (SDK) Python azure-ai-ml v2 (préversion)

Découvrez comment créer une instance de calcul dans votre espace de travail Azure Machine Learning.

Utilisez une instance de calcul comme environnement de développement complètement configuré et managé dans le cloud. Pour le développement et le test, vous pouvez également utiliser l’instance en tant que cible de calcul d’entraînement. Une instance de calcul peut exécuter plusieurs travaux en parallèle et dispose d’une file d’attente de travaux. Parce qu’il s’agit d’un environnement de développement, une instance de calcul ne peut pas être partagée avec d’autres utilisateurs dans votre espace de travail.

Cet article décrit comment créer une instance de calcul. Consultez l’article Gérer une instance de calcul Azure Machine Learning pour connaître la procédure permettant de gérer le démarrage, l’arrêt, le redémarrage et la suppression d’une instance de calcul.

Vous pouvez également utiliser un script de configuration pour créer l’instance de calcul avec votre propre environnement personnalisé.

Les instances de calcul peuvent exécuter des travaux en toute sécurité dans un environnement de réseau virtuel, sans qu’il soit nécessaire pour les entreprises d’ouvrir des ports SSH. Le travail s’exécute dans un environnement conteneurisé et empaquette les dépendances de votre modèle dans un conteneur Docker.

Remarque

Cet article utilise CLI v2 dans quelques exemples. Si vous utilisez toujours l’interface CLI v1, consultez Créer un cluster de calcul Azure Machine Learning (Interface CLI v1).

Prérequis

  • Un espace de travail Azure Machine Learning. Pour plus d’informations, voir la page Créer un espace de travail Azure Machine Learning. Dans le compte de stockage, l’option « Autoriser l’accès à la clé du compte de stockage » doit être activée pour une création réussie de l’instance de calcul.

Choisissez l'onglet de l'environnement que vous utilisez pour connaître les prérequis supplémentaires.

  • Pour utiliser le SDK Python, configurez votre environnement de développement avec un espace de travail. Une fois votre environnement configuré, attachez-le à l’espace de travail dans votre script Python :

    S’APPLIQUE À : Kit de développement logiciel (SDK) Python azure-ai-mlv2 (préversion)

    Exécutez ce code pour vous connecter à votre espace de travail Azure ML.

    Remplacez votre ID d’abonnement, le nom du groupe de ressources et le nom de l’espace de travail dans le code ci-dessous. Pour rechercher ces valeurs :

    1. Connectez-vous à Azure Machine Learning Studio.
    2. Ouvrez l’espace de travail que vous souhaitez utiliser.
    3. Dans la barre d’outils supérieure droite d’Azure Machine Learning Studio, sélectionnez le nom de votre espace de travail.
    4. Copiez la valeur de l’espace de travail, du groupe de ressources et de l’ID d’abonnement dans le code.
    5. Si vous utilisez un notebook dans studio, vous devez copier une valeur, fermer la zone et coller, puis revenir pour la suivante.
    # 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 est un gestionnaire de l’espace de travail que vous utiliserez pour gérer d’autres ressources et travaux.

Créer

Durée estimée : 5 minutes environ.

La création d’une instance de calcul est un processus unique pour votre espace de travail. Vous pouvez réutiliser le calcul en tant que station de travail de développement ou en tant que cible de calcul pour l’entraînement. Plusieurs instances de calcul peuvent être attachées à votre espace de travail.

Le quota de cœurs dédiés par région par famille de machine virtuelle et le quota régional total, qui s’appliquent à la création d’une instance de calcul, sont unifiés et partagés avec le quota de clusters de calcul d’entraînement Azure Machine Learning. L'arrêt de l'instance de calcul ne libère pas le quota pour vous permettre de redémarrer l'instance de calcul. Vous ne pouvez pas changer la taille de machine virtuelle de l’instance de calcul après sa création.

Le moyen le plus rapide de créer une instance de calcul consiste à suivre le guide Créer les ressources nécessaires pour commencer.

Vous pouvez également utiliser les exemples suivants pour créer une instance de calcul avec plus d’options :

S’APPLIQUE À : Kit de développement logiciel (SDK) Python azure-ai-mlv2 (préversion)

# 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()

Pour plus d’informations sur les classes, les méthodes et les paramètres utilisés dans cet exemple, consultez les documents de référence suivants :

Vous pouvez également créer une instance de calcul avec un modèle Azure Resource Manager.

Configurer l’arrêt inactif

Pour éviter d’être facturé pour une instance de calcul qui est activée mais inactive, vous pouvez définir à quel moment arrêter l’instance de calcul en cas d’inactivité.

Une instance de calcul est considérée inactive si les conditions ci-dessous sont remplies :

  • Aucune session de noyau Jupyter active (cela se traduit par aucune utilisation des notebooks via Jupyter, JupyterLab ou Interactive)
  • Aucune session de terminal Jupyter active
  • Aucune exécution ou expérience Azure Machine Learning active
  • Aucune connexion VS Code ; vous devez fermer votre connexion VS Code pour que votre instance de calcul soit considérée comme inactive. Les sessions sont arrêtées automatiquement si VS Code ne détecte aucune activité pendant 3 heures.
  • Aucune application personnalisée ne s’exécute sur le calcul

Une instance de calcul ne sera pas considérée comme inactive si une application personnalisée est en cours d'exécution. Il y a aussi des limites de base autour des périodes d’inactivité : l’instance de calcul doit rester inactive pendant un minimum de 15 minutes et un maximum de trois jours. Nous ne suivons pas non plus les connexions SSH VS Code pour déterminer l’activité.

De plus, si une instance de calcul est déjà inactive depuis un certain temps et que les paramètres d’arrêt en cas d’inactivité sont modifiés pour un délai inférieur au délai d’inactivité actuel, le minuteur de temps d’inactivité est réinitialisé à 0. Par exemple, si l'instance de calcul est déjà inactive depuis 20 minutes et que les paramètres d'arrêt sont changés à 15 minutes, l'horloge d'inactivité est réinitialisée à 0.

Important

Si l’instance de calcul est également configurée avec une identité managée, l’instance de calcul ne s’arrête pas en cas d’inactivité, sauf si l’identité managée a un accès de contributeur à l’espace de travail Azure Machine Learning. Pour plus d’informations sur l’attribution d’autorisations, consultez Gérer l’accès aux espaces de travail Azure Machine Learning.

Vous pouvez configurer le paramètre au moment de la création de l’instance de calcul ou, pour les instances de calcul existantes, via les interfaces suivantes :

S’APPLIQUE À : Kit de développement logiciel (SDK) Python azure-ai-mlv2 (préversion)

Lors de la création d’une instance de calcul, ajoutez le paramètre 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")

Vous ne pouvez pas modifier le délai d'inactivité d'une instance de calcul existante avec le kit SDK Python.

Vous pouvez également modifier le délai d’inactivité en utilisant ces méthodes :

  • API REST

    Point de terminaison :

    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
    

    Corps :

    {
        "idleTimeBeforeShutdown": "PT30M" // this must be a string in ISO 8601 format
    }
    
  • Modèles ARM : configurables uniquement au moment de la création d’une instance de calcul

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

Planifier le démarrage et l’arrêt automatiques

Définissez plusieurs planifications pour l'arrêt automatique et le démarrage automatique. Par exemple, créez une planification pour démarrer à 9h00 et arrêter à 18h00 du lundi au jeudi, et une deuxième planification pour démarrer à 9h00 et arrêter à 16h00 le vendredi. Vous pouvez créer un total de quatre planifications par instance de calcul.

Vous pouvez également définir des planifications pour créer des instances de calcul au nom d’autrui. Vous pouvez créer une planification pour créer l’instance de calcul dans l’état Arrêté. Les instances de calcul arrêtées sont utiles quand vous créez une instance de calcul pour le compte d’un autre utilisateur.

Avant un arrêt planifié, les utilisateurs reçoivent une notification les informant de l'arrêt imminent de l'instance de calcul. À ce stade, l'utilisateur peut choisir d'ignorer l'événement d'arrêt imminent. Par exemple, s'il est en plein milieu de l'utilisation de son instance de calcul.

Créer une planification

S’APPLIQUE À : Kit de développement logiciel (SDK) Python azure-ai-mlv2 (préversion)

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)

Créer une planification avec un modèle Resource Manager

Vous pouvez planifier le démarrage et l’arrêt automatiques d’une instance de calcul avec un modèle Resource Manager.

Dans le modèle Resource Manager, ajoutez :

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

Utilisez ensuite les expressions cron ou LogicApps pour définir la planification qui démarre ou arrête l’instance dans votre fichier de paramètres :

  "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"
        }
      ]
    }
  }
  • L'action peut avoir la valeur Start ou Stop.

  • Pour le type de déclencheur Recurrence, utilisez la même syntaxe que l’application logique, avec ce schéma de périodicité.

  • Pour le type de déclencheur cron, utilisez la syntaxe cron standard :

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

Azure Policy la prise en charge d’une planification par défaut

Utilisez Azure Policy afin d’appliquer une planification d’arrêt qui existe pour chaque instance de calcul dans un abonnement ou d’utiliser une planification par défaut. Voici un exemple de politique pour définir par défaut un horaire d'arrêt à 22 heures 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"
          }
         ]
        }
       }
      ]
     }
    }
}

Créer au nom de

En tant qu’administrateur, vous pouvez créer une instance de calcul au nom d’un scientifique des données et lui affecter l’instance avec :

Affecter une identité managée

Vous pouvez attribuer une identité managée par le système ou l’utilisateur à une instance de calcul pour vous authentifier auprès d’autres ressources Azure telles que le stockage. L’utilisation d’identités managées pour l’authentification permet d’améliorer la sécurité et la gestion de l’espace de travail. Par exemple, vous pouvez autoriser les utilisateurs à accéder aux données de formation uniquement lors de la connexion à une instance de calcul. Vous pouvez également utiliser une identité managée commune attribuée par l’utilisateur pour autoriser l’accès à un compte de stockage spécifique.

Important

Si l’instance de calcul est également configurée pour l’arrêt en cas d’inactivité, l’instance de calcul ne s’arrête pas en cas d’inactivité, sauf si l’identité managée a un accès de contributeur à l’espace de travail Azure Machine Learning. Pour plus d’informations sur l’attribution d’autorisations, consultez Gérer l’accès aux espaces de travail Azure Machine Learning.

Utilisez le kit de développement logiciel (SDK) V2 pour créer une instance de calcul avec une identité managée attribuée par le système :

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")

Vous pouvez également utiliser le Kit de développement logiciel (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")

Une fois l’identité managée créée, accordez à l’identité managée au moins le rôle Lecteur de données blob de stockage sur le compte de stockage du magasin de données. Consultez Accès aux services de stockage. Ensuite, lorsque vous travaillez sur l’instance de calcul, l’identité managée est utilisée automatiquement pour s’authentifier auprès des magasins de données.

Remarque

Le nom de l’identité managée système créée sera au format /workspace-name/computes/compute-instance-name dans votre Microsoft Entra ID.

Vous pouvez également utiliser l’identité managée manuellement pour vous authentifier auprès d’autres ressources Azure. L’exemple suivant montre comment l’utiliser pour obtenir un jeton d’accès 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")

Pour utiliser Azure CLI avec l’identité managée pour l’authentification, spécifiez l’ID client d’identité comme nom d’utilisateur lors de la connexion :

az login --identity --username $DEFAULT_IDENTITY_CLIENT_ID

Notes

Vous ne pouvez pas utiliser azcopy lorsque vous essayez d’utiliser une identité managée. azcopy login --identity ne fonctionne pas.

Activer l’accès SSH

L’accès SSH est désactivé par défaut. L’accès SSH ne peut pas être activé ou désactivé après la création. Veillez à activer l’accès si vous envisagez de déboguer de manière interactive avec VS Code Remote.

Une fois que vous avez sélectionné Suivant : Paramètres avancés :

  1. Activez Activer l’accès SSH.
  2. Dans la source de clé publique SSH, sélectionnez l’une des options de la liste déroulante :
    • Si vous Générez une nouvelle paire de clés :
      1. Tapez un nom pour la clé dans Nom de la paire de clés.
      2. Sélectionnez Create (Créer).
      3. Sélectionnez Télécharger la clé privée et créer une capacité de calcul. La clé est généralement téléchargée dans le dossier Téléchargements.
    • Si vous sélectionnez Utiliser la clé publique existante stockée dans Azure, recherchez et sélectionnez la clé dans Clé stockée.
    • Si vous sélectionnez Utiliser une clé publique existante, fournissez une clé publique RSA au format à une seule ligne (à partir de « SSH-RSA ») ou au format PEM multiligne. Vous pouvez générer des clés SSH à l’aide de ssh-keygen sur Linux et macOS, ou à l’aide de PuTTYGen sur Windows.

Configurer une clé SSH plus tard

Même si la clé SSH ne peut pas être activé ou désactivé après la création, vous avez la possibilité de configurer une clé SSH ultérieurement sur une instance de calcul compatible SSH. Cela vous permet de configurer la clé SSH après la création. Pour ce faire, choisissez d’activer le SSH sur votre instance de calcul et sélectionnez « Configurer une clé SSH ultérieurement » comme source de clé publique SSH. Une fois l'instance de calcul créée, vous pouvez visiter la page Détails de votre instance de calcul et sélectionner pour modifier vos clés SSH. À partir de là, vous pouvez ajouter votre clé SSH.

Un exemple de cas d'usage courant est celui de la création d'un instance de calcul pour le compte d'un autre utilisateur (reportez-vous à Créer pour le compte de). Lors de l'approvisionnement d'un instance de calcul pour le compte d'un autre utilisateur, vous pouvez activer SSH pour le nouveau propriétaire de l'instance de calcul en sélectionnant Configurer une clé SSH ultérieurement. Cela permet au nouveau propriétaire de l'instance de calcul de configurer sa clé SSH pour sa nouvelle instance de calcul une fois qu'elle a été créée et lui a été attribuée en suivant les étapes précédentes.

Connexion avec SSH

Une fois que vous avez créé un calcul avec accès SSH activé, procédez comme suit pour l’accès.

  1. Recherchez le calcul dans les ressources de l’espace de travail :

    1. Sur la gauche, sélectionnez Calcul.
    2. Utilisez les onglets situés en haut pour sélectionner Instance de calcul ou Cluster de calcul et rechercher votre machine.
  2. Sélectionnez le nom du calcul dans la liste des ressources.

  3. Recherchez la chaîne de connexion :

    • Pour une instance de calcul, sélectionnez Connecter en haut de la section Détails.

      Capture d'écran qui montre l'outil de connexion en haut de la page Détails.

    • Pour un cluster de calcul, sélectionnez Nœuds dans la partie supérieure, puis sélectionnez la Chaîne de connexion dans la table pour votre nœud. Capture d'écran qui montre la chaîne de connexion pour un nœud dans un cluster de calcul.

  4. Copiez la chaîne de connexion.

  5. Pour Windows, ouvrez PowerShell ou une invite de commandes :

    1. Accédez au répertoire ou au dossier où votre clé est stockée.

    2. Ajoutez l’indicateur -i à la chaîne de connexion pour rechercher la clé privée et pointer vers l’emplacement où elle est stockée :

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

  6. Pour les utilisateurs Linux, suivez les étapes de la section Créer et utiliser une paire de clés SSH pour les machines virtuelles Linux dans Azure.

  7. Pour SCP, utilisez :

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

  • API REST

Le scientifique des données pour lequel vous créez l’instance de calcul doit disposer des autorisations de contrôle d’accès en fonction du rôle 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

Le scientifique des données peut démarrer, arrêter et redémarrer l’instance de calcul. Il peut utiliser l’instance de calcul pour :

  • Jupyter
  • JupyterLab
  • RStudio
  • Posit Workbench (anciennement RStudio Workbench)
  • Notebooks intégrés

Ajouter des applications personnalisées comme RStudio ou Posit Workbench

Vous pouvez configurer d’autres applications, comme RStudio ou Posit Workbench (anciennement RStudio Workbench), lors de la création d’une instance de calcul. Suivez ces étapes dans Studio pour configurer une application personnalisée sur votre instance de calcul

  1. Remplissez le formulaire pour créer une instance de calcul
  2. Sélectionnez Applications
  3. Sélectionnez Ajouter une application

Capture d’écran montrant la configuration de service personnalisée.

Configurer Posit Workbench (anciennement RStudio Workbench)

RStudio est l’un des IDE les plus connus chez les développeurs R pour les projets de science des données et ML. Vous pouvez facilement configurer Posit Workbench, qui fournit l’accès à RStudio avec d’autres outils de développement, pour qu’il s’exécute sur votre instance de calcul, en utilisant votre propre licence Posit, et accéder aux puissantes fonctionnalités offertes par Posit Workbench

  1. Suivez les étapes indiquées ci-dessus pour Ajouter une application pendant la création de votre instance de calcul.
  2. Sélectionnez Posit Workbench (apportez votre propre licence) dans la liste déroulante Application et entrez votre clé de licence Posit Workbench dans le champ Clé de licence. Vous pouvez obtenir votre licence Posit Workbench ou votre licence d’évaluation à partir de Posit.
  3. Sélectionnez Créer pour ajouter l’application Posit Workbench à votre instance de calcul.

Capture d’écran montrant les paramètres de Posit Workbench.

Important

Si vous utilisez un espace de travail de liaison privée, vérifiez que l’image Docker, pkg-containers.githubusercontent.com et ghcr.io sont accessibles. Utilisez également un port publié dans la plage 8704-8993. Dans le cas de Posit Workbench (auparavant RStudio Workbench), vérifiez que la licence est accessible en fournissant l’accès réseau à https://www.wyday.com.

Notes

  • L’accès à votre magasin de fichiers d’espace de travail à partir de Posit Workbench n’est pas encore disponible.
  • Quand vous accédez à plusieurs instances de Posit Workbench, si vous voyez l’erreur « 400 Demande incorrecte. En-tête de demande ou cookie trop important », utilisez un nouveau navigateur ou un navigateur en mode incognito.

Configurer RStudio (open source)

Pour utiliser RStudio, configurez une application personnalisée de la façon suivante :

  1. Suivez les étapes indiquées précédentes pour Ajouter une application pendant la création de votre instance de calcul.

  2. Sélectionnez Application personnalisée dans la liste déroulante Application.

  3. Configurez le Nom de l’application à utiliser.

  4. Configurez l’application pour qu’elle s’exécute sur le Port cible8787 : l’image Docker pour RStudio open source indiquée ci-dessous doit s’exécuter sur ce port cible.

  5. Configurez l’application pour qu’elle soit accessible sur le Port publié8787 : vous pouvez configurer l’application pour qu’elle soit accessible sur un autre port publié, si vous le souhaitez.

  6. Faites pointer l’Image Docker sur ghcr.io/azure/rocker-rstudio-ml-verse:latest.

  7. Sélectionnez Créer pour configurer RStudio comme une application personnalisée sur votre instance de calcul.

Capture d’écran montrant le formulaire pour configurer RStudio en tant qu’application personnalisée

Important

Si vous utilisez un espace de travail de liaison privée, vérifiez que l’image Docker, pkg-containers.githubusercontent.com et ghcr.io sont accessibles. Utilisez également un port publié dans la plage 8704-8993. Dans le cas de Posit Workbench (auparavant RStudio Workbench), vérifiez que la licence est accessible en fournissant l’accès réseau à https://www.wyday.com.

Configurer d’autres applications personnalisées

Configurez d’autres applications personnalisées sur votre instance de calcul en fournissant l’application dans une image Docker.

  1. Suivez les étapes indiquées précédentes pour Ajouter une application pendant la création de votre instance de calcul.
  2. Sélectionnez Application personnalisée dans la liste déroulante Application.
  3. Configurez le Nom de l’application, le Port cible sur lequel vous voulez exécuter l’application, le Port publié sur lequel vous voulez accéder à l’application et l’Image Docker qui contient votre application. Si votre image personnalisée est stockée dans Azure Container Registry, attribuez le rôle Contributeur aux utilisateurs de l’application. Pour plus d’informations sur l’attribution de rôles, consultez Gérer l’accès à un espace de travail Azure Machine Learning.
  4. Vous pouvez aussi ajouter des Variables d’environnement que vous voulez utiliser pour votre application.
  5. Utilisez Lier des montages pour ajouter l’accès aux fichiers de votre compte de stockage par défaut :
    • Spécifiez /home/azureuser/cloudfiles pour Chemin d'accès d'ordinateur hôte.
    • Spécifiez /home/azureuser/cloudfiles pour Chemin d’accès du conteneur.
    • Sélectionnez Ajouter pour ajouter ce montage. Étant donné que les fichiers sont montés, les modifications que vous apportez à ces fichiers sont disponibles dans d'autres instances de calcul et applications.
  6. Sélectionnez Créer pour configurer RStudio comme une application personnalisée sur votre instance de calcul.

Capture d’écran montrant les paramètres d’applications personnalisées.

Important

Si vous utilisez un espace de travail de liaison privée, vérifiez que l’image Docker, pkg-containers.githubusercontent.com et ghcr.io sont accessibles. Utilisez également un port publié dans la plage 8704-8993. Dans le cas de Posit Workbench (auparavant RStudio Workbench), vérifiez que la licence est accessible en fournissant l’accès réseau à https://www.wyday.com.

Accès aux applications personnalisées dans Studio

Accédez aux applications personnalisées que vous avez configurées dans Studio :

  1. Sur la gauche, sélectionnez Calcul.
  2. Sous l’onglet Instance de calcul, consultez vos applications sous la colonne Applications.

Capture d’écran montrant l’accès au studio pour vos applications personnalisées.

Remarque

Après avoir configuré une application personnalisée, vous devrez peut être attendre quelques minutes avant de pouvoir y accéder en utilisant les liens. Le temps nécessaire dépend de la taille de l’image utilisée pour votre application personnalisée. Si un message d’erreur 502 s’affiche quand vous tentez d’accéder à l’application, attendez que l’application soit configurée et réessayez. Si l’image personnalisée est extraite d’Azure Container Registry, vous aurez besoin d’un rôle Contributeur pour l’espace de travail. Pour plus d’informations sur l’attribution de rôles, consultez Gérer l’accès à un espace de travail Azure Machine Learning.

Étapes suivantes