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.
Accès aux conteneurs via SSM
Amazon vous SageMaker permet de vous connecter en toute sécurité aux conteneurs Docker sur lesquels vos modèles sont déployés à des fins d'inférence à l'aide de AWS Systems Manager (SSM). Cela vous donne un accès au conteneur au niveau du shell afin que vous puissiez déboguer les processus exécutés dans le conteneur et enregistrer les commandes et les réponses avec Amazon CloudWatch. Vous pouvez également configurer une AWS PrivateLink connexion aux instances ML qui hébergent vos conteneurs pour accéder aux conteneurs via SSM en privé.
Avertissement
L'activation de l'accès SSM peut avoir un impact sur les performances de votre point de terminaison. Nous vous recommandons d'utiliser cette fonctionnalité avec vos points de terminaison de développement ou de test et non avec les points de terminaison en production. Applique également SageMaker automatiquement les correctifs de sécurité et remplace ou met fin aux instances de point de terminaison défectueuses dans les 10 minutes. Toutefois, pour les terminaux dotés de variantes de production compatibles SSM, cela SageMaker retarde d'une journée l'application des correctifs de sécurité et le remplacement ou la résiliation des instances de point de terminaison défectueuses, afin de vous permettre de procéder au débogage.
Les sections suivantes expliquent comment utiliser cette fonctionnalité.
Allowlist
Vous devez contacter le service client et faire inscrire votre compte sur la liste d'autorisation pour utiliser cette fonctionnalité. Vous ne pouvez pas créer un point de terminaison avec l'accès à SSM activé si votre compte n'est pas autorisé dans la liste pour cet accès.
Activer l'accès à SSM
Pour activer l'accès à SSM pour un conteneur existant sur un point de terminaison, mettez à jour le point de terminaison avec une nouvelle configuration de point de terminaison, avec le paramètre EnableSSMAccess
défini sur true
. L'exemple suivant fournit un exemple de configuration de point de terminaison.
{ "EndpointConfigName":
"endpoint-config-name"
, "ProductionVariants": [ { "InitialInstanceCount": 1, "InitialVariantWeight": 1.0, "InstanceType": "ml.t2.medium", "ModelName":model-name
, "VariantName":variant-name
, "EnableSSMAccess": true, }, ] }
Pour plus d'informations sur l'activation de l'accès à SSM, consultez EnableSSMAccess.
Configuration de l'IAM
Autorisations IAM pour les points de terminaison
Si vous avez activé l'accès SSM pour une instance de point de terminaison, SageMaker démarre et gère l'agent SSM lorsqu'il initie l'instance de point de terminaison. Pour permettre à l'agent SSM de communiquer avec les services SSM, ajoutez la politique suivante au rôle d'exécution sous lequel le point de terminaison s'exécute.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" } ] }
Autorisations IAM pour les utilisateurs
Ajoutez la politique suivante pour autoriser un utilisateur IAM à se connecter à une cible SSM lors d'une session SSM.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] }
Vous pouvez restreindre le nombre de points de terminaison auxquels un utilisateur IAM peut se connecter en appliquant la politique suivante. Remplacez le texte des espaces réservés en italique
par vos propres informations.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", ], "Resource": [ "
sagemaker-endpoint-arn
" ] } ] }
Accès SSM avec AWS PrivateLink
Si vos points de terminaison s'exécutent dans un cloud privé virtuel (VPC) qui n'est pas connecté à l'Internet public, vous pouvez activer AWS PrivateLink SSM. AWS PrivateLink restreint tout le trafic réseau entre vos instances de point de terminaison, SSM et Amazon EC2 vers le réseau Amazon. Pour plus d'informations sur la configuration de l'accès à SSM avec AWS PrivateLink, consultez Configurer un point de terminaison d'un VPC pour Session Manager.
Journalisation avec Amazon CloudWatch Logs
Pour les points de terminaison compatibles avec l'accès SSM, vous pouvez enregistrer les erreurs depuis l'agent SSM avec Amazon Logs. CloudWatch Pour plus d'informations sur la façon de consigner les erreurs à l'aide des CloudWatch journaux, consultez la section Journalisation de l'activité des sessions. Le journal est disponible dans le flux de journaux SSM,
, sous le groupe de journaux du point de terminaison variant-name
/ec2-instance-id
/ssm/aws/sagemaker/endpoints/
. Pour plus d'informations sur la façon d'afficher le journal, voir Afficher les données du journal envoyées à CloudWatch Logs. endpoint-name
Les variantes de production situées derrière votre point de terminaison peuvent comporter plusieurs modèles de conteneurs. Le journal de chaque modèle de conteneur est enregistré dans le flux de journaux. Chaque journal est précédé de [sagemaker ssm
logs][container-name]
, où container-name
est soit le nom que vous avez donné au conteneur, soit le nom par défaut, tel que container_0
et container_1
.
Accès aux modèles de conteneurs
Pour accéder à un conteneur de modèles sur votre instance de point de terminaison, vous avez besoin de son ID cible. L'ID cible est dans l'un des formats suivants :
-
sagemaker-endpoint:
pour les conteneurs situés sur des points de terminaison de conteneur uniquesendpoint-name
_variant-name
_ec2-instance-id
-
sagemaker-endpoint:
pour les conteneurs situés sur des points de terminaison multi-conteneursendpoint-name
_variant-name
_ec2-instance-id
_container-name
L'exemple suivant montre comment vous pouvez utiliser le AWS CLI pour accéder à un modèle de conteneur à l'aide de son ID cible.
aws ssm start-session --target sagemaker-endpoint:prod-image-classifier_variant1_i-003a121c1b21a90a9_container_1
Si vous activez la journalisation, comme indiqué dans Journalisation avec Amazon CloudWatch Logs, vous pouvez trouver les ID cibles de tous les conteneurs répertoriés au début du flux de journal SSM.
Note
-
Vous ne pouvez pas vous connecter à des conteneurs d'algorithmes 1P ou à des conteneurs de modèles obtenus SageMaker MarketPlace avec SSM. Vous pouvez toutefois vous connecter à des conteneurs de deep learning (DLC) fournis par AWS ou à tout conteneur personnalisé dont vous êtes propriétaire.
-
Si vous avez activé l'isolation réseau pour un modèle de conteneur qui l'empêche d'effectuer des appels réseau sortants, vous ne pouvez pas démarrer de session SSM pour ce conteneur.
-
Vous ne pouvez accéder qu'à un conteneur à partir d'une seule session SSM. Pour accéder à un autre conteneur, même s'il se trouve derrière le même point de terminaison, démarrez une nouvelle session SSM avec l'ID cible de ce point de terminaison.