Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Amazon SageMaker AI ti consente di connetterti in modo sicuro ai contenitori Docker su cui sono distribuiti i tuoi modelli per inferenza utilizzando AWS Systems Manager (SSM). Questo ti dà accesso a livello di shell al contenitore in modo da poter eseguire il debug dei processi in esecuzione all'interno del contenitore e registrare comandi e risposte con Amazon CloudWatch. Puoi anche configurare una AWS PrivateLink connessione alle istanze ML che ospitano i contenitori per accedere ai contenitori tramite SSM in modo privato.
avvertimento
L’abilitazione dell'accesso tramite SSM può influire sulle prestazioni dell'endpoint. Ti consigliamo di utilizzare questa funzionalità con gli endpoint di sviluppo o test e non con gli endpoint in produzione. Inoltre, l' SageMaker intelligenza artificiale applica automaticamente le patch di sicurezza e sostituisce o chiude le istanze endpoint difettose entro 10 minuti. Tuttavia, per gli endpoint con varianti di produzione abilitate per SSM, l' SageMaker IA ritarda di un giorno l'applicazione delle patch di sicurezza e la sostituzione o la chiusura delle istanze di endpoint difettose, per consentire all'utente di eseguire il debug.
Le seguenti sezioni descrivono in dettaglio come utilizzare questa funzionalità.
Allowlist
Devi contattare il supporto clienti e inserire il tuo account nella allowlist per utilizzare questa funzione. Non puoi creare un endpoint con l'accesso SSM abilitato, se il tuo account non è elencato per questo accesso.
Abilitazione dell'accesso tramite SSM
Per abilitare l'accesso SSM per un container esistente su un endpoint, aggiorna l'endpoint con una nuova configurazione dell'endpoint, con il parametro EnableSSMAccess
impostato su true
L'esempio seguente fornisce un esempio di configurazione dell'endpoint.
{
"EndpointConfigName": "endpoint-config-name"
,
"ProductionVariants": [
{
"InitialInstanceCount": 1,
"InitialVariantWeight": 1.0,
"InstanceType": "ml.t2.medium",
"ModelName": model-name
,
"VariantName": variant-name
,
"EnableSSMAccess": true,
},
]
}
Per ulteriori informazioni sull'abilitazione dell'accesso SSM, consulta Enable. SSMAccess
Configurazione IAM
Autorizzazioni IAM per endpoint
Se hai abilitato l'accesso SSM per un'istanza endpoint, SageMaker AI avvia e gestisce l'agente SSM quando avvia l'istanza dell'endpoint. Per consentire all'agente SSM di comunicare con i servizi SSM, aggiungi la seguente policy al ruolo di esecuzione in cui viene eseguito l'endpoint.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssmmessages:CreateControlChannel",
"ssmmessages:CreateDataChannel",
"ssmmessages:OpenControlChannel",
"ssmmessages:OpenDataChannel"
],
"Resource": "*"
}
]
}
Autorizzazioni IAM per l’utente
Aggiungi la seguente policy per concedere a un utente IAM le autorizzazioni di sessione SSM per connettersi a un target SSM.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:StartSession",
"ssm:TerminateSession"
],
"Resource": "*"
}
]
}
Puoi limitare gli endpoint a cui un utente IAM può connettersi, con la seguente policy. Sostituire italicized placeholder text
con le proprie informazioni.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:StartSession",
],
"Resource": [
"sagemaker-endpoint-arn
"
]
}
]
}
Accesso SSM con AWS PrivateLink
Se i tuoi endpoint funzionano all'interno di un cloud privato virtuale (VPC) che non è connesso alla rete Internet pubblica, puoi AWS PrivateLink utilizzarli per abilitare SSM. AWS PrivateLink limita tutto il traffico di rete tra le istanze degli endpoint, SSM e Amazon EC2 alla rete Amazon. Per ulteriori informazioni su come configurare l'accesso SSM con AWS PrivateLink, consulta Configurare un endpoint VPC per Gestore di sessioni.
Registrazione con Amazon CloudWatch Logs
Per gli endpoint abilitati all'accesso SSM, puoi registrare gli errori dall'agente SSM con Amazon Logs. CloudWatch Per ulteriori informazioni su come registrare gli errori con CloudWatch Logs, consulta Registrazione dell'attività della sessione. Il log è disponibile nel flusso di log SSM
, nel gruppo di log degli endpoint variant-name
/ec2-instance-id
/ssm/aws/sagemaker/endpoints/
. Per ulteriori informazioni su come visualizzare il registro, vedere Visualizzare i dati di registro inviati ai CloudWatch registri. endpoint-name
Le varianti di produzione alla base dell'endpoint possono avere più container modello. Il log per ogni container del modello viene registrato nel flusso di log. Ogni registro è preceduto da [sagemaker ssm
logs][container-name]
, dove container-name
è il nome che hai assegnato al container o il nome predefinito, ad esempio, container_0
e container_1
.
Accesso ai container del modello
Per accedere a un container modello sull'istanza di endpoint, è necessario il relativo ID di destinazione. L'ID di destinazione è in uno dei seguenti formati:
-
sagemaker-endpoint:
per container su endpoint di container singoliendpoint-name
_variant-name
_ec2-instance-id
-
sagemaker-endpoint:
per container su endpoint di container multipliendpoint-name
_variant-name
_ec2-instance-id
_container-name
L'esempio seguente mostra come utilizzare il AWS CLI per accedere a un contenitore modello utilizzando il relativo ID di destinazione.
aws ssm start-session --target sagemaker-endpoint:prod-image-classifier_variant1_i-003a121c1b21a90a9_container_1
Se abiliti la registrazione, come indicato inRegistrazione con Amazon CloudWatch Logs, puoi trovare la destinazione IDs per tutti i contenitori elencati all'inizio del flusso di log SSM.
Nota
-
Non è possibile connettersi a contenitori di algoritmi 1P o contenitori di modelli ottenuti dall' SageMaker IA MarketPlace con SSM. Tuttavia, puoi connetterti ai contenitori di deep learning (DLCs) forniti da AWS o a qualsiasi contenitore personalizzato di tua proprietà.
-
Se hai abilitato l'isolamento di rete per un container modello che gli impedisce di effettuare chiamate di rete in uscita, non puoi avviare una sessione SSM per quel container.
-
È possibile accedere a un solo container da una sessione SSM. Per accedere a un altro container, anche se si trova dietro lo stesso endpoint, avvia una nuova sessione SSM con l'ID di destinazione di quell'endpoint.