Donnez aux tâches SageMaker de traitement l'accès aux ressources de votre Amazon VPC - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Donnez aux tâches SageMaker de traitement l'accès aux ressources de votre Amazon VPC

Pour contrôler l'accès à vos données et aux tâches de traitement, créez un Amazon VPC avec des sous-réseaux privés. Pour plus d'informations sur la création et la configuration d'un VPC, consultez Get Started With Amazon VPC dans le guide de l'utilisateur Amazon VPC.

Vous pouvez surveiller l'ensemble du trafic réseau entrant et sortant de vos conteneurs de traitement à l'aide des journaux de flux VPC. Pour plus d’informations, consultez la rubrique Journaux de flux VPC dans le Guide de l’utilisateur Amazon VPC.

Ce document explique comment ajouter des configurations Amazon VPC pour les tâches de traitement.

Configurer une tâche de traitement pour un accès Amazon VPC

Vous configurez la tâche de traitement en spécifiant les sous-réseaux et les ID de groupes de sécurité au sein du VPC. Il n'est pas nécessaire de spécifier le sous-réseau du conteneur de traitement. Amazon extrait SageMaker automatiquement le conteneur de traitement d'Amazon ECR. Pour plus d'informations sur le traitement des conteneurs, consultezUtiliser des tâches de traitement pour exécuter des charges de travail de transformation de données.

Lorsque vous créez une tâche de traitement, vous pouvez spécifier des sous-réseaux et des groupes de sécurité dans votre VPC à l'aide de SageMaker la console ou de l'API.

Pour utiliser l'API, vous devez spécifier les sous-réseaux et les ID des groupes de sécurité dans le NetworkConfig.VpcConfig paramètre de l' CreateProcessingJobopération. SageMaker utilise les détails du sous-réseau et du groupe de sécurité pour créer les interfaces réseau et les attache aux conteneurs de traitement. Les interfaces réseau fournissent aux conteneurs de traitement une connexion réseau au sein de votre VPC. Cela permet à la tâche de traitement de se connecter aux ressources qui existent dans votre VPC.

Voici un exemple du VpcConfig paramètre que vous incluez dans votre appel à l'CreateProcessingJobopération :

VpcConfig: { "Subnets": [ "subnet-0123456789abcdef0", "subnet-0123456789abcdef1", "subnet-0123456789abcdef2" ], "SecurityGroupIds": [ "sg-0123456789abcdef0" ] }

Configuration de votre VPC privé pour traitement SageMaker

Lorsque vous configurez le VPC privé pour vos tâches SageMaker de traitement, suivez les instructions suivantes. Pour obtenir des informations sur la configuration d'un VPC, veuillez consulter Utilisation de VPC et de sous-réseaux dans le Guide de l'utilisateur Amazon VPC.

S'assurer que les sous-réseaux ont suffisamment d'adresses IP

Vos sous-réseaux VPC doivent avoir au moins deux adresses IP privées pour chaque instance dans une tâche de traitement. Pour plus d'informations, veuillez consulter Dimensionnement des VPC et des sous-réseaux pour IPv4 dans le Guide de l'utilisateur Amazon VPC.

Création d'un point de terminaison d'un VPC Amazon S3

Si vous configurez votre VPC afin que les conteneurs de traitement n'aient pas accès à Internet, ces derniers ne peuvent pas se connecter aux compartiments Amazon S3 qui contiennent vos données, à moins de créer un point de terminaison d'un VPC autorisant l'accès. En créant un point de terminaison de VPC, vous permettez à vos conteneurs de traitement d'accéder aux compartiments où vous stockez vos données. Nous vous recommandons de créer également une politique personnalisée autorisant uniquement les demandes d'accès à vos compartiments S3 provenant de votre VPC privé. Pour plus d'informations, veuillez consulter Points de terminaison pour Amazon S3.

Création d'un point de terminaison de VPC S3
  1. Ouvrez la console Amazon VPC à l'adresse https://console.aws.amazon.com/vpc/.

  2. Dans le volet de navigation, choisissez Endpoints (Points de terminaison), puis Create Endpoint (Créer un point de terminaison).

  3. Pour Service Name (Nom de service), choisissez com.amazonaws.region.s3, où region (région) correspond au nom de la région où se trouve votre VPC.

  4. Pour VPC, choisissez le VPC que vous voulez utiliser pour ce point de terminaison.

  5. Pour Configure route tables (Configurer les tables de routage), sélectionnez les tables de routage à utiliser par le point de terminaison. Le service de VPC ajoute automatiquement un routage à chaque table de routage que vous sélectionnez et qui dirige le trafic S3 vers le nouveau point de terminaison.

  6. Pour Policy (Politique), choisissez Full Access (Accès total) pour autoriser un accès total au service S3 par n'importe quel utilisateur ou service au sein du VPC. Choisissez Personnalisé pour restreindre l’accès davantage. Pour plus d’informations, consultez Utilisez une politique de point de terminaison personnalisée pour limiter l'accès à S3.

