Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Greifen Sie über SSM auf Container zu
Mit Amazon SageMaker können Sie mithilfe von AWS Systems Manager (SSM) eine sichere Verbindung zu den Docker-Containern herstellen, auf denen Ihre Modelle für Inferenz bereitgestellt werden. Auf diese Weise erhalten Sie Zugriff auf den Container auf Shell-Ebene, sodass Sie die im Container ausgeführten Prozesse debuggen und Befehle und Antworten mit Amazon protokollieren können CloudWatch. Sie können auch eine - AWS PrivateLink Verbindung zu den ML-Instances einrichten, die Ihre Container hosten, um privat über SSM auf die Container zuzugreifen.
Warnung
Die Aktivierung des SSM-Zugriffs kann sich auf die Leistung Ihres Endpunkts auswirken. Wir empfehlen, diese Funktion mit Ihren Entwicklungs- oder Testendpunkten und nicht mit den Endpunkten in der Produktion zu verwenden. Außerdem wendet SageMaker automatisch Sicherheitspatches an und ersetzt oder beendet fehlerhafte Endpunkt-Instances innerhalb von 10 Minuten. Bei Endpunkten mit SSM-fähigen Produktionsvarianten SageMaker verzögert jedoch das Sicherheitspatchen und Ersetzen oder Beenden fehlerhafter Endpunkt-Instances um einen Tag, damit Sie debuggen können.
In den folgenden Abschnitten wird detailliert beschrieben, wie Sie diese Funktion verwenden können.
Liste der zugelassenen
Um diese Funktion nutzen zu können, müssen Sie sich an den Kundensupport wenden und Ihr Konto auf die Zulassungsliste setzen lassen. Sie können keinen Endpunkt mit aktiviertem SSM-Zugriff erstellen, wenn Ihr Konto für diesen Zugriff nicht zugelassen ist.
Aktivieren des SSM-Zugangs
Um den SSM-Zugriff für einen vorhandenen Container auf einem Endpunkt zu aktivieren, aktualisieren Sie den Endpunkt mit einer neuen Endpunktkonfiguration, wobei der EnableSSMAccess
Parameter auf true
gesetzt ist. Das folgende Beispiel bietet eine Beispiel-Endpunktkonfiguration.
{ "EndpointConfigName":
"endpoint-config-name"
, "ProductionVariants": [ { "InitialInstanceCount": 1, "InitialVariantWeight": 1.0, "InstanceType": "ml.t2.medium", "ModelName":model-name
, "VariantName":variant-name
, "EnableSSMAccess": true, }, ] }
Weitere Informationen zur Aktivierung des SSM-Zugangs finden Sie unter EnableSSMAccess.
IAM-Konfiguration
Endpunkt-IAM-Berechtigungen
Wenn Sie den SSM-Zugriff für eine Endpunkt-Instance aktiviert haben, SageMaker startet und verwaltet den SSM-Agenten, wenn er die Endpunkt-Instance initiiert. Damit der SSM-Agent mit den SSM-Diensten kommunizieren kann, fügen Sie der Ausführungsrolle, unter der der Endpunkt läuft, die folgende Richtlinie hinzu.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" } ] }
IAM-Benutzerberechtigungen
Fügen Sie die folgende Richtlinie hinzu, um einem IAM-Benutzer SSM-Sitzungsberechtigungen zum Herstellen einer Verbindung mit einem SSM-Ziel zu erteilen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] }
Mit der folgenden Richtlinie können Sie die Endpunkte einschränken, mit denen ein IAM-Benutzer eine Verbindung herstellen kann. Ersetzen Sie den kursiv gedruckten Platzhaltertext
durch Ihre eigenen Angaben.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", ], "Resource": [ "
sagemaker-endpoint-arn
" ] } ] }
SSM-Zugriff mit AWS PrivateLink
Wenn Ihre Endpunkte in einer Virtual Private Cloud (VPC) ausgeführt werden, die nicht mit dem öffentlichen Internet verbunden ist, können Sie verwenden, AWS PrivateLink um SSM zu aktivieren. schränkt den gesamten Netzwerkverkehr zwischen Ihren Endpunkt- AWS PrivateLink Instances, SSM und Amazon EC2 auf das Amazon-Netzwerk ein. Weitere Informationen zur Einrichtung des SSM-Zugriffs mit AWS PrivateLink finden Sie unter VPC-Endpunkt für Session Manager einrichten.
Protokollieren mit Amazon CloudWatch Logs
Für Endpunkte mit aktiviertem SSM-Zugriff können Sie Fehler vom SSM-Agenten mit Amazon CloudWatch Logs protokollieren. Weitere Informationen zum Protokollieren von Fehlern mit - CloudWatch Protokollen finden Sie unter Protokollieren von Sitzungsaktivitäten. Das Protokoll ist im SSM-Protokollstream,
, unter der Endpunkt-Protokollgruppe variant-name
/ec2-instance-id
/ssm/aws/sagemaker/endpoints/
verfügbar. Weitere Informationen zum Anzeigen des Protokolls finden Sie unter Anzeigen von Protokolldaten, die an - CloudWatch Protokolle gesendet wurden. endpoint-name
Produktionsvarianten hinter Ihrem Endpunkt können mehrere Modellcontainer haben. Das Protokoll für jeden Modellcontainer wird im Protokollstream aufgezeichnet. Jedem Protokoll wird ein [sagemaker ssm
logs][container-name]
vorangestellt, wobei container-name
entweder der Name ist, den Sie dem Container gegeben haben, oder der Standardname, z. B. container_0
und container_1
.
Zugreifen auf Modellcontainer
Um auf einen Modellcontainer auf Ihrer Endpunkt-Instance zuzugreifen, benötigen Sie dessen Ziel-ID. Die Ziel-ID weist eines der folgenden Formate auf:
-
sagemaker-endpoint:
für Container auf Einzelcontainer-Endpunktenendpoint-name
_variant-name
_ec2-instance-id
-
sagemaker-endpoint:
für Container auf Endpunkten mit mehreren Containernendpoint-name
_variant-name
_ec2-instance-id
_container-name
Das folgende Beispiel zeigt, wie Sie die verwenden können AWS CLI , um mit ihrer Ziel-ID auf einen Modellcontainer zuzugreifen.
aws ssm start-session --target sagemaker-endpoint:prod-image-classifier_variant1_i-003a121c1b21a90a9_container_1
Wenn Sie die Protokollierung aktivieren, wie unter Protokollieren mit Amazon CloudWatch Logs beschrieben, finden Sie die Ziel-IDs für alle Container, die am Anfang des SSM-Protokollstreams aufgeführt sind.
Anmerkung
-
Sie können keine Verbindung zu Containern des 1P-Algorithmus oder Containern von Modellen herstellen, die von SageMaker MarketPlace mit SSM bezogen wurden. Sie können jedoch eine Verbindung zu Deep-Learning-Containern (DLCs) herstellen, die von AWS bereitgestellt werden, oder zu einem beliebigen benutzerdefinierten Container, den Sie selbst besitzen.
-
Wenn Sie die Netzwerkisolierung für einen Modellcontainer aktiviert haben, die verhindert, dass er ausgehende Netzwerkaufrufe tätigt, können Sie keine SSM-Sitzung für diesen Container starten.
-
Sie können von einer SSM-Sitzung aus nur auf einen Container zugreifen. Um auf einen anderen Container zuzugreifen, auch wenn er sich hinter demselben Endpunkt befindet, starten Sie eine neue SSM-Sitzung mit der Ziel-ID dieses Endpunkts.