Concesión de permisos a los usuarios para usar datos de gran tamaño durante todo el ciclo de vida de ML
Los usuarios de Amazon SageMaker Canvas que trabajan con conjuntos de datos de más de 10 GB en formato CSV o 2,5 GB en formato Parquet necesitan permisos específicos para el procesamiento de datos de gran tamaño. Estos permisos son esenciales para administrar datos a gran escala durante todo el ciclo de vida de machine learning. Cuando los conjuntos de datos superan los umbrales establecidos o la capacidad de memoria local de la aplicación, SageMaker Canvas utiliza Amazon EMR sin servidor para un procesamiento eficiente. Esto se aplica a:
-
Importación de datos: importación de conjuntos de datos grandes con muestreo aleatorio o estratificado.
-
Preparación de datos: exportación de datos procesados desde Data Wrangler en Canvas a Amazon S3, a un nuevo conjunto de datos de Canvas o a un modelo de Canvas.
-
Creación de modelos: entrenamiento de modelos con grandes conjuntos de datos.
-
Inferencia: realización de predicciones sobre grandes conjuntos de datos.
De forma predeterminada, SageMaker Canvas utiliza EMR sin servidor para ejecutar estos trabajos remotos con la siguiente configuración de la aplicación:
-
Capacidad preinicializada: no configurada
-
Límites de aplicación: capacidad máxima de 400 vCPU, máximo 16 vCPU simultáneas por cuenta, 3000 GB de memoria, 20 000 GB de disco
-
Configuración de Metastore: AWS Glue Data Catalog
-
Registros de aplicaciones: almacenamiento administrado por AWS (habilitado), mediante una clave de cifrado propiedad de AWS
-
Comportamiento de la aplicación: se inicia automáticamente al enviar el trabajo y se detiene automáticamente cuando la aplicación está inactiva durante 15 minutos
Para habilitar estas capacidades de procesamiento de datos de gran tamaño, los usuarios necesitan los permisos necesarios, que se pueden conceder a través de la configuración del dominio de Amazon SageMaker AI. El método para conceder estos permisos depende de cómo se configuró inicialmente el dominio de Amazon SageMaker AI. Abordaremos tres escenarios principales:
-
Configuración rápida de dominio
-
Configuración personalizada de dominio (con acceso público a Internet/sin VPC)
-
Configuración personalizada de dominio (con VPC y sin acceso público a Internet)
Cada escenario requiere pasos específicos para garantizar que los usuarios tengan los permisos necesarios para aprovechar EMR sin servidor para el procesamiento de datos de gran tamaño durante todo el ciclo de vida del machine learning en SageMaker Canvas.
Escenario 1: configuración rápida de dominio
Si ha utilizado la opción Configuración rápida al crear su dominio de SageMaker AI, siga estos pasos:
-
Navegue hasta la configuración del dominio de Amazon SageMaker AI:
-
Abra la consola de Amazon SageMaker AI en https://console.aws.amazon.com/sagemaker/
. -
En el panel de navegación izquierdo, seleccione Dominios.
-
Seleccione su dominio.
-
Elija la pestaña Configuraciones de aplicaciones.
-
Desplácese hacia abajo hasta la sección Canvas y elija Editar.
-
-
Habilite el procesamiento de datos de gran tamaño:
-
En la sección Configuración de procesamiento de datos de gran tamaño, active Habilitar EMR sin servidor para el procesamiento de datos de gran tamaño.
-
Cree o seleccione un rol de EMR sin servidor:
-
Elija Crear y usar un rol de ejecución nuevo para crear un nuevo rol de IAM que tenga una relación de confianza con EMR sin servidor y la política Política administrada de AWS: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy asociada. Canvas asume este rol de IAM para crear trabajos de EMR sin servidor.
-
Como alternativa, si ya tiene un rol de ejecución con una relación de confianza para EMR sin servidor, seleccione Usar un rol de ejecución existente y elija un rol en el menú desplegable.
-
El rol existente debe tener un nombre que comience por el prefijo
AmazonSageMakerCanvasEMRSExecutionAccess-. -
El rol que seleccione también debe tener al menos los permisos descritos en la política Política administrada de AWS: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy.
-
El rol debe tener una política de confianza de EMR sin servidor, como se muestra a continuación:
-
-
-
-
(Opcional) Añada permisos de Amazon S3 para buckets de Amazon S3 personalizados:
-
La política administrada de Canvas concede automáticamente permisos de lectura y escritura para los buckets de Amazon S3 con
sagemakeroSageMaker AIen su nombre. También concede permisos de lectura para los objetos de los buckets personalizados de Amazon S3 con la etiqueta"SageMaker": "true". -
Para los buckets de Amazon S3 personalizados sin la etiqueta requerida, añada la siguiente política a su rol de EMR sin servidor:
-
-
Le recomendamos que restrinja los permisos a buckets de Amazon S3 específicos a los que desea que acceda Canvas.
-
-
Guarde los cambios y reinicie la aplicación de SageMaker Canvas.
Escenario 2: configuración personalizada de dominio (con acceso público a Internet/sin VPC)
Si ha creado o utiliza un dominio personalizado, siga los pasos 1 a 3 del escenario 1 y, a continuación, siga estos pasos adicionales:
-
Añada permisos para la operación
DescribeImagesde Amazon ECR a su rol de ejecución de Amazon SageMaker AI, ya que Canvas utiliza imágenes de Docker públicas de Amazon ECR para preparar los datos y entrenar los modelos:-
Inicie sesión en la consola de AWS y abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
Elija Roles.
-
En el cuadro de búsqueda, busque el rol de ejecución de SageMaker AI por nombre y selecciónelo.
-
Añada la siguiente política administrada a su rol de ejecución de SageMaker AI. Esto se puede hacer añadiéndola como nueva política en línea o añadiendo la declaración de política a una ya existente. Tenga en cuenta que un rol de IAM puede tener un máximo de 10 políticas asociadas.
-
-
Guarde los cambios y reinicie la aplicación de SageMaker Canvas.
Escenario 3: configuración personalizada de dominio (con VPC y sin acceso público a Internet)
Si ha creado o utiliza un dominio personalizado, siga todos los pasos del escenario 2 y, a continuación, siga estos pasos adicionales:
-
Asegúrese de que las subredes de VPC sean privadas:
-
Compruebe que la tabla de enrutamiento de las subredes no tenga una asignación de entrada
0.0.0.0/0a una puerta de enlace de Internet.
-
-
Agregue permisos para crear interfaces de red:
-
Al utilizar SageMaker Canvas con EMR sin servidor para el procesamiento de datos a gran escala, EMR sin servidor requiere la capacidad de crear ENI de Amazon EC2 para permitir la comunicación de red entre las aplicaciones EMR sin servidor y los recursos de VPC.
-
Añada la siguiente política a su rol de ejecución de Amazon SageMaker AI. Esto se puede hacer añadiéndola como nueva política en línea o añadiendo la declaración de política a una ya existente. Tenga en cuenta que un rol de IAM puede tener un máximo de 10 políticas asociadas.
-
-
(Opcional) Limite la creación de ENI a subredes específicas:
-
Para proteger aún más la configuración restringiendo la creación de ENI a determinadas subredes de la VPC, puede etiquetar cada subred con condiciones específicas.
-
Utilice la siguiente política de IAM para garantizar que las aplicaciones EMR sin servidor solo puedan crear ENI de Amazon EC2 dentro de las subredes y los grupos de seguridad permitidos:
{ "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/KEY": "VALUE" } } }
-
-
Siga los pasos de la página Configuración de Amazon SageMaker Canvas en una VPC sin acceso a Internet para configurar el punto de conexión de VPC para Amazon S3, que es necesario para EMR sin servidor y otros servicios de AWS que utiliza SageMaker Canvas.
-
Guarde los cambios y reinicie la aplicación de SageMaker Canvas.
Si sigue estos pasos, puede habilitar el procesamiento de datos de gran tamaño en SageMaker Canvas para diversas configuraciones de dominio, incluidas aquellas con configuraciones de VPC personalizadas. Recuerde reiniciar la aplicación SageMaker Canvas después de realizar estos cambios para aplicar los nuevos permisos.