View a markdown version of this page

Ajout de la prise en charge de RStudio à un domaine existant - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ajout de la prise en charge de RStudio à un domaine existant

Important

Les politiques IAM personnalisées qui permettent à Amazon SageMaker Studio ou Amazon SageMaker Studio Classic de créer des SageMaker ressources Amazon doivent également accorder des autorisations pour ajouter des balises à ces ressources. L’autorisation d’ajouter des balises aux ressources est requise, car Studio et Studio Classic balisent automatiquement toutes les ressources qu’ils créent. Si une politique IAM autorise Studio et Studio Classic à créer des ressources mais n'autorise pas le balisage, des erreurs « AccessDenied » peuvent se produire lors de la tentative de création de ressources. Pour de plus amples informations, veuillez consulter Fournir des autorisations pour le balisage des ressources d' SageMaker IA.

AWS politiques gérées pour Amazon SageMaker AIqui donnent des autorisations pour créer des SageMaker ressources incluent déjà des autorisations pour ajouter des balises lors de la création de ces ressources.

Si vous avez ajouté une licence RStudio via AWS License Manager, vous pouvez créer un nouveau domaine Amazon SageMaker AI compatible avec RStudio on SageMaker AI. Si vous avez un domaine existant qui ne prend pas en charge RStudio, vous pouvez ajouter la prise en charge de RStudio à ce domaine sans avoir à supprimer et recréer le domaine. 

La rubrique suivante explique comment ajouter cette prise en charge.

Conditions préalables

Vous devez suivre les étapes suivantes avant de mettre à jour votre domaine actuel afin d'ajouter la prise en charge de RStudio on SageMaker AI. 

  • Installer et configurer l’AWS CLI version 2

  • Configurer l’AWS CLI avec des informations d’identification IAM

  • Créez un rôle d'exécution de domaine en suivant les étapes décrites dans Créer un domaine SageMaker AI avec RStudio à l'aide du AWS CLI. Ce rôle IAM au niveau du domaine est requis par l'application. RStudioServerPro Le rôle nécessite l'accès à AWS License Manager pour vérifier une licence Posit Workbench valide et à Amazon CloudWatch Logs pour publier les journaux du serveur. 

  • Apportez votre licence RStudio pour AWS License Manager suivre les étapes de la licence RStudio.

  • (Facultatif) Si vous souhaitez utiliser RStudio en VPCOnly mode, suivez les étapes dans RStudio en. VPC-Only

  • Assurez-vous que les groupes de sécurité que vous avez configurés pour chacun de vos UserProfiledomaines respectent les quotas au niveau du compte. Lorsque vous configurez le profil utilisateur par défaut lors de la création du domaine, vous pouvez utiliser le DefaultUserSettings paramètre de l'CreateDomainAPI pour ajouter SecurityGroups ceux hérités par tous les profils utilisateur créés dans le domaine. Vous pouvez également fournir des groupes de sécurité supplémentaires pour un utilisateur spécifique dans le cadre des UserSettings paramètres de l'CreateUserProfileAPI. Si vous avez ajouté des groupes de sécurité de cette manière, vous devez vous assurer que le nombre total de groupes de sécurité par profil utilisateur ne dépasse pas le quota maximum de 2 en mode VPCOnly et de 4 en mode PublicInternetOnly. Si le nombre total de groupes de sécurité qui en résulte pour un profil utilisateur dépasse le quota, vous pouvez combiner les règles de plusieurs groupes de sécurité en un seul groupe de sécurité. 

Ajout de la prise en charge de RStudio à un domaine existant

Une fois les prérequis remplis, vous pouvez ajouter la prise en charge de RStudio à votre domaine existant. Les étapes suivantes décrivent comment mettre à jour votre domaine existant afin d’ajouter la prise en charge de RStudio.

Étape 1 : Suppression de toutes les applications dans le domaine

Pour ajouter la prise en charge de RStudio dans votre domaine, SageMaker AI doit mettre à jour les groupes de sécurité sous-jacents pour tous les profils utilisateur existants. Pour ce faire, vous devez supprimer et recréer toutes les applications existantes dans le domaine. La procédure suivante indique comment supprimer toutes les applications.

  1. Répertoriez toutes les applications du domaine.

    aws sagemaker \   list-apps \ --domain-id-equals <DOMAIN_ID>
  2. Supprimez chaque application pour chaque profil utilisateur du domaine.

    // JupyterServer apps aws sagemaker \ delete-app \ --domain-id <DOMAIN_ID> \ --user-profile-name <USER_PROFILE> \ --app-type JupyterServer \ --app-name <APP_NAME> // KernelGateway apps aws sagemaker \ delete-app \ --domain-id <DOMAIN_ID> \ --user-profile-name <USER_PROFILE> \ --app-type KernelGateway \ --app-name <APP_NAME>

Étape 2 : Mettre à jour tous les profils utilisateur avec la nouvelle liste de groupes de sécurité

