Saltar al contenido

¿Cómo soluciono los problemas de conectividad con JupyterLab y el editor de código cuando uso SageMaker Studio en modo solo para VPC?

6 minutos de lectura
0

Cuando uso mi entorno de Amazon SageMaker Studio en modo solo para VPC, tengo problemas de conectividad con mis espacios de JupyterLab y del editor de código.

Descripción corta

Si no configuras correctamente la nube virtual privada (VPC), es posible que se produzcan los siguientes problemas en SageMaker Studio:

  • La pantalla de carga del espacio no responde y aparece un mensaje de error en Registros de Amazon CloudWatch similar al siguiente: «Connect timeout on endpoint URL: "https://api.sagemaker.us-east-1.amazonaws.com/"».
  • La aplicación JupyterLab o Code Editor no se carga.
  • No hay conexión a Internet y, a continuación, se agota el tiempo de espera de los comandos.
  • Las extensiones de JupyterLab o Code Editor no funcionan como se esperaba.

Resolución

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Configuración de los grupos de seguridad para SageMaker Studio

SageMaker Studio no requiere reglas de puerto específicas para la funcionalidad básica, pero debes agregar una regla para el tráfico saliente de Amazon SageMaker AI. De forma predeterminada, SageMaker AI usa HTTPS (puerto 443) para las comunicaciones de API.

Para agregar una regla para el tráfico saliente de SageMaker Studio a las API de AWS, sigue estos pasos:

  1. Abre la consola de Amazon Virtual Private Cloud (Amazon VPC).
  2. En el panel de navegación, selecciona Grupos de seguridad.
  3. Selecciona el grupo de seguridad adjunto a tu dominio.
  4. Selecciona Acciones y, a continuación, elige Editar reglas de salida.
  5. Elige Agregar regla.
    En Tipo, elige HTTPS.
    En Destino, escribe 0.0.0.0.
  6. Selecciona Guardar reglas.

Es posible que necesites puertos y reglas adicionales en función de los recursos a los que quieras acceder desde SageMaker Studio. Por ejemplo, tu grupo de seguridad debe permitir las conexiones entrantes y salientes en el puerto 2049 para que el protocolo de sistema de archivos de red (NFS) utilice los siguientes recursos:

Cuando accedes a los recursos de tu VPC desde el cuaderno de SageMaker Studio, el tráfico de la cuenta de servicio fluye a través de la interfaz de red elástica. Todas las aplicaciones que crees en el dominio se encuentran en la VPC de tu cuenta de servicio de SageMaker AI. Las aplicaciones se comunican entre sí a través de las interfaces de red que conectas a tu VPC. Las aplicaciones forman parte de la cuenta de servicio de dominio de SageMaker Studio, pero se ejecutan en distintas instancias de Amazon Elastic Compute Cloud (Amazon EC2).

Para actualizar DefaultUserSettings y DefaultSpaceSettings del dominio de SageMaker Studio para usar el nuevo grupo de seguridad, ejecuta el comando update-domain de la AWS CLI:

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"]
  }'

Nota: Antes de ejecutar el comando anterior, debes eliminar todas las aplicaciones con el estado InService de tus perfiles de usuario.

A continuación, vuelve a crear el dominio que está adjunto a los grupos de seguridad necesarios. El resultado del parámetro SecurityGroups muestra todos los grupos de seguridad de la VPC que SageMaker Studio utiliza para la comunicación.

Para confirmar que el grupo de seguridad se ha actualizado, ejecuta el comando describe-domain:

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

A continuación, inicia SageMaker Studio y confirma que las aplicaciones se ejecutan correctamente. Para probar la conectividad a Internet, ejecuta el siguiente comando desde una celda de cuaderno:

!curl amazon.com

Para obtener más información, consulta Conexión de los cuadernos de Studio de una VPC a recursos externos.

Comprobar que la subred tenga los puntos de enlace de VPC correctos

Si los recursos de SageMaker Studio no requieren acceso a Internet, no es necesario que agregues una puerta de enlace NAT. Sin embargo, un cuaderno de Studio requiere los siguientes puntos de enlace para ejecutar y realizar operaciones básicas:

  • API de SageMaker: com.amazonaws.your-aws-region.sagemaker.api
  • Versión ejecutable de SageMaker: com.amazonaws.your-aws-region.sagemaker.runtime

Nota: Sustituye your-aws-region por tu región de AWS.

Para acceder a las plantillas de proyectos de Amazon SageMaker y Amazon Simple Storage Service (Amazon S3), crea los siguientes puntos de enlace:

  • Para Amazon S3: com.amazonaws.your-aws-region.s3
  • Para las plantillas de proyectos de SageMaker: com.amazonaws.your-aws-region.servicecatalog

Nota: Sustituye your-aws-region por tu región.

Para asociar los grupos de seguridad a los puntos de enlace de la VPC, sigue estos pasos:

  1. Abre la consola de Amazon VPC.
  2. En el panel de navegación, elige Puntos de enlace.
  3. Selecciona el punto de enlace que deseas actualizar.
  4. Elige Acciones y, a continuación, elige Administrar grupos de seguridad.
  5. Selecciona el grupo de seguridad.
  6. Selecciona Guardar.

Para obtener más información, consulta Concesión de acceso para los trabajos de entrenamiento de SageMaker AI a los recursos de tu Amazon VPC y a la comunicación de la VPC únicamente con Internet.

Conexión del dominio a una subred privada y a una puerta de enlace NAT activa

Cuando los recursos de SageMaker Studio requieran acceso a Internet, configura tu dominio para que se conecte a subredes privadas. A continuación, crea una puerta de enlace NAT y permite que el tráfico de la puerta de enlace NAT pase por la tabla de enrutamiento de la subred privada. Para obtener más información, consulta ¿Cómo configuro una puerta de enlace NAT para una subred privada en Amazon VPC?

Nota: El dominio de SageMaker Studio que está conectado a una subred pública no te permite conectarte a Internet.

Confirmar que la VPC cumple los requisitos

Si inicias SageMaker Studio en modo solo para VPC, la VPC debe cumplir los siguientes requisitos:

  • Las subredes deben tener suficientes direcciones IP disponibles para la instancia.
  • Si usas un punto de enlace de VPC para ejecutar las API de SageMaker, establece Activar nombres de host DNS y Activar soporte de DNS en true para tu VPC. Tu VPC requiere que los atributos se conecten al punto de enlace de la API de SageMaker AI cuando utilizas las características de SageMaker AI.

Solución de problemas de configuración

Si sigues teniendo problemas después de actualizar la configuración de la VPC, reinicia la aplicación.

Si has configurado a los usuarios de SageMaker Studio con un rol de ejecución diferente, es posible que se produzcan problemas de conectividad.

Asegúrate de que los permisos del rol de ejecución del usuario incluyan las políticas necesarias para permitir que el rol realice las siguientes acciones:

  • CreateNetworkInterface
  • CreatePresignedDomainUrl
  • CreateSpace
  • CreateApp
  • DescribeApp
OFICIAL DE AWSActualizada hace 6 meses