Conceder acceso a los trabajos de procesamiento de SageMaker a los recursos de su Amazon VPC
Para controlar el acceso a sus datos y trabajos de procesamiento, cree una Amazon VPC con subredes privadas. Para obtener información sobre la creación y configuración de una VPC, consulte Introducción a Amazon VPC en la Guía del usuario de Amazon VPC.
Puede supervisar todo el tráfico de red dentro y fuera de sus contenedores de procesamiento mediante registros de flujo de la VPC. Para obtener más información, consulte Logs de flujo de VPC en la Guía del usuario de Amazon VPC.
En este documento se explica cómo agregar configuraciones de Amazon VPC para trabajos de procesamiento.
Configurar un trabajo de procesamiento para el acceso a Amazon VPC
Para configurar el trabajo de procesamiento, especifique las subredes y los ID de los grupos de seguridad de la VPC. No es necesario especificar la subred para el contenedor de procesamiento. Amazon SageMaker extrae automáticamente el contenedor de procesamiento de Amazon ECR. Para obtener más información sobre los contenedores de procesamiento, consulte Cargas de trabajo de transformación de datos con Procesamiento de SageMaker.
Al crear un trabajo de procesamiento, puede especificar subredes y grupos de seguridad en su VPC mediante la consola de SageMaker o la API.
Para usar la API, especifique las subredes y los ID de los grupos de seguridad en el parámetro NetworkConfig.VpcConfig
de la operación CreateProcessingJob. SageMaker utiliza los detalles de la subred y del grupo de seguridad para crear las interfaces de red y las conecta a los contenedores de procesamiento. Las interfaces de red proporcionan a sus contenedores de procesamiento una conexión de red en su VPC. Esto permite que el trabajo de procesamiento se conecte a los recursos que existen en la VPC.
A continuación se muestra un ejemplo del parámetro VpcConfig
incluido en su llamada a la operación CreateProcessingJob
:
VpcConfig: { "Subnets": [ "subnet-0123456789abcdef0", "subnet-0123456789abcdef1", "subnet-0123456789abcdef2" ], "SecurityGroupIds": [ "sg-0123456789abcdef0" ] }
Configurar la VPC privada para el procesamiento de SageMaker
Cuando configure la VPC privada para sus trabajos de procesamiento de SageMaker, utilice las siguientes directrices. Para obtener información sobre la configuración de una VPC, consulte Working with VPCs and Subnets en la Guía del usuario de Amazon VPC.
Temas
- Cómo asegurar que las subredes dispongan de suficientes direcciones IP
- Crear un punto de conexión de VPC de Amazon S3
- Utilizar una política de puntos de enlace personalizados para restringir el acceso a S3
- Configurar tablas de ruteo
- Configurar el grupo de seguridad de la VPC
- Conexión a recursos fuera de la VPC
- Supervisar los trabajos de procesamiento de Amazon SageMaker con registros y métricas de CloudWatch
Cómo asegurar que las subredes dispongan de suficientes direcciones IP
Las subredes de la VPC deben disponer de al menos dos direcciones IP privadas para cada instancia en un trabajo de procesamiento. Para obtener más información, consulte PC and Subnet Sizing for IPv4 en la Guía del usuario de Amazon VPC.
Crear un punto de conexión de VPC de Amazon S3
Si configura la VPC de manera que los contenedores de procesamiento no dispongan de acceso a Internet, no se podrán conectar a los buckets de Amazon S3 que contienen sus datos a no ser que cree un punto de conexión de VPC que permita el acceso. Si crea un punto de enlace de la VPC, permite a los contenedores de procesamiento obtener acceso a los buckets en los que almacena los datos. Le recomendamos que también cree una política personalizada que permita solo solicitudes de su VPC privada para obtener acceso a sus buckets de S3. Para obtener más información, consulte Puntos de enlace para Amazon S3.
Para crear un punto de enlace de la VPC de S3:
-
Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/
. -
En el panel de navegación, elija Endpoints (Puntos de enlace) y, a continuación, elija Create Endpoint (Crear punto de enlace).
-
En Nombre del servicio, elija com.amazonaws.
region
.s3, donderegion
es el nombre de la región donde reside la VPC. -
En VPC, elija la VPC que desea usar para este punto de conexión.
-
En Configurar tablas de enrutamiento, seleccione las tablas de enrutamiento que debe usar el punto de conexión. El servicio de VPC añadirá automáticamente una ruta a cada tabla de ruteo que seleccione que dirige cualquier tráfico de S3 al nuevo punto de enlace.
-
En Policy (Política), elija Full Access (Acceso completo) para permitir acceso completo al servicio de S3 a cualquier usuario o servicio dentro de la VPC. Elija Personalizado para restringir el acceso más. Para obtener más información, consulte Utilizar una política de puntos de enlace personalizados para restringir el acceso a S3.
Utilizar una política de puntos de enlace personalizados para restringir el acceso a S3
La política de puntos de enlace predeterminada permite acceso completo a S3 a cualquier usuario o servicio de la VPC. Para restringir aún más el acceso a S3, cree una política de puntos de enlace personalizada. Para obtener más información, consulte Using Endpoint Policies for Amazon S3. También puede utilizar una política de bucket para restringir el acceso a los buckets de S3 a solo el tráfico que proceda de su Amazon VPC. Para obtener más información, consulte Using Amazon S3 Bucket Policies.
Limitar la instalación de paquetes en el contenedor de procesamiento
La política de punto de enlace predeterminada permite a los usuarios instalar paquetes desde los repositorios de Amazon Linux y Amazon Linux 2 en el contenedor de procesamiento. Si no desea que los usuarios instalen paquetes desde ese repositorio, cree una política de punto de enlace personalizada que deniegue de forma explícita el acceso a los repositorios de Amazon Linux y Amazon Linux 2. A continuación se muestra un ejemplo de una política que deniega el acceso a estos repositorios:
{ "Statement": [ { "Sid": "AmazonLinuxAMIRepositoryAccess", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Deny", "Resource": [ "arn:aws:s3:::packages.*.amazonaws.com/*", "arn:aws:s3:::repo.*.amazonaws.com/*" ] } ] } { "Statement": [ { "Sid": "AmazonLinux2AMIRepositoryAccess", "Principal": "*", "Action": [ "s3:GetObject" ], "Effect": "Deny", "Resource": [ "arn:aws:s3:::amazonlinux.*.amazonaws.com/*" ] } ] }
Configurar tablas de ruteo
Utilice la configuración de DNS predeterminada para su tabla de enrutamiento de punto de conexión, de manera que se resuelvan las URL de Amazon S3 estándar (por ejemplo, http://s3-aws-region.amazonaws.com/amzn-s3-demo-bucket
). Si no utiliza la configuración de DNS predeterminada, asegúrese de que las URL que utiliza especifiquen las ubicaciones de los datos en su resolución de trabajos de procesamiento mediante la configuración de tablas de ruteo de punto de enlace. Para obtener información sobre las tablas de enrutamiento de punto de conexión de VPC, consulte Routing for Gateway Endpoints en la Guía del usuario de Amazon VPC.
Configurar el grupo de seguridad de la VPC
En el procesamiento distribuido, debe permitir la comunicación entre distintos contenedores en el mismo trabajo de procesamiento. Para ello, configure una regla para el grupo de seguridad que permita conexiones entrantes entre miembros del mismo grupo de seguridad. Para obtener más información, consulte Reglas del grupo de seguridad.
Conexión a recursos fuera de la VPC
Si va a conectar sus modelos a recursos externos a la VPC en la que se ejecutan, realice una de las siguientes acciones:
-
Conéctese a otros servicios de AWS: si su modelo precisa acceso a un servicio de AWS que admita puntos de conexión de Amazon VPC de interfaz, cree un punto de conexión que conectar a ese servicio. Para obtener una lista de los servicios que admiten puntos de conexión de interfaz, consulte Servicios de AWS que se integran con AWS PrivateLink en la Guía del usuario de AWS PrivateLink. Para obtener información sobre la creación de un punto de conexión de VPC de interfaz, consulte Acceda a un Servicio de AWS mediante un punto de conexión de VPC de interfaz en la Guía del usuario de AWS PrivateLink.
-
Conéctese a los recursos a través de Internet: si sus modelos se ejecutan en instancias de una Amazon VPC que no tiene una subred con acceso a Internet, los modelos no tendrán acceso a los recursos de Internet. Si su modelo necesita acceder a un servicio de AWS que no admite puntos de conexión de VPC de interfaz o a un recurso ajeno a AWS, asegúrese de ejecutar sus modelos en una subred privada que tenga acceso a Internet mediante una puerta de enlace NAT pública en una subred pública. Una vez que haya ejecutado sus modelos en la subred privada, configure los grupos de seguridad y las listas de control de acceso a la red (NACL) para permitir las conexiones salientes desde la subred privada a la puerta de enlace NAT pública de la subred pública. Para obtener más información, consulte Gateways NAT en la Guía del usuario de Amazon VPC.
Supervisar los trabajos de procesamiento de Amazon SageMaker con registros y métricas de CloudWatch
Amazon SageMaker proporciona métricas y registros de Amazon CloudWatch para supervisar los trabajos de entrenamiento. CloudWatch proporciona métricas de CPU, GPU, memoria, memoria de GPU y disco, así como registro de eventos. Para obtener más información sobre la supervisión de trabajos de procesamiento de Amazon SageMaker, consulte Métricas para supervisar Amazon SageMaker con Amazon CloudWatch y Métricas de trabajos y puntos de conexión de SageMaker.