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

Attribuer aux tâches de compilation SageMaker l'accès aux ressources de votre Amazon VPC

Note

Pour les tâches de compilation, vous pouvez uniquement configurer des sous-réseaux avec un VPC de location par défaut dans lequel votre tâche s'exécute sur un matériel partagé. Pour de plus amples informations sur l'attribut de location pour les VPC, veuillez consulter Instances dédiées.

Configuration d'une tâche de compilation pour l'accès à Amazon VPC

Pour spécifier les sous-réseaux et les groupes de sécurité dans votre VPC privé, utilisez le paramètre de demande VpcConfig de l'API CreateCompilationJob ou fournissez ces informations lorsque vous créez une tâche de compilation dans la console SageMaker. SageMaker Neo utilise ces informations pour créer des interfaces réseau, puis les attache à vos tâches de compilation. Les interfaces réseau fournissent à vos tâches de compilation une connexion réseau au sein de votre VPC qui n'est pas connecté à Internet. Elles permettent également à votre tâche de compilation de se connecter aux ressources de votre VPC privé. Voici un exemple du paramètre VpcConfig que vous incluez dans votre appel à CreateCompilationJob :

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

Configuration de votre VPC privé pour la compilation SageMaker

Lorsque vous configurez le VPC privé pour vos tâches de compilation SageMaker, suivez les recommandations 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 compilation. 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 pour bloquer l'accès à Internet, SageMaker Neo ne peut pas se connecter aux compartiments Amazon S3 qui contiennent vos modèles, sauf si vous créez un point de terminaison d'un VPC autorisant l'accès. En créant un point de terminaison d'un VPC, vous autorisez vos tâches de compilation SageMaker Neo d'accéder aux compartiments où vous stockez vos données et artefacts de modèle. Nous vous recommandons de créer également une stratégie 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), recherchez com.amazonaws.region.s3, region correspondant au nom de la région où se trouve votre VPC.

  4. Choisissez le type Gateway (Passerelle).

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

  6. Pour 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.

  7. Pour Policy (Stratégie), 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 Custom (Personnalisé) pour restreindre l'accès davantage. Pour de plus amples informations, veuillez consulter Utilisez une stratégie de point de terminaison personnalisée pour limiter l'accès à S3.

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

Par défaut, la stratégie 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 stratégie 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. Voici un exemple de politique personnalisée :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::your-sample-bucket", "arn:aws:s3:::your-sample-bucket/*" ], "Condition": { "StringNotEquals": { "aws:SourceVpce": [ "vpce-01234567890123456" ] } } } ] }

Ajouter des autorisations pour la tâche de compilation en cours d'exécution dans un VPC Amazon à des politiques IAM personnalisées

La politique gérée SageMakerFullAccess inclut les autorisations dont vous avez besoin pour utiliser des modèles configurés pour l'accès à l'Amazon VPC avec un point de terminaison. Ces autorisations permettent à SageMaker Neo de créer une interface réseau Elastic et de l'attacher à la tâche de compilation qui s'exécute dans un Amazon VPC. Si vous utilisez votre propre politique IAM, vous devez ajouter les autorisations suivantes à cette politique pour utiliser les modèles configurés pour l'accès à Amazon VPC.

{"Version": "2012-10-17", "Statement": [ {"Effect": "Allow", "Action": [ "ec2:DescribeVpcEndpoints", "ec2:DescribeDhcpOptions", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:CreateNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute" ], "Resource": "*" } ] }

Pour plus d'informations sur la stratégie gérée SageMakerFullAccess, consultez AmazonSageMakerFullAccess.

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 l'emplacement des données dans vos tâches de compilation 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 votre groupe de sécurité pour la tâche de compilation, vous devez autoriser la communication sortante vers vos points de terminaison d'un VPC Amazon S3 et les plages CIDR de sous-réseau utilisées pour la tâche de compilation. Pour obtenir des informations, veuillez consulter Règles des groupes de sécurité et Contrôler l'accès aux services avec les points de terminaison Amazon VPC.