Prerequisites - Amazon SageMaker

Prerequisites

Pour utiliser des points de terminaison asynchrones, assurez-vous d'abord que vous avez satisfait à ces conditions préalables.

  1. Créez un rôle IAM pour Amazon SageMaker.

    L'inférence asynchrone doit avoir accès à l'URI de votre compartiment Amazon S3. Pour cela, créez un rôle IAM capable d'exécuter SageMaker et disposant de l'autorisation d'accéder à Amazon S3 et Amazon SNS. Grâce à ce rôle, SageMaker peut s'exécuter sous votre compte et accéder à votre compartiment Amazon S3 et à vos rubriques Amazon SNS.

    Vous pouvez créer un rôle IAM à l'aide de la console IAM, du kit AWS SDK for Python (Boto3) ou de la AWS CLI. Voici un exemple de la création d'un rôle IAM et de l'attachement des politiques nécessaires avec la console IAM.

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

    2. Dans le panneau de navigation de la console IAM, choisissez Rôles, puis Créer un rôle.

    3. Pour Select type of trusted entity (Sélectionner le type d'entité de confiance), sélectionnez Service AWS.

    4. Choisissez le service que vous voulez autoriser à endosser ce rôle. Dans ce cas, choisissez SageMaker. Choisissez ensuite Suivant : Autorisations.

      • Cela crée automatiquement une politique IAM qui accorde l'accès aux services associés tels qu'Amazon S3, Amazon ECR et CloudWatch Logs.

    5. Choisissez Suivant : Identifications.

    6. (Facultatif) Ajoutez des métadonnées au rôle en associant les identifications sous forme de paires clé-valeur. Pour de plus amples informations sur l'utilisation de balises dans IAM, veuillez consulter Tagging IAM resources (Balisage de ressources IAM).

    7. Choisissez Suivant : Vérification.

    8. Saisissez un Role name (Nom de rôle).

    9. Si possible, saisissez un nom de rôle ou un suffixe de nom de rôle. Les noms de rôle de votre compte AWS doivent être uniques. Ils ne sont pas sensibles à la casse. Par exemple, vous ne pouvez pas créer deux rôles nommés PRODROLE et prodrole. Vous ne pouvez pas modifier le nom du rôle après sa création, car d'autres ressources AWS pourraient le référencer.

    10. (Facultatif) Dans le champ Description du rôle, saisissez la description du nouveau rôle.

    11. Passez en revue les informations du rôle, puis choisissez Créer un rôle.

      Notez l'ARN du rôle SageMaker. Pour connaître l'ARN du rôle à l'aide de la console, procédez comme suit :

      1. Accédez à la console IAM : https://console.aws.amazon.com/iam/

      2. Sélectionnez Roles (Rôles).

      3. Recherchez le rôle que vous venez de créer en saisissant son nom dans le champ Recherche.

      4. Sélectionnez le rôle.

      5. L'ARN du rôle figure en haut de la page Summary (Récapitulatif).

  2. Ajoutez des autorisations Amazon SageMaker, Amazon S3 et Amazon SNS à votre rôle IAM.

    Une fois le rôle créé, accordez à SageMaker, Amazon S3 et éventuellement Amazon SNS des autorisations à votre rôle IAM.

    Dans la console IAM, sélectionnez Roles (Rôles). Recherchez le rôle que vous avez créé en saisissant son nom dans le champ Search (Recherche).

    1. Choisissez votre rôle.

    2. Ensuite, choisissez Attach Policies (Attacher des politiques).

    3. L'inférence asynchrone d'Amazon SageMaker doit avoir l'autorisation d'effectuer les opérations suivantes : "sagemaker:CreateModel", "sagemaker:CreateEndpointConfig", "sagemaker:CreateEndpoint" et "sagemaker:InvokeEndpointAsync".

      Ces actions sont incluses dans la politique AmazonSageMakerFullAccess. Ajoutez cette politique à votre rôle IAM. Recherchez AmazonSageMakerFullAccess dans le champ Search (Recherche). Select  AmazonSageMakerFullAccess.

    4. Choisissez Attacher la politique.

    5. Ensuite, choisissez Attach Policies (Attacher des politiques) pour ajouter des autorisations Amazon S3.

    6. Sélectionnez Create Policy (Créer une politique).

    7. Sélectionnez l'onglet JSON.

    8. Ajoutez la déclaration de politique suivante :

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListBucket" ], "Effect": "Allow", "Resource": "arn:aws:s3:::bucket_name/*" } ] }
    9. Choisissez Suivant : Identifications.

    10. Saisissez un Policy name (Nom de politique).

    11. Choisissez Créer une politique.

    12. Répétez les mêmes étapes que celles que vous avez effectuées pour ajouter des autorisations Amazon S3 afin d'ajouter des autorisations Amazon SNS. Pour la déclaration de politique, attachez les éléments suivants :

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "sns:Publish" ], "Effect": "Allow", "Resource": "arn:aws:sns:<region>:<Account_ID>:<SNS_Topic>" } ] }
  3. Chargez vos données d'inférence (par exemple, modèle de machine learning, exemples de données) sur Amazon S3.

  4. Sélectionnez une image d'inférence Docker prédéfinie ou créez votre propre image Docker d'inférence.

    SageMaker fournit des conteneurs pour ses algorithmes intégrés et des images Docker préconçues pour certains des cadres de machine learning les plus courants, tels qu'Apache MXNet, TensorFlow, PyTorch et Chainer. Pour obtenir la liste complète des images SageMaker disponibles, veuillez consulter Available Deep Learning Containers Images (Images de Deep Learning Containers disponibles).

    Si aucun des conteneurs SageMaker existants ne répond à vos besoins et que vous n'avez pas de conteneur existant, vous devrez peut-être créer un nouveau conteneur Docker. Veuillez consulter Utilisation de votre propre code d'inférence pour savoir comment créer votre image Docker.

  5. Créer une rubrique Amazon SNS (facultatif)

    Créez une rubrique Amazon Simple Notification Service (Amazon SNS) qui envoie des notifications concernant les requêtes qui ont terminé le traitement. Amazon SNS est un service de notification destiné aux applications orientées messagerie. Plusieurs abonnés demandent et reçoivent des notifications « push » de messages critiques via un choix de protocoles de transport, y compris HTTP, Amazon SQS et les e-mails. Vous pouvez spécifier des rubriques Amazon SNS lorsque vous créez un objet EndpointConfig et spécifiez AsyncInferenceConfig à l'aide de l'API EndpointConfig.

    Suivez ces étapes pour créer une rubrique Amazon SNS et vous y abonner.

    1. Créez une rubrique à partir de la console Amazon SNS. Des instructions sont disponibles dans la section Création d'une rubrique Amazon SNS du Guide du développeur Amazon Simple Notification Service.

    2. Abonnez-vous à la rubrique. Pour obtenir des instructions, veuillez consulter Abonnement à une rubrique Amazon SNS dans le Guide du développeur Amazon Simple Notification Service.

    3. Lorsque vous recevez un e-mail vous invitant à confirmer votre abonnement à la rubrique, confirmez l'abonnement.

    4. Notez l'Amazon Resource Name (ARN) de la rubrique. La rubrique Amazon SNS que vous venez de créer est une nouvelle ressource de votre compte AWS et dispose d'un ARN unique. L'ARN est au format suivant :

      arn:aws:sns:aws-region:account-id:topic-name

    Pour de plus amples informations sur Amazon SNS, veuillez consulter le Guide du développeur Amazon SNS.