Geben Sie SageMaker Verarbeitungsaufträgen Zugriff auf Ressourcen in Ihrer Amazon VPC - Amazon SageMaker

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.

Geben Sie SageMaker Verarbeitungsaufträgen Zugriff auf Ressourcen in Ihrer Amazon VPC

Um den Zugriff auf Ihre Daten und die Verarbeitung von Aufträgen zu kontrollieren, erstellen Sie eine Amazon-VPC mit privaten Subnetzen. Informationen zum Erstellen und Konfigurieren einer VPC finden Sie unter Erste Schritte mit Amazon VPC im Amazon VPC Benutzerhandbuch.

Sie können den gesamten Netzwerkverkehr in und aus Ihren Verarbeitungscontainern mit Hilfe von VPC-Flow-Protokollen überwachen. Weitere Informationen finden Sie unter VPC-Flow-Protokolle im Amazon-VPC-Benutzerhandbuch.

In diesem Dokument wird erklärt, wie Sie Amazon VPC-Konfigurationen für die Verarbeitung von Aufträgen hinzufügen.

Konfigurieren Sie einen Verarbeitungsauftrag für Amazon VPC-Zugriff

Sie konfigurieren den Verarbeitungsauftrag, indem Sie die Subnetze und Sicherheitsgruppen-IDs innerhalb der VPC angeben. Sie müssen das Subnetz für den Verarbeitungscontainer nicht angeben. Amazon SageMaker ruft den Verarbeitungscontainer automatisch aus Amazon ECR ab. Weitere Informationen zur Verarbeitung von Containern finden Sie unter Verwenden Sie Verarbeitungsjobs, um Datenumwandlungs-Workloads auszuführen.

Beim Erstellen eines Verarbeitungsauftrags können Sie Subnetze und Sicherheitsgruppen in Ihrer VPC entweder über die SageMaker Konsole oder die API angeben.

Um die API zu verwenden, geben Sie die Subnetze und Sicherheitsgruppen-IDs im NetworkConfig.VpcConfig Parameter des Vorgangs an. CreateProcessingJob SageMaker verwendet die Subnetz- und Sicherheitsgruppendetails, um die Netzwerkschnittstellen zu erstellen, und hängt sie an die Verarbeitungscontainer an. Die Netzwerkschnittstellen versorgen die Verarbeitungscontainer mit einer Netzwerkverbindung innerhalb Ihrer VPC. Dadurch kann der Verarbeitungsauftrag eine Verbindung zu Ressourcen herstellen, die in Ihrer VPC vorhanden sind.

Im Folgenden finden Sie ein Beispiel für den VpcConfig-Parameter, den Sie in Ihren Aufruf der CreateProcessingJob-Operation aufnehmen:

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

Konfigurieren einer privaten VPC für die SageMaker-Verarbeitung

Beachten Sie bei der Konfiguration der privaten VPC für Ihre SageMaker Verarbeitungsaufträge die folgenden Richtlinien. Informationen zum Einrichten einer VPC finden Sie unter Arbeiten mit VPCs und Subnetzen im Amazon VPC Benutzerhandbuch.

Stellen Sie sicher, dass die Subnetze genügend IP-Adressen haben

Ihre VPC-Subnetze sollten mindestens zwei private IP-Adressen für jede Instance in einem Verarbeitungsauftrag besitzen. Weitere Informationen finden Sie unter Dimensionierung von VPC und Subnetzen für IPv4 im Amazon VPC Benutzerhandbuch.

Erstellen eines Amazon S3 VPC-Endpunkts

Wenn Sie Ihre VPC so konfigurieren, dass die Verarbeitungscontainer keinen Zugang zum Internet haben, können sie sich nicht mit den Amazon-S3-Buckets verbinden, die Ihre Daten enthalten, es sei denn, Sie erstellen einen VPC-Endpunkt, der den Zugriff erlaubt. Durch das Erstellen eines VPC-Endpunkts gewähren Sie den Verarbeitungscontainern Zugriff auf die Buckets, in denen Sie Ihre Daten und speichern. Wir empfehlen, dass Sie auch eine benutzerdefinierte Richtlinie erstellen, die nur Anforderungen von Ihrer privaten VPC erlaubt, auf Ihre S3-Buckets zuzugreifen. Weitere Informationen finden Sie unter Endpunkte für Amazon S3.

So erstellen Sie einen S3-VPC-Endpunkt:
  1. Öffnen Sie die Amazon VPC-Konsole unter https://console.aws.amazon.com/vpc/.

  2. Wählen Sie im Navigationsbereich Endpoints (Endpunkte) und anschließend Create Endpoint (Endpunkt erstellen) aus.

  3. Wählen Sie unter Service Name (Servicename) die Option com.amazonaws.region.s3 aus, wobei es sich bei region um die Region handelt, in der sich Ihre VPC befindet.

  4. Wählen Sie unter VPC die VPC aus, die Sie für diesen Endpunkt verwenden möchten.

  5. Für Configure route tables wählen Sie die Routing-Tabellen, die von dem Endpunkt verwendet werden sollen. Der VPC-Service fügt automatisch jeder von Ihnen ausgewählten Routing-Tabelle eine Route hinzu, über die der S3-Datenverkehr an den neuen Endpunkt geleitet wird.

  6. Wählen Sie unter Policy (Richtlinie) die Option Full Access (Vollzugriff) aus. So gewähren Sie allen Benutzern und Services innerhalb der VPC Vollzugriff auf den S3-Service. Wählen Sie Custom (Benutzerdefiniert) aus, um den Zugriff weiter einzuschränken. Weitere Informationen finden Sie unter Verwenden einer benutzerdefinierten Endpunktrichtline zum Einschränken des Zugriffs auf S3.

Verwenden einer benutzerdefinierten Endpunktrichtline zum Einschränken des Zugriffs auf S3

Standardmäßig wird über die Endpunktrichtlinie allen Benutzern oder Services in Ihrer VPC Vollzugriff auf S3 gewährt. Um den Zugriff auf S3 einzuschränken, erstellen Sie eine benutzerdefinierte Endpunktrichtlinie. Weitere Informationen finden Sie unter Verwendung von Endpunktrichtlinien für Amazon S3. Sie können auch eine Bucket-Richtlinie verwenden, um den Zugriff auf Ihre S3-Buckets auf den Datenverkehr zu beschränken, der von Ihrer Amazon VPC kommt. Weitere Informationen finden Sie unter Verwendung von Amazon S3 Bucket-Richtlinien.

Einschränken der Paketinstallation auf den Verarbeitungscontainer

Mit der Standardrichtlinie für Endpunkte können Benutzer Pakete aus den Amazon Linux- und Amazon Linux-2-Repositorys auf dem Verarbeitungscontainer installieren. Wenn Sie nicht möchten, dass Benutzer Pakete von diesem Repository installieren, erstellen Sie eine benutzerdefinierte Endpunkt-Richtlinie, die ausdrücklich den Zugriff auf die Amazon Linux- und Amazon Linux-2-Repositorys verweigert. Nachfolgend finden Sie eine Beispielrichtlinie, die den Zugriff auf diese Repositorys verweigert:

{ "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/*" ] } ] }

Konfigurieren der Routing-Tabellen

Verwenden Sie Standard-DNS-Einstellungen für Ihre Endpunkt-Routentabelle, so dass Standard-URLs von Amazon S3 (z. B. http://s3-aws-region.amazonaws.com/MyBucket) aufgelöst werden. Wenn Sie keine Standard-DNS-Einstellungen verwenden, stellen Sie sicher, dass die URLs, die Sie verwenden, um die Speicherorte der Daten in Ihren Verarbeitungsaufträgen festzulegen, durch die Konfiguration der Endpunkt Routing-Tabellen aufgelöst werden. Informationen über VPC-Endpunkt-Routentabellen finden Sie unter Routing für Gateway-Endpunkte im Amazon VPC Benutzerhandbuch.

Konfigurieren der VPC-Sicherheitsgruppe

Bei der verteilten Verarbeitung müssen Sie die Kommunikation zwischen den verschiedenen Containern desselben Verarbeitungsauftrags zulassen. Konfigurieren Sie dazu eine Regel für Ihre Sicherheitsgruppe, mit der eingehende Verbindungen zwischen Mitgliedern derselben Sicherheitsgruppe zugelassen werden. Weitere Informationen finden Sie unter Sicherheitsgruppenregeln.

Herstellen einer Verbindung mit Ressourcen außerhalb Ihrer VPC

Wenn Sie Ihre Modelle mit Ressourcen außerhalb der VPC verbinden, in der sie ausgeführt werden, gehen Sie wie folgt vor:

  • Connect zu anderen AWS Services herstellen — Wenn Ihr Modell Zugriff auf einen AWS Service benötigt, der Amazon VPC-Schnittstellenendpunkte unterstützt, erstellen Sie einen Endpunkt, um eine Verbindung zu diesem Service herzustellen. Eine Liste der Services, die Schnittstellen-Endpunkte unterstützen, finden Sie AWS PrivateLink im Benutzerhandbuch unter AWS Services, die sich integrieren lassen. AWS PrivateLink Informationen zum Erstellen eines Schnittstellen-VPC-Endpunkts finden Sie unter Zugreifen auf einen AWS Dienst mithilfe eines Schnittstellen-VPC-Endpunkts im AWS PrivateLink Benutzerhandbuch.

  • Verbindung zu Ressourcen über das Internet – Wenn Ihre Modelle auf Instances in einer Amazon VPC ausgeführt werden, die kein Subnetz mit Internetzugang hat, haben die Modelle keinen Zugriff auf Ressourcen im Internet. Wenn Ihr Modell Zugriff auf einen AWS Dienst benötigt, der keine VPC-Schnittstellen-Endpunkte unterstützt, oder auf eine Ressource außerhalb von AWS, stellen Sie sicher, dass Sie Ihre Modelle in einem privaten Subnetz ausführen, das über ein öffentliches NAT-Gateway in einem öffentlichen Subnetz Zugriff auf das Internet hat. Nachdem Sie Ihre Modelle im privaten Subnetz ausgeführt haben, konfigurieren Sie Ihre Sicherheitsgruppen und Network Access Control Lists (NACLs) so, dass ausgehende Verbindungen vom privaten Subnetz zum öffentlichen NAT-Gateway im öffentlichen Subnetz zugelassen werden. Weitere Informationen finden Sie unter NAT-Gateways im Amazon VPC Benutzerhandbuch.

Überwachen Sie SageMaker Amazon-Verarbeitungsaufträge mit CloudWatch Protokollen und Metriken

Amazon SageMaker stellt CloudWatch Amazon-Protokolle und -Metriken zur Überwachung von Trainingsaufträgen zur Verfügung. CloudWatch bietet Metriken zu CPU, GPU, Arbeitsspeicher, GPU-Speicher und Festplatte sowie Ereignisprotokollierung. Weitere Informationen zur Überwachung von SageMaker Amazon-Verarbeitungsaufträgen finden Sie unter Überwachen Sie Amazon SageMaker mit Amazon CloudWatch undSageMaker Jobs und Endpunkt-Metriken.