Passer au contenu

Comment résoudre les problèmes de connectivité avec JupyterLab et Éditeur de code lorsque j'utilise SageMaker Studio en mode VPC uniquement ?

Lecture de 6 minute(s)
0

Lorsque j'utilise mon environnement Amazon SageMaker Studio en mode VPC uniquement, je rencontre des problèmes de connectivité avec mes espaces JupyterLab et Éditeur de code.

Brève description

Si vous ne configurez pas correctement votre cloud privé virtuel (VPC), les problèmes suivants peuvent survenir dans SageMaker Studio :

  • L'écran de chargement de l'espace ne répond pas et vous recevez un message d'erreur dans Amazon CloudWatch Logs, similaire au message « Connect timeout on endpoint URL: 'https://api.sagemaker.us-east-1.amazonaws.com/' » (Expiration du délai de connexion à l'URL du point de terminaison : 'https://api.sagemaker.us-east-1.amazonaws.com/').
  • L'application JupyterLab ou Éditeur de code ne se charge pas.
  • Il n'y a pas de connexion Internet, puis le délai d’exécution des commandes expire.
  • Les extensions JupyterLab ou Éditeur de code ne fonctionnent pas comme prévu.

Résolution

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'interface.

Configurer les groupes de sécurité pour SageMaker Studio

SageMaker Studio ne nécessite pas de règles de port spécifiques pour ses fonctionnalités de base, mais vous devez ajouter une règle pour le trafic sortant d'Amazon SageMaker AI. Par défaut, SageMaker AI utilise le protocole HTTPS (port 443) pour les communications d’API.

Pour ajouter une règle pour le trafic sortant de SageMaker Studio aux API AWS, procédez comme suit :

  1. Ouvrez la console Amazon Virtual Private Cloud (Amazon VPC).
  2. Dans le volet de navigation, choisissez Groupes de sécurité.
  3. Sélectionnez le groupe de sécurité associé à votre domaine.
  4. Choisissez Actions, puis Modifier les règles sortantes.
  5. Sélectionnez Ajouter une règle.
    Dans Type, choisissez HTTPS.
    Dans Destination, saisissez 0.0.0.0.
  6. Sélectionnez Enregistrer les règles.

Vous pourriez nécessiter des ports et des règles supplémentaires en fonction des ressources auxquelles vous souhaitez accéder depuis SageMaker Studio. Par exemple, votre groupe de sécurité doit autoriser les connexions entrantes et sortantes sur le port 2049 pour que le protocole NFS (Network File System) utilise les ressources suivantes :

Lorsque vous accédez aux ressources de votre VPC depuis votre bloc-notes SageMaker Studio, le trafic du compte de service passe par votre interface réseau élastique. Toutes les applications que vous créez dans votre domaine se trouvent dans votre compte de service SageMaker AI (VPC). Les applications communiquent entre elles via les interfaces réseau que vous connectez à votre VPC. Les applications font partie du compte de service de domaine SageMaker Studio, mais s'exécutent sur différentes instances Amazon Elastic Compute Cloud (Amazon EC2).

Pour mettre à jour les paramètres DefaultUserSettings et DefaultSpaceSettings de votre domaine SageMaker Studio afin d'utiliser le nouveau groupe de sécurité, exécutez la commande update-domain de l'interface de ligne de commande AWS :

aws sagemaker update-domain --domain-id d-12345abcde \
--default-user-settings '{
    "SecurityGroups": ["sg-0000"]
  }' \
--default-space-settings '{
    "ExecutionRole": "arn:aws:iam::111111111:role/SageMakerRole",
    "SecurityGroups": ["sg-0000"]
  }'

Remarque : Avant d'exécuter la commande précédente, vous devez supprimer de vos profils utilisateur toutes les applications à l’état InService.

Recréez ensuite le domaine associé aux groupes de sécurité nécessaires. La sortie associée au paramètre SecurityGroups répertorie tous les groupes de sécurité du VPC que SageMaker Studio utilise pour la communication.

