Octroi aux utilisateurs d’autorisations pour utiliser des données volumineuses tout au long du cycle de vie du machine learning - Amazon SageMaker AI

Octroi aux utilisateurs d’autorisations pour utiliser des données volumineuses tout au long du cycle de vie du machine learning

Les utilisateurs d’Amazon SageMaker Canvas qui travaillent avec des jeux de données supérieurs à 10 Go au format CSV ou à 2,5 Go au format Parquet ont besoin d’autorisations spécifiques pour le traitement de données volumineuses. Ces autorisations sont essentielles pour la gestion de données à grande échelle tout au long du cycle de vie du machine learning. Lorsque les jeux de données dépassent les seuils indiqués ou la capacité de mémoire locale de l’application, SageMaker Canvas utilise Amazon EMR sans serveur pour un traitement efficace. Cela s’applique aux éléments suivants :

  • Importation de données : importation de grands jeux de données avec un échantillonnage aléatoire ou stratifié.

  • Préparation des données : exportation des données traitées depuis Data Wrangler dans Canvas vers Amazon S3, vers un nouveau jeu de données Canvas ou vers un modèle Canvas.

  • Génération de modèles : entraînement de modèles sur de grands jeux de données.

  • Inférence : réalisation de prédictions sur de grands jeux de données.

Par défaut, SageMaker Canvas utilise EMR sans serveur pour exécuter ces tâches à distance avec les paramètres d’application suivants :

  • Capacité pré-initialisée : non configurée

  • Limites d’application : capacité maximale de 400 vCPU, 16 vCPU simultanés au maximum par compte, 3 000 Go de mémoire, disque de 20 000 Go

  • Configuration du magasin de métadonnées : AWS Glue Data Catalog

  • Journaux d’application : stockage géré par AWS (activé), à l’aide d’une clé de chiffrement détenue par AWS

  • Comportement de l’application : démarre automatiquement lors de la soumission de la tâche et s’arrête automatiquement après 15 minutes d’inactivité de l’application

Pour activer ces capacités de traitement de données volumineuses, les utilisateurs ont besoin des autorisations requises, qui peuvent être accordées via les paramètres du domaine Amazon SageMaker AI. La méthode d’octroi de ces autorisations dépend de la configuration initiale de votre domaine Amazon SageMaker AI. Nous aborderons trois scénarios principaux :

  • Configuration rapide de domaine

  • Configuration de domaine personnalisée (avec accès au réseau Internet public/sans VPC)

  • Configuration de domaine personnalisée (avec VPC et sans accès au réseau Internet public)

Chaque scénario nécessite des étapes spécifiques pour garantir que les utilisateurs disposent des autorisations requises pour utiliser EMR sans serveur pour le traitement de données volumineuses tout au long du cycle de vie du machine learning dans SageMaker Canvas.

Scénario 1 : Configuration rapide de domaine

