Ajouter le support de RStudio à un domaine existant - Amazon SageMaker

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.

Ajouter le support 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 plus d’informations, consultez Fournir des autorisations pour le balisage des ressources SageMaker.

AWS Politiques gérées pour Amazon SageMakerqui 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 SageMaker domaine Amazon compatible avec RStudio activé. SageMaker Si vous avez un domaine existant qui ne prend pas en charge RStudio, vous pouvez ajouter le support RStudio à ce domaine sans avoir à le supprimer ni à le recréer. 

La rubrique suivante explique comment ajouter cette prise en charge.

Prérequis

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

  • 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 SageMaker domaine avec RStudio à l'aide du AWS CLI. Ce rôle IAM au niveau du domaine est requis par l'application R. StudioServerPro Le rôle nécessite l'accès à AWS License Manager pour vérifier la validité d'une licence Posit Workbench 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 mode VPCOnly, suivez les étapes dans Utiliser RStudio en mode VPC uniquement.

  • 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é. 

Ajouter le support de RStudio à un domaine existant

Une fois les prérequis remplis, vous pouvez ajouter le support de RStudio à votre domaine existant. Les étapes suivantes expliquent comment mettre à jour votre domaine existant pour ajouter le support de RStudio.

Étape 1 : supprimer toutes les applications du domaine

Pour ajouter la prise en charge de RStudio dans votre domaine, vous SageMaker devez mettre à jour les groupes de sécurité sous-jacents pour tous les profils utilisateur existants. Pour terminer, 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 ponctuelle que vous devez effectuer pour tous les profils utilisateur existants de votre domaine une fois que vous avez 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 le service : SageMaker

« 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. SageMaker 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 que le statut du domaine estInService. Une fois le statut du domaine définiInService, le support pour RStudio activé SageMaker est ajouté.

    aws sagemaker \ describe-domain \ --domain-id <DOMAIN_ID>
  3. Vérifiez que l'état de StudioServerPro l'application R 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 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 le R StudioServerProAppSettings suivant :

  • 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 avoir ajouté le support de RStudio activé. SageMaker 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\"}}"