Utilisez une politique de point de terminaison personnalisée pour limiter l'accès à S3

Par défaut, la politique de point de terminaison autorise un accès total à S3 pour n'importe quel utilisateur ou service au sein de votre VPC. Pour limiter l'accès à S3, créez une politique de point de terminaison personnalisé. Pour de plus amples informations, veuillez consulter Utilisation des politiques de point de terminaison pour Amazon S3. Vous pouvez également utiliser une politique de compartiment pour restreindre l'accès à vos compartiments S3 uniquement au trafic issu de votre Amazon VPC. Pour obtenir des informations, veuillez consulter Utilisation de politiques de compartiment Amazon S3.

Restreindre l'installation de packages sur le conteneur de traitement

La politique de point de terminaison par défaut permet aux utilisateurs d'installer des packages à partir des référentiels Amazon Linux et Amazon Linux 2 sur le conteneur de traitement. Si vous ne voulez pas que les utilisateurs installent des packages à partir de ce référentiel, créez une politique de point de terminaison personnalisée qui refuse explicitement l'accès aux référentiels Amazon Linux et Amazon Linux 2. Voici un exemple de politique qui refuse l'accès à ces référentiels :

{ "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/*" ] } ] }

Configuration des tables de routage

Utilisez les paramètres DNS par défaut pour votre table de routage de point de terminaison, afin que les URL Amazon S3 standard (par exemple, http://s3-aws-region.amazonaws.com/MyBucket) soient résolues. Si vous n'utilisez pas les paramètres DNS par défaut, veillez à ce que les URL que vous utilisez pour spécifier les emplacements des données dans vos tâches de traitement soient résolues en configurant les tables de routage de point de terminaison. Pour obtenir des informations sur les tables de routage de point de terminaison d'un VPC, veuillez consulter Routage des points de terminaison de passerelle dans le Guide de l'utilisateur Amazon VPC.

Configurer le groupe de sécurité VPC

Dans un traitement distribué, vous devez autoriser la communication entre les différents conteneurs d'une même tâche de traitement. Pour ce faire, configurez une règle pour votre groupe de sécurité qui autorise les connexions entrantes entre les membres du même groupe de sécurité. Pour de plus amples informations, veuillez consulter Règles des groupes de sécurité.

Connexion à des ressources en dehors de votre VPC

Si vous connectez vos modèles à des ressources extérieures au VPC dans lequel ils s'exécutent, effectuez l'une des opérations suivantes :

  • Connexion à d'autres AWS services : si votre modèle a besoin d'accéder à un AWS service prenant en charge les points de terminaison Amazon VPC d'interface, créez un point de terminaison pour vous connecter à ce service. Pour obtenir la liste des services qui prennent en charge les points de terminaison d'interface, consultez la section AWS Services intégrés AWS PrivateLink dans le Guide de l' AWS PrivateLink utilisateur. Pour plus d'informations sur la création d'un point de terminaison VPC d'interface, consultez la section Accès à un AWS service à l'aide d'un point de terminaison VPC d'interface dans le guide de l'utilisateur. AWS PrivateLink

  • Connectez-vous aux ressources via Internet : si vos modèles s'exécutent sur des instances figurant dans un réseau Amazon VPC qui ne possède pas de sous-réseau avec accès à Internet, les modèles n'auront pas accès aux ressources sur Internet. Si votre modèle a besoin d'accéder à un AWS service qui ne prend pas en charge les points de terminaison VPC d'interface, ou à une ressource extérieure AWS, assurez-vous d'exécuter vos modèles dans un sous-réseau privé ayant accès à Internet via une passerelle NAT publique dans un sous-réseau public. Une fois que vos modèles s'exécutent dans le sous-réseau privé, configurez vos groupes de sécurité et vos listes de contrôle d'accès réseau (NACL) pour autoriser les connexions sortantes du sous-réseau privé vers la passerelle NAT publique dans le sous-réseau public. Pour en savoir plus, consultez Passerelles NAT dans le Guide de l'utilisateur Amazon VPC.

Surveillez les tâches SageMaker de traitement Amazon à l'aide de CloudWatch journaux et de statistiques

Amazon SageMaker fournit des CloudWatch journaux et des statistiques Amazon pour suivre les tâches de formation. CloudWatch fournit des mesures relatives au processeur, au processeur graphique, à la mémoire, à la mémoire graphique et au disque, ainsi qu'à la journalisation des événements. Pour plus d'informations sur la surveillance SageMaker des tâches de traitement Amazon, consultez Surveillez Amazon SageMaker avec Amazon CloudWatch etSageMaker indicateurs relatifs aux emplois et aux terminaux.