View a markdown version of this page

Configuración de Studio para que se ejecute con subredes sin acceso a Internet dentro de una VPC - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de Studio para que se ejecute con subredes sin acceso a Internet dentro de una VPC

Esta guía le muestra cómo conectarse a los espacios de Amazon SageMaker Studio desde su IDE remoto cuando su dominio de Amazon SageMaker AI se ejecuta en subredes privadas sin acceso a Internet. También se enumeran los requisitos de conectividad y las opciones de configuración para establecer conexiones remotas seguras en entornos de red aislados.

Puede configurar Amazon SageMaker Studio para que se ejecute solo en modo VPC con subredes sin acceso a Internet. Esta configuración mejora la seguridad de sus cargas de trabajo de machine learning al operar en un entorno de red aislado en el que todo el tráfico fluye a través de la VPC. Para habilitar las comunicaciones externas y, al mismo tiempo, mantener la seguridad, utilice los puntos finales de la VPC para los AWS servicios y configure la PrivateLink VPC para las dependencias necesarias. AWS

Soporte IDE para conexiones de subredes privadas

La siguiente tabla muestra los métodos de conexión compatibles con cada IDE remoto cuando se conecta a espacios de Studio en subredes privadas sin acceso a Internet.

Método de conexión VS Code Kiro Cursor

Compatibilidad con proxy HTTP

Soportado

compatible

No compatible

Servidor remoto y extensiones preempaquetados

compatible

No admitido

No admitido

importante

El cursor no es compatible para conectarse a espacios de Studio en subredes privadas sin acceso saliente a Internet.

Requisitos de red del acceso remoto a Studio

Limitaciones del modo VPC: Studio en el modo VPC solo admite subredes privadas. Studio no funciona con las subredes conectadas directamente a una puerta de enlace de Internet. Las conexiones IDE remotas comparten las mismas limitaciones que la IA. SageMaker Para obtener más información, consulte Conexión de cuadernos de Studio en una VPC a recursos externos.

Cuando la SageMaker IA se ejecute en subredes privadas, configure estos puntos de enlace de VPC de SSM además de los puntos de enlace de VPC estándar necesarios para ello. SageMaker Para obtener más información, consulte Conexión de Studio a través de un punto de conexión de VPC.

  • com.amazonaws.REGION.ssm

  • com.amazonaws.REGION.ssmmessages

Recomendaciones de políticas de puntos finales de VPC

Las siguientes son las políticas de puntos finales de VPC recomendadas que permiten realizar las acciones necesarias para el acceso remoto y, al mismo tiempo, utilizan la aws:PrincipalIsAWSService condición para garantizar que solo AWS servicios como Amazon SageMaker AI puedan realizar las llamadas. Para obtener más información sobre la clave de aws:PrincipalIsAWSService condición, consulta la documentación.

Política de puntos finales de SSM

Utilice la siguiente política para el com.amazonaws.REGION.ssm punto final:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "ssm:CreateActivation", "ssm:RegisterManagedInstance", "ssm:DeleteActivation", "ssm:DeregisterManagedInstance", "ssm:AddTagsToResource", "ssm:UpdateInstanceInformation", "ssm:UpdateInstanceAssociationStatus", "ssm:DescribeInstanceInformation", "ssm:ListInstanceAssociations", "ssm:ListAssociations", "ssm:GetDocument", "ssm:PutInventory" ], "Resource": "*", "Condition": { "BoolIfExists": { "aws:PrincipalIsAWSService": "true" } } } ] }

Política de puntos finales de SSM Messages

Utilice la siguiente política para el com.amazonaws.REGION.ssmmessages punto final:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*", "Condition": { "BoolIfExists": { "aws:PrincipalIsAWSService": "true" } } } ] }

Requisitos de red específicos de Visual Studio Code

La conexión remota de Visual Studio Code requiere el desarrollo remoto de Visual Studio Code, que requiere un acceso de red específico para instalar el servidor remoto y las extensiones. Consulte las preguntas frecuentes sobre el desarrollo remoto en la documentación de Visual Studio Code para ver todos los requisitos de red. A continuación se proporciona un resumen de los requisitos:

  • Se debe acceder a los puntos de conexión del servidor de Visual Studio Code de Microsoft para instalar y actualizar el servidor remoto de Visual Studio Code.

  • Se requiere acceso a Visual Studio Marketplace y a los puntos de conexión de CDN relacionados para instalar las extensiones de Visual Studio Code a través del panel de extensiones (como alternativa, las extensiones se pueden instalar manualmente con archivos VSIX sin conexión a Internet).

  • Es posible que algunas extensiones requieran acceso a puntos de conexión adicionales para descargar las dependencias específicas. Consulte la documentación de la extensión para ver los requisitos de conectividad específicos.

Requisitos de red específicos de Kiro