Il s’agit d’une action unique que vous devez effectuer pour tous les profils utilisateur existants dans votre domaine une fois que vous aurez refactorisé vos groupes de sécurité existants. Cela vous empêche d'atteindre le quota pour le nombre maximal de groupes de sécurité. L'appel UpdateUserProfile d'API échoue si l'utilisateur possède des applications dont le InServicestatut est en cours. Supprimez toutes les applications, puis appelez l’API UpdateUserProfile pour mettre à jour les groupes de sécurité.

Note

La configuration suivante relative au VPCOnly mode décrite dans Connect Amazon SageMaker Studio Classic Notebooks in a VPC to External Resources n'est plus nécessaire lors de l'ajout du support RStudio, AppSecurityGroupManagement car elle est gérée par SageMaker le service AI :

« Trafic TCP au sein du groupe de sécurité. Cela est nécessaire pour la connectivité entre l' JupyterServer application et les KernelGateway applications. Vous devez au moins autoriser l'accès à des ports situés dans la plage 8192-65535. »

aws sagemaker \ update-user-profile \ --domain-id <DOMAIN_ID>\ --user-profile-name <USER_PROFILE> \ --user-settings "{\"SecurityGroups\": [\"<SECURITY_GROUP>\", \"<SECURITY_GROUP>\"]}"

Étape 3 - Activez RStudio en appelant l'API UpdateDomain

  1. Appelez l'UpdateDomainAPI pour ajouter la prise en charge de RStudio on SageMaker AI. Le paramètre defaultusersettings n’est nécessaire que si vous avez refactorisé les groupes de sécurité par défaut pour vos profils utilisateur.

    • Pour le mode VPCOnly :

      aws sagemaker \ update-domain \ --domain-id <DOMAIN_ID> \ --app-security-group-management Service \ --domain-settings-for-update RStudioServerProDomainSettingsForUpdate={DomainExecutionRoleArn=<DOMAIN_EXECUTION_ROLE_ARN>} \ --default-user-settings "{\"SecurityGroups\": [\"<SECURITY_GROUP>\", \"<SECURITY_GROUP>\"]}"
    • Pour le mode PublicInternetOnly :

      aws sagemaker \ update-domain \ --domain-id <DOMAIN_ID> \    --domain-settings-for-update RStudioServerProDomainSettingsForUpdate={DomainExecutionRoleArn=<DOMAIN_EXECUTION_ROLE_ARN>} \ --default-user-settings "{\"SecurityGroups\": [\"<SECURITY_GROUP>\", \"<SECURITY_GROUP>\"]}"
  2. Vérifiez si le statut du domaine est InService. Une fois le statut du domaine définiInService, le support de RStudio on SageMaker AI est ajouté.

    aws sagemaker \ describe-domain \ --domain-id <DOMAIN_ID>
  3. Vérifiez que l'état de RStudioServerPro l'application est correct InService à l'aide de la commande suivante.

    aws sagemaker list-apps --user-profile-name domain-shared

Étape 4 : Ajouter l’accès à RStudio pour les utilisateurs existants

Dans le cadre de la mise à jour de l'étape 3, SageMaker AI marque le RStudio AccessStatusde tous les profils utilisateur existants dans le domaine comme étant DISABLED par défaut. Cela permet d’éviter de dépasser le nombre d’utilisateurs autorisé par votre licence actuelle. Une étape d'inscription unique permet d'ajouter un accès aux utilisateurs existants. Effectuez l'opt-in en appelant l'UpdateUserProfileAPI avec ce qui suit : RStudioServerProAppSettings

  • AccessStatus = ENABLED

  • Facultatif - UserGroup = R_STUDIO_USER ou R_STUDIO_ADMIN

aws sagemaker \ update-user-profile \ --domain-id <DOMAIN_ID>\ --user-profile-name <USER_PROFILE> \ --user-settings "{\"RStudioServerProAppSettings\": {\"AccessStatus\": \"ENABLED\"}}"
Note

Par défaut, le nombre d'utilisateurs pouvant accéder à RStudio est de 60.

Étape 5 : Désactiver l’accès à RStudio pour les nouveaux utilisateurs

Sauf indication contraire lors de l'appelUpdateDomain, le support de RStudio est ajouté par défaut pour tous les nouveaux profils utilisateur créés après l'ajout du support de RStudio sur SageMaker AI. Pour désactiver l’accès à un nouveau profil utilisateur, vous devez définir le paramètre AccessStatus de manière explicite sur DISABLED dans le cadre de l’appel d’API CreateUserProfile. Si le paramètre AccessStatus n’est pas spécifié dans le cadre de l’API CreateUserProfile, le statut d’accès par défaut est ENABLED.

aws sagemaker \ create-user-profile \ --domain-id <DOMAIN_ID>\ --user-profile-name <USER_PROFILE> \ --user-settings "{\"RStudioServerProAppSettings\": {\"AccessStatus\": \"DISABLED\"}}"