Si vous avez utilisé l’option Configuration rapide lors de la création de votre domaine SageMaker AI, procédez comme suit :

  1. Accédez aux paramètres du domaine Amazon SageMaker AI :

    1. Ouvrez la console Amazon SageMaker AI à l’adresse https://console.aws.amazon.com/sagemaker/.

    2. Dans le volet de navigation de gauche, choisissez Domaines.

    3. Sélectionnez votre domaine.

    4. Choisissez l’onglet Configurations des applications.

    5. Faites défiler l’affichage jusqu’à la section Canvas, puis choisissez Modifier.

  2. Activez le traitement des données volumineuses :

    1. Dans la section Configuration du traitement de données volumineuses, activez l’option Activer EMR sans serveur pour le traitement de données volumineuses.

    2. Créez ou sélectionnez un rôle EMR sans serveur :

      1. Choisissez Créer et utiliser un nouveau rôle d’exécution pour créer un nouveau rôle IAM ayant une relation d’approbation avec EMR sans serveur et la politique Politique gérée par AWS : AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy attachée. Ce rôle IAM est assumé par Canvas pour créer des tâches EMR sans serveur.

      2. Sinon, si vous avez déjà un rôle d’exécution avec une relation d’approbation pour EMR sans serveur, sélectionnez Utiliser un rôle d’exécution existant et choisissez votre rôle dans la liste déroulante.

        • Le rôle existant doit avoir un nom commençant par le préfixe AmazonSageMakerCanvasEMRSExecutionAccess-.

        • Le rôle que vous sélectionnez doit également disposer au moins des autorisations décrites dans la politique Politique gérée par AWS : AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy.

        • Le rôle doit avoir une politique d’approbation EMR sans serveur, comme indiquée ci-dessous :

          JSON
          { "Version": "2012-10-17", "Statement": [ { "Sid": "EMRServerlessTrustPolicy", "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } } } ] }
  3. (Facultatif) Ajoutez des autorisations Amazon S3 pour les compartiments Amazon S3 personnalisés :

    1. La politique gérée par Canvas accorde automatiquement des autorisations de lecture et d’écriture pour les compartiments Amazon S3 avec sagemaker ou SageMaker AI dans leurs noms. Elle accorde également des autorisations de lecture pour les objets figurant dans les compartiments Amazon S3 personnalisés avec la balise "SageMaker": "true".

    2. Pour les compartiments Amazon S3 personnalisés sans la balise requise, ajoutez la politique suivante à votre rôle EMR sans serveur :

    3. JSON
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::*" ] } ] }
    4. Nous vous recommandons de limiter l’étendue des autorisations aux compartiments Amazon S3 spécifiques auxquels vous souhaitez que Canvas accède.

  4. Enregistrez vos modifications et redémarrez votre application SageMaker Canvas.

Scénario 2 : Configuration de domaine personnalisée (avec accès au réseau Internet public/sans VPC)

Si vous avez créé ou si vous utilisez un domaine personnalisé, suivez les étapes 1 à 3 du Scénario 1, puis effectuez les étapes supplémentaires suivantes :

  1. Ajoutez des autorisations pour l’opération DescribeImages d’Amazon ECR à votre rôle d’exécution Amazon SageMaker AI, car Canvas utilise des images Docker Amazon ECR publiques pour la préparation des données et l’entraînement des modèles :

    1. Connectez-vous à la console AWS et ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

    2. Sélectionnez Rôles.

    3. Dans la zone de recherche, recherchez votre rôle d’exécution SageMaker AI par son nom et sélectionnez-le.

    4. Ajoutez la politique suivante à votre rôle d’exécution SageMaker AI. Pour cela, vous pouvez l’ajouter en tant que nouvelle politique intégrée ou ajouter la déclaration de politique à une politique existante. Notez qu’un maximum de 10 politiques peuvent être attachées à un rôle IAM.

      JSON
      { "Version": "2012-10-17", "Statement": [{ "Sid": "ECRDescribeImagesOperation", "Effect": "Allow", "Action": "ecr:DescribeImages", "Resource": [ "arn:aws:ecr:*:*:repository/sagemaker-data-wrangler-emr-container", "arn:aws:ecr:*:*:repository/ap-dataprep-emr" ] }] }
  2. Enregistrez vos modifications et redémarrez votre application SageMaker Canvas.

Scénario 3 : Configuration de domaine personnalisée (avec VPC et sans accès au réseau Internet public)

Si vous avez créé ou si vous utilisez un domaine personnalisé, suivez toutes les étapes du Scénario 2, puis effectuez les étapes supplémentaires suivantes :

  1. Assurez-vous que les sous-réseaux de votre VPC sont privés :

    1. Vérifiez que la table de routage de vos sous-réseaux ne comporte pas de mappage d’entrée 0.0.0.0/0 vers une passerelle Internet.

  2. Ajoutez des autorisations pour créer des interfaces réseau :

    1. Lorsque vous utilisez SageMaker Canvas avec EMR sans serveur pour le traitement de données à grande échelle, EMR sans serveur doit être capable de créer des ENI Amazon EC2 pour permettre la communication réseau entre les applications EMR sans serveur et vos ressources VPC.

    2. Ajoutez la politique suivante à votre rôle d’exécution Amazon SageMaker AI. Pour cela, vous pouvez l’ajouter en tant que nouvelle politique intégrée ou ajouter la déclaration de politique à une politique existante. Notez qu’un maximum de 10 politiques peuvent être attachées à un rôle IAM.

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowEC2ENICreation", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ], "Condition": { "StringEquals": { "aws:CalledViaLast": "ops.emr-serverless.amazonaws.com" } } } ] }
  3. (Facultatif) Limitez la création d’ENI à des sous-réseaux spécifiques :

    1. Pour renforcer la sécurité de votre configuration en limitant la création d’ENI à certains sous-réseaux de votre VPC, vous pouvez baliser chaque sous-réseau avec des conditions spécifiques.

    2. Utilisez la politique IAM suivante pour garantir que les applications EMR sans serveur peuvent uniquement créer des ENI Amazon EC2 au sein des sous-réseaux et des groupes de sécurité autorisés :

      { "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/KEY": "VALUE" } } }
  4. Suivez les étapes de la page Configurer Amazon SageMaker Canvas dans un VPC sans accès Internet pour définir le point de terminaison de VPC pour Amazon S3, qui est requis par EMR sans serveur et les autres services AWS utilisés par SageMaker Canvas.

  5. Enregistrez vos modifications et redémarrez votre application SageMaker Canvas.

En suivant ces étapes, vous pouvez activer le traitement de données volumineuses dans SageMaker Canvas pour différentes configurations de domaine, y compris celles avec des configurations de VPC personnalisées. N’oubliez pas de redémarrer votre application SageMaker Canvas après avoir apporté ces modifications pour appliquer les nouvelles autorisations.