Attribuer aux point de terminaison hébergés SageMaker l'accès aux ressources de votre Amazon VPC - Amazon SageMaker

Attribuer aux point de terminaison hébergés SageMaker l'accès aux ressources de votre Amazon VPC

Configuration d'un modèle 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 CreateModel ou fournissez ces informations lorsque vous créez une tâche d'entraînement dans la console SageMaker. SageMaker utilise ces informations pour créer des interfaces réseau, puis les attache à vos conteneurs de modèles. Les interfaces réseau fournissent à vos conteneurs de modèles une connexion réseau au sein de votre VPC qui n'est pas connecté à Internet. Elles permettent également à votre modèle de se connecter aux ressources de votre VPC privé.

Note

Vous devez créer au moins deux sous-réseaux dans des zones de disponibilité distinctes dans votre VPC privé, même si vous n'avez qu'une seule instance d'hébergement.

Voici un exemple du paramètre VpcConfig que vous incluez dans votre appel à CreateModel :

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

Configuration de votre VPC privé pour l'hébergement SageMaker

Lorsque vous configurez le VPC privé pour vos modèles 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 de modèle. 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 modèle n'aient pas accès à Internet, ces derniers ne peuvent pas se connecter aux compartiments Amazon S3 qui contiennent vos données, sauf si vous créez un point de terminaison d'un VPC autorisant l'accès. En créant un point de terminaison de VPC, vous autorisez vos conteneurs de modèle à 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.

Pour créer un point de terminaison d'un VPC Amazon 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 AWS 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), choisissez les tables de routage qui seront utilisées par le point de terminaison. Le service de VPC ajoute automatiquement un routage à chaque table de routage que vous choisissez et qui dirige le trafic Amazon S3 vers le nouveau point de terminaison.

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

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

La politique de point de terminaison par défaut autorise un accès total à Amazon Simple Storage Service (Amazon S3) pour n'importe quel utilisateur ou service de votre VPC. Pour limiter l'accès à Amazon 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.

Restriction de l'installation de packages sur le conteneur de modèles à l'aide d'une stratégie de point de terminaison personnalisée

La stratégie 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 modèles. Si vous ne voulez pas que les utilisateurs installent des packages à partir de ces référentiels, créez une stratégie 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 stratégie 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/*" ] } ] }

Ajout d'autorisations d'accès au point de terminaison pour les conteneurs s'exécutant dans un VPC aux 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 de créer une interface réseau Elastic et de l'attacher aux conteneurs de modèles qui s'exécutent dans un 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 au 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" ], "Resource": "*" } ] }

Pour plus d'informations sur la stratégie gérée SageMakerFullAccess, consultez Politique AWS gérée : 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 modèles 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.

Connexion à des ressources en dehors de votre VPC

Si vous configurez votre VPC de façon à ce qu'il ne dispose pas d'un accès Internet, les modèles qui utilisent ce VPC n'ont pas accès aux ressources en dehors de votre VPC. Si votre modèle a besoin d'accéder à des ressources en dehors de votre VPC, fournissez-lui l'accès en effectuant l'une des actions suivantes :

  • Si votre modèle a besoin d'accéder à un service AWS qui prend en charge les points de terminaison de 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, veuillez consulter Points de terminaison d'un VPC dans le Guide de l'utilisateur Amazon VPC. Pour obtenir des informations sur la création d'un point de terminaison d'un VPC d'interface, veuillez consulter Points de terminaison d'un VPC d'interface (AWS) dans le Guide de l'utilisateur Amazon VPC.

  • Si votre modèle a besoin d'accéder à un service AWS qui ne prend pas en charge les points de terminaison d'un VPC d'interface ou à une ressource en dehors d'AWS, créez une passerelle NAT et configurez vos groupes de sécurité pour qu'ils autorisent les connexions sortantes. Pour plus d'informations sur la configuration d'une passerelle NAT pour votre VPC, consultez Scénario 2 : VPC avec des sous-réseaux publics et privés (NAT) dans le Guide de l'utilisateur Amazon Virtual Private Cloud.