Configuración de Studio para que se ejecute con subredes sin acceso a Internet dentro de una VPC
En esta guía se explica cómo debe conectarse a los espacios de Amazon SageMaker Studio desde Visual Studio Code 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 de conexión de VPC para los servicios de AWS y configure VPC PrivateLink para las dependencias de AWS necesarias.
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 remotas de Visual Studio Code comparten las mismas limitaciones que SageMaker AI. Para obtener más información, consulte Conexión de cuadernos de Studio en una VPC a recursos externos.
Requisitos de VPC PrivateLink: si SageMaker AI se ejecuta en subredes privadas, configure estos puntos de conexión de VPC de SSM además de los puntos de conexión de VPC estándar necesarios para 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
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
-
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.
Configuración de la red de acceso remoto de Studio
Tiene dos opciones para conectar su Visual Studio Code local a los espacios de Studio en subredes privadas:
-
Proxy HTTP
-
Servidor remoto y extensiones de Visual Studio Code preempaquetados
Configuración del proxy HTTP con una lista de permisos controlada
Si su espacio de Studio está protegido por un firewall o un proxy, permita el acceso al servidor de Visual Studio Code y a las CDN y puntos de conexión relacionados con las extensiones.
-
Configure una subred pública para ejecutar el proxy HTTP (como Squid), donde podrá configurar los sitios web que quiere permitir. Asegúrese de que los espacios de SageMaker puedan acceder al proxy HTTP.
-
La subred pública puede estar en la misma VPC que utiliza Studio o en una VPC distinta emparejada con todas las VPC que utilizan los dominios de Amazon SageMaker AI.
Configuración del servidor remoto y las extensiones de Visual Studio Code preempaquetados
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, utilice un script de SageMaker AI Lifecycle Configuration (LCC) para copiar y extraer el archivo tarball en el directorio principal (/home/sagemaker-user) de los espacios de Studio. Esta solución basada en LCC funciona tanto con imágenes personalizadas como las proporcionadas por AWS. 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
-
Instale Visual Studio Code en su equipo local.
-
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.
-
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-serveren 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. -
Después de conectarse de forma remota, asegúrese de usar el perfil predeterminado de Visual Studio Code.
-
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 extensión AWS Toolkit for Visual Studio Code después de conectarse al contenedor remoto.
-
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. -
Cargue el archivo tarball en Amazon S3.
-
Cree un script de LCC (Ejemplo de script de LCC (LCC-install-VS Code-server-v1.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.
-
-
(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.
-
(Opcional) Mantenga scripts de LCC específicos para cada versión (Ejemplo de script de LCC (LCC-install-VS Code-server-v1.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.