La conexión remota de Kiro requiere el desarrollo remoto de Kiro, que necesita un acceso a la red específico para instalar el servidor remoto y las extensiones. Para obtener información sobre la configuración del firewall y el servidor proxy, consulte Configuración del firewall de Kiro. Los requisitos son similares a los de VS Code:

  • Es necesario acceder a los puntos finales del servidor Kiro para instalar y actualizar el servidor remoto Kiro.

  • Para instalar las extensiones de Kiro a través del panel de extensiones, es necesario acceder al mercado de extensiones y a los puntos finales de CDN relacionados.

  • Es posible que algunas extensiones requieran acceso a puntos de conexión adicionales para descargar las dependencias específicas. Consulte la documentación de la extensión para ver los requisitos de conectividad específicos.

Configuración de la red de acceso remoto de Studio

Dispone de las siguientes opciones para conectar su IDE remoto a los espacios de Studio en subredes privadas:

  • Proxy HTTP (compatible con VS Code y Kiro)

  • Servidor remoto y extensiones preempaquetados (solo VS Code)

Configuración del proxy HTTP con una lista de permisos controlada

Cuando tu espacio de Studio esté protegido por un firewall o un proxy, permite el acceso a tu servidor IDE y a los puntos finales y relacionados con las extensiones CDNs .

  1. Configure una subred pública para ejecutar el proxy HTTP (como Squid), donde podrá configurar los sitios web que quiere permitir. Asegúrate de que los espacios puedan acceder al proxy HTTP. SageMaker

  2. La subred pública puede estar en la misma VPC que usa el estudio o en una VPC independiente emparejada con todos los VPCs dominios de Amazon AI. SageMaker

Configure un servidor remoto y extensiones preempaquetados (solo en VS Code)

nota

Esta opción solo está disponible para Visual Studio Code. Kiro y Cursor no admiten la configuración de servidor remoto preconfigurada.

Si sus espacios de Studio no pueden acceder a puntos de conexión externos para descargar el servidor remoto y las extensiones de Visual Studio Code, puede preempaquetarlos. Con este enfoque, se exporta un archivo tarball que contiene el directorio .VS Code-server de una versión específica de Visual Studio Code. A continuación, se utiliza un script de configuración del ciclo de vida de la SageMaker IA (LCC) para copiar y extraer el archivo tar en el directorio principal (/home/sagemaker-user) de los espacios de Studio. Esta solución basada en LCC funciona tanto AWS con imágenes personalizadas como proporcionadas por usted. Incluso si no utiliza subredes privadas, este enfoque acelera la configuración del servidor remoto de Visual Studio Code y las extensiones preinstaladas.

Instrucciones para preempaquetar su servidor remoto de Visual Studio Code y las extensiones

  1. Instale Visual Studio Code en su equipo local.

  2. Lance un contenedor de Docker basado en Linux (x64) con SSH habilitado, ya sea localmente o a través de un espacio de Studio con acceso a Internet. Para simplificar, recomendamos utilizar un espacio de Studio temporal con acceso remoto y acceso a Internet.

  3. Conecte el Visual Studio Code instalado al contenedor de Docker local mediante SSH remoto o conéctese al espacio de Studio a través de la característica de Visual Studio Code remota de Studio. Visual Studio Code instala el servidor remoto en .VS Code-server en el directorio principal del contenedor remoto durante la conexión. Para obtener más información, consulte Ejemplo de uso de Dockerfile para preempaquetar el servidor remoto y las extensiones de Visual Studio Code.

  4. Después de conectarse de forma remota, asegúrese de usar el perfil predeterminado de Visual Studio Code.

  5. Instale las extensiones de Visual Studio Code requeridas y valide su funcionalidad. Por ejemplo, cree y ejecute un cuaderno para instalar las extensiones relacionadas con el cuaderno de Jupyter en el servidor remoto de Visual Studio Code.

    Asegúrese de instalar la AWS Toolkit for Visual Studio Code extensión después de conectarse al contenedor remoto.

  6. Archive el directorio $HOME/.VS Code-server (por ejemplo, VS Code-server-with-extensions-for-1.100.2.tar.gz) en el contenedor de Docker local o en la terminal del espacio de Studio conectado de forma remota.

  7. Cargue el archivo tarball en Amazon S3.

  8. Cree un script de LCC (Ejemplo de script LCC (LCC-install-VS C ode-server-v 1.100.2)) que:

    • descargue el archivo específico de Amazon S3,

    • lo extraiga en el directorio principal cuando se abra un espacio de Studio en una subred privada.

  9. (Opcional) Amplíe el script de LCC para admitir los archivos tarball del servidor de Visual Studio Code por usuario almacenados en carpetas de Amazon S3 específicas del usuario.

  10. (Opcional) Mantenga scripts de LCC específicos para cada versión (Ejemplo de script LCC (LCC-install-VS C ode-server-v 1.100.2)) que pueda asociar a sus espacios. De este modo, garantizará la compatibilidad entre su cliente local de Visual Studio Code y el servidor remoto.