Pour vérifier que votre groupe de sécurité a été mis à jour, exécutez la commande describe-domain :

aws sagemaker describe-domain --domain-id d-12345abcde

Puis, lancez SageMaker Studio et vérifiez que les applications s'exécutent correctement. Pour tester la connectivité Internet, exécutez la commande suivante depuis une cellule de bloc-notes :

!curl amazon.com

Pour plus d'informations, consultez la section Connecter des blocs-notes Studio dans un VPC à des ressources externes.

Vérifier que votre sous-réseau utilise les points de terminaison de VPC appropriés

Si vos ressources SageMaker Studio ne requièrent pas d'accès à Internet, il n’est pas nécessaire d'ajouter de passerelle NAT. Cependant, un bloc-notes Studio nécessite les points de terminaison suivants pour s'exécuter et effectuer les opérations de base :

  • API SageMaker : com.amazonaws.your-aws-region.sagemaker.api
  • Exécution de SageMaker : com.amazonaws.your-aws-region.sagemaker.runtime

Remarque : Remplacez your-aws-region par votre région AWS.

Pour accéder aux modèles Amazon Simple Storage Service (Amazon S3) et Amazon SageMaker Projects, créez les points de terminaison suivants :

  • Pour Amazon S3 : com.amazonaws.your-aws-region.s3
  • Pour les modèles SageMaker Project : com.amazonaws.your-aws-region.servicecatalog

Remarque : Remplacez your-aws-region par votre région AWS.

Pour associer les groupes de sécurité aux points de terminaison de VPC, procédez comme suit :

  1. Ouvrez la console Amazon VPC.
  2. Dans le volet de navigation, sélectionnez Points de terminaison.
  3. Sélectionnez le point de terminaison que vous souhaitez mettre à jour.
  4. Choisissez Actions, puis Gérer les groupes de sécurité.
  5. Sélectionnez le groupe de sécurité.
  6. Sélectionnez Enregistrer.

Pour plus d'informations, consultez les sections Accorder aux tâches d’entraînement SageMaker AI l’accès aux ressources de votre Amazon VPC et Communication en mode VPC uniquement avec Internet.

Connecter votre domaine à un sous-réseau privé et à une passerelle NAT active

Lorsque vos ressources SageMaker Studio nécessitent un accès à Internet, configurez votre domaine afin qu'il se connecte à des sous-réseaux privés. Puis, créez une passerelle NAT et autorisez le trafic provenant de la passerelle NAT via la table de routage de votre sous-réseau privé. Pour plus d'informations, consultez la section Comment configurer une passerelle NAT pour un sous-réseau privé dans Amazon VPC ?

Remarque : Le domaine SageMaker Studio connecté à un sous-réseau public ne vous permet pas de vous connecter à Internet.

Vérifier que votre VPC répond aux exigences

Si vous lancez SageMaker Studio en mode VPC uniquement, votre VPC doit répondre aux exigences suivantes :

  • Les sous-réseaux doivent compter un nombre suffisant d'adresses IP disponibles pour l'instance.
  • Si vous utilisez un point de terminaison de VPC pour exécuter les API SageMaker, définissez Activer les noms d'hôte DNS et Activer le support DNS sur vrai pour votre VPC. Votre VPC a besoin des attributs pour se connecter au point de terminaison d'API SageMaker AI lorsque vous utilisez les fonctionnalités de SageMaker AI.

Résoudre les problèmes de configuration

Si les problèmes persistent après la mise à jour de la configuration de votre VPC, redémarrez votre application.

Si vous avez configuré des utilisateurs de SageMaker Studio avec un rôle d'exécution différent, des problèmes de connectivité peuvent survenir.

Assurez-vous que les autorisations de rôle d'exécution de l'utilisateur incluent les politiques requises pour permettre au rôle d'effectuer les actions suivantes :

  • CreateNetworkInterface
  • CreatePresignedDomainUrl
  • CreateSpace
  • CreateApp
  • DescribeApp
AWS OFFICIELA mis à jour il y a 6 mois