Connexion à une instance de bloc-notes via un point de terminaison d'interface VPC. - Amazon SageMaker

Connexion à une instance de bloc-notes via un point de terminaison d'interface VPC.

Au lieu de vous connecter sur l'Internet public, vous pouvez vous connecter à votre instance de bloc-notes depuis votre VPC via un point de terminaison d'interface dans votre Virtual Private Cloud (VPC). Lorsque vous utilisez un point de terminaison d'interface VPC, la communication entre votre VPC et l'instance de bloc-notes est entièrement gérée en toute sécurité au sein du réseau AWS.

Les instances de bloc-notes SageMaker prennent en charge les points de terminaison d'interface d'Amazon Virtual Private Cloud (Amazon VPC) à technologie AWS PrivateLink. Chaque point de terminaison d'un VPC est représenté par une ou plusieurs interfaces réseau Elastic avec des adresses IP privées dans vos sous-réseaux VPC.

Note

Avant de créer un point de terminaison d'un VPC d'interface pour vous connecter à une instance de bloc-notes, créez-en un pour vous connecter à l'API SageMaker. Ainsi, lorsque des utilisateurs appellent CreatePresignedNotebookInstanceUrl pour obtenir l'URL afin de se connecter à l'instance de bloc-notes, cet appel passe également par le point de terminaison d'un VPC d'interface. Pour plus d'informations, consultez Connexion à SageMaker via un point de terminaison d'interface VPC.

Vous pouvez créer un point de terminaison d'interface pour vous connecter à votre instance de bloc-notes à l'aide de la console AWS ou des commandes AWS Command Line Interface (AWS CLI). Pour obtenir des instructions, consultez Création d'un point de terminaison d'interface. Assurez-vous de créer un point de terminaison d'interface pour tous les sous-réseaux dans votre VPC à partir duquel vous souhaitez vous connecter à l'instance de bloc-notes.

Lorsque vous créez le point de terminaison d'interface, spécifiez le nom du service aws.sagemaker.region.notebook. Une fois que vous avez créé un point de terminaison de VPC, activez le DNS privé pour votre point de terminaison de VPC. Toute personne qui utilise l'API SageMaker, la AWS CLI ou la console pour se connecter à l'instance de bloc-notes depuis le VPC se connecte à l'instance de bloc-notes via le point de terminaison d'un VPC au lieu du réseau Internet public.

Les instances de bloc-notes SageMaker prennent en charge des points de terminaison d'un VPC dans toutes les régions AWS dans lesquelles Amazon VPC et SageMaker sont disponibles.

Pour vous connecter à votre instance de bloc-notes via votre VPC, vous devez vous connecter depuis une instance située à l'intérieur du VPC, ou connecter votre réseau privé pour votre VPC à l'aide d'un AWS Virtual Private Network (AWS VPN) ou d'un AWS Direct Connect. Pour obtenir des informations sur AWS VPN, veuillez consulter la rubrique Connexions VPN du Guide de l'utilisateur du cloud privé virtuel Amazon. Pour obtenir des informations sur AWS Direct Connect, veuillez consulter Création d'une connexion dans le Guide de l'utilisateur AWS Direct Connect.

Vous pouvez créer une politique pour les points de terminaison d'un VPC Amazon pour les instances de bloc-notes SageMaker afin de spécifier les éléments suivants :

  • Le principal qui peut exécuter des actions.

  • Les actions qui peuvent être effectuées.

  • Les ressources sur lesquelles les actions peuvent être exécutées.

Pour plus d'informations, veuillez consulter Contrôle de l'accès aux services avec des points de terminaison d'un VPC dans le Amazon VPC Guide de l'utilisateur.

L'exemple suivant de stratégie de point de terminaison de VPC spécifie que tous les utilisateurs qui ont accès au point de terminaison sont autorisés à accéder à l'instance de bloc-notes nommée myNotebookInstance.

{ "Statement": [ { "Action": "sagemaker:CreatePresignedNotebookInstanceUrl", "Effect": "Allow", "Resource": "arn:aws:sagemaker:us-west-2:123456789012:notebook-instance/myNotebookInstance", "Principal": "*" } ] }

L'accès aux autres instances de bloc-notes est refusé.

Même si vous configurez un point de terminaison d'interface dans votre VPC, les personnes extérieures au VPC peuvent se connecter à l'instance de bloc-notes sur Internet.

Important

Si vous appliquez une politique IAM semblable à l'une des politiques suivantes, les utilisateurs ne pourront pas accéder aux API SageMaker spécifiées ou à l'instance de bloc-notes via la console.

Pour restreindre l'accès aux seules connexions effectuées depuis votre VPC, créez une stratégie AWS Identity and Access Management qui restreint l'accès aux seuls appels provenant de votre VPC. Ensuite, ajoutez cette stratégie à chaque utilisateur, groupe ou rôle AWS Identity and Access Management utilisé pour accéder à l'instance de bloc-notes.

Note

Cette stratégie autorise les connexions uniquement pour les mandataires dans un sous-réseau où vous avez créé un point de terminaison d'interface.

{ "Id": "notebook-example-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable Notebook Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedNotebookInstanceUrl", "sagemaker:DescribeNotebookInstance" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceVpc": "vpc-111bbaaa" } } } ] }

Si vous souhaitez restreindre l'accès à l'instance de bloc-notes aux seules connexions effectuées à l'aide du point de terminaison d'interface, utilisez la clé de condition aws:SourceVpce au lieu de aws:SourceVpc :

{ "Id": "notebook-example-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable Notebook Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedNotebookInstanceUrl", "sagemaker:DescribeNotebookInstance" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:sourceVpce": [ "vpce-111bbccc", "vpce-111bbddd" ] } } } ] }

Ces deux exemples de politiques supposent que vous ayez également créé un point de terminaison d'interface pour l'API SageMaker. Pour plus d'informations, consultez Connexion à SageMaker via un point de terminaison d'interface VPC. Dans le deuxième exemple, l'une des valeurs pour aws:SourceVpce est l'ID du point de terminaison d'interface pour l'instance de bloc-notes. L'autre est l'ID du point de terminaison d'interface pour l'API SageMaker.

Ici, les exemples de politiques incluent DescribeNotebookInstance car généralement vous appelez DescribeNotebookInstance pour veiller à ce que NotebookInstanceStatus soit InService avant d'essayer de vous y connecter. Par exemple :

aws sagemaker describe-notebook-instance \ --notebook-instance-name myNotebookInstance { "NotebookInstanceArn": "arn:aws:sagemaker:us-west-2:1234567890ab:notebook-instance/mynotebookinstance", "NotebookInstanceName": "myNotebookInstance", "NotebookInstanceStatus": "InService", "Url": "mynotebookinstance.notebook.us-west-2.sagemaker.aws", "InstanceType": "ml.m4.xlarge", "RoleArn": "arn:aws:iam::1234567890ab:role/service-role/AmazonSageMaker-ExecutionRole-12345678T123456", "LastModifiedTime": 1540334777.501, "CreationTime": 1523050674.078, "DirectInternetAccess": "Disabled" } aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name myNotebookInstance { "AuthorizedUrl": "https://mynotebookinstance.notebook.us-west-2.sagemaker.aws?authToken=AuthToken }
Note

L'URL présignée générée peut être utilisée à partir d'un emplacement quelconque sur Internet.

Pour ces deux appels, si vous n'avez pas activer des noms d'hôtes DNS privés pour votre point de terminaison d'un VPC, ou si vous utilisez une version du kit SDK AWS publiée avant le 13 août 2018, vous devez spécifier l'URL du point de terminaison dans l'appel. Par exemple, l'appel à create-presigned-notebook-instance-url est :

aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name myNotebookInstance --endpoint-url VPC_Endpoint_ID.api.sagemaker.Region.vpce.amazonaws.com