Geben Sie SageMaker Schulungsjobs 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 Schulungsjobs Zugriff auf Ressourcen in Ihrer Amazon VPC

Anmerkung

Für Trainingsaufträge können Sie nur Subnetze mit einer Standard-Tenancy-VPC konfigurieren, in der Ihre Instance auf gemeinsam genutzter Hardware ausgeführt wird. Weitere Informationen zum Tenancy-Attribut für VPCs finden Sie unter Dedicated Instances.

Konfigurieren Sie einen Trainingsauftrag für Amazon VPC-Zugang

Um den Zugriff auf Ihre Trainingsaufträge zu kontrollieren, führen Sie sie in einer Amazon-VPC mit privaten Subnetzen aus, die keinen Internetzugang haben.

Sie konfigurieren den Trainingsauftrag für die Ausführung in der VPC, indem Sie dessen Subnetze und Sicherheitsgruppen-IDs angeben. Sie müssen das Subnetz für den Container des Trainingsauftrags nicht angeben. Amazon SageMaker ruft das Trainingscontainer-Image automatisch aus Amazon ECR ab.

Wenn Sie einen Trainingsjob erstellen, können Sie die Subnetze und Sicherheitsgruppen in Ihrer VPC mithilfe der SageMaker Amazon-Konsole oder der API angeben.

Um die API zu verwenden, geben Sie die Subnetze und Sicherheitsgruppen-IDs im VpcConfig Parameter des Vorgangs an. CreateTrainingJob SageMaker verwendet die Subnetz- und Sicherheitsgruppendetails, um die Netzwerkschnittstellen zu erstellen, und fügt sie den Trainingscontainern hinzu. Die Netzwerkschnittstellen versorgen das Trainingscontainer mit einer Netzwerkverbindung innerhalb Ihrer VPC. Dadurch kann der Trainingsauftrag 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 CreateTrainingJob-Operation aufnehmen:

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

Konfigurieren Sie Ihre private VPC für Schulungen SageMaker

Beachten Sie bei der Konfiguration der privaten VPC für Ihre SageMaker Trainingsjobs 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

Trainings-Instances, die keinen Elastic Fabric Adapter (EFA) verwenden, sollten mindestens 2 private IP-Adressen haben. Trainings-Instances, die einen EFA verwenden, sollten mindestens 5 private IP-Adressen haben. Weitere Informationen finden Sie unter Mehrere IP-Adressen im Amazon EC2-Benutzerhandbuch.

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

Erstellen eines Amazon S3 VPC-Endpunkts

Wenn Sie Ihre VPC so konfigurieren, dass Trainingscontainer keinen Zugriff auf das Internet haben, können sie keine Verbindung zu den Amazon-S3-Buckets herstellen, die Ihre Trainingsdaten enthalten, es sei denn, Sie erstellen einen VPC-Endpunkt, der den Zugriff erlaubt. Durch das Erstellen eines VPC-Endpunkts, geben Sie den Trainingscontainern Zugriff auf die Buckets, in denen Sie Ihre Daten und Modellartefakte 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. Suchen Sie bei Service Name nach com.amazonaws.region.s3, wobei region der Name der Region ist, in der sich Ihr VPC befindet.

  4. Wählen Sie den Gateway-Typ.

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

  6. 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.

  7. 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 Trainingscontainer

Mit der Standardrichtlinie für Endpunkte können Benutzer Pakete aus den Amazon Linux- und Amazon Linux-2-Repositorys auf dem Trainingscontainer 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 Trainingsaufträ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

In verteilten Trainings müssen Sie die Kommunikation zwischen den verschiedenen Containern desselben Trainingsauftrags zulassen. Konfigurieren Sie dazu eine Regel für Ihre Sicherheitsgruppe, mit der eingehende Verbindungen zwischen Mitgliedern derselben Sicherheitsgruppe zugelassen werden. Stellen Sie bei EFA-fähigen Instances sicher, dass sowohl eingehende als auch ausgehende Verbindungen den gesamten Datenverkehr aus derselben Sicherheitsgruppe zulassen. Weitere Informationen finden Sie unter Sicherheitsgruppenregeln im Amazon Virtual Private Cloud Benutzerhandbuch.

Herstellen einer Verbindung mit Ressourcen außerhalb Ihrer VPC

Wenn Sie Ihre VPC so konfigurieren, dass sie keinen Internetzugriff hat, haben Trainingsaufträge, die diese VPC verwenden, keinen Zugriff auf Ressourcen außerhalb Ihrer VPC. Wenn der Trainingsauftrag Ressourcen außerhalb Ihrer VPC benötigt, stellen Sie mithilfe einer der folgenden Optionen den entsprechenden Zugriff her:

  • Wenn Ihr Schulungsjob Zugriff auf einen AWS Dienst benötigt, der VPC-Schnittstellen-Endpunkte unterstützt, erstellen Sie einen Endpunkt, um eine Verbindung zu diesem Dienst herzustellen. Eine Liste der Services, die Schnittstellenendpunkte unterstützen, finden Sie unter VPC-Endpunkte im Amazon Virtual Private Cloud Benutzerhandbuch. Informationen zum Erstellen eines Schnittstellen-VPC-Endpunkts finden Sie unter Interface VPC Endpoints (AWS PrivateLink) im Amazon Virtual Private Cloud Cloud-Benutzerhandbuch.

  • Wenn Ihr Ausbildungsjob Zugriff auf einen AWS Dienst benötigt, der keine VPC-Schnittstellen-Endpunkte unterstützt, oder auf eine Ressource außerhalb von AWS, erstellen Sie ein NAT-Gateway und konfigurieren Sie Ihre Sicherheitsgruppen so, dass ausgehende Verbindungen zugelassen werden. Weitere Informationen zum Einrichten eines NAT-Gateway für Ihre VPC finden Sie unter Szenario 2: VPC mit öffentlichen und privaten Subnetzen (NAT) im Amazon Virtual Private Cloud-Benutzerhandbuch.

Überwachen Sie Amazon SageMaker Training Jobs 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-Schulungsjobs finden Sie unter Überwachen Sie Amazon SageMaker mit Amazon CloudWatch undSageMaker Jobs und Endpunkt-Metriken.