Gewähren von Berechtigungen zur Verwendung großer Datenmengen während des gesamten ML-Lebenszyklus für Benutzer
Benutzer von Amazon SageMaker Canvas, die mit Datensätzen arbeiten, die größer als 10 GB im CSV-Format oder 2,5 GB im Parquet-Format sind, benötigen spezielle Berechtigungen für die Verarbeitung großer Datenmengen. Diese Berechtigungen sind für die Verwaltung umfangreicher Daten während des gesamten Machine-Learning-Lebenszyklus unerlässlich. Wenn Datensätze die angegebenen Schwellenwerte oder die lokale Speicherkapazität der Anwendung überschreiten, nutzt SageMaker Canvas Amazon EMR Serverless für eine effiziente Verarbeitung. Dies gilt in folgenden Fällen:
-
Datenimport: Importieren Sie umfangreiche Datensätze mit zufälliger oder geschichteter Stichprobenauswahl.
-
Datenaufbereitung: Exportieren Sie verarbeitete Daten aus Data Wrangler in Canvas nach Amazon S3, in einen neuen Canvas-Datensatz oder in ein Canvas-Modell.
-
Modellbildung: Training von Modellen anhand umfangreicher Datensätze.
-
Inferenz: Vorhersagen auf der Grundlage umfangreicher Datensätze treffen.
Standardmäßig verwendet SageMaker Canvas EMR Serverless, um diese Remote-Aufträge mit den folgenden App-Einstellungen auszuführen:
-
Vorinitialisierte Kapazität: nicht konfiguriert
-
Anwendungsbeschränkungen: Maximale Kapazität von 400 vCPUs, maximal 16 vCPUs gleichzeitig pro Konto, 3 000 GB Arbeitsspeicher, 20 000 GB Festplattenspeicher.
-
Metastore-Konfiguration: AWS Glue Data Catalog
-
Anwendungsprotokolle: verwalteter AWS-Speicher (aktiviert) unter Verwendung eines eigenen AWS-Verschlüsselungsschlüssels
-
Verhalten der Anwendung: Startet automatisch bei der Übermittlung eines Auftrags und beendet sich automatisch, nachdem die Anwendung 15 Minuten lang inaktiv war.
Um diese umfangreichen Datenverarbeitungsfunktionen zu aktivieren, benötigen Benutzer die erforderlichen Berechtigungen, die über die Domaineinstellungen von Amazon SageMaker AI erteilt werden können. Die Methode zur Erteilung dieser Berechtigungen hängt davon ab, wie Ihre Domain von Amazon SageMaker AI ursprünglich eingerichtet wurde. Wir behandeln drei Hauptszenarien:
-
Schnelle Domaineinrichtung
-
Benutzerdefinierte Domaineinrichtung (mit öffentlichem Internetzugang/ohne VPC)
-
Benutzerdefinierte Domaineinrichtung (mit VPC und ohne öffentlichem Internetzugang)
Jedes Szenario erfordert spezifische Schritte, um sicherzustellen, dass Benutzer über die erforderlichen Berechtigungen verfügen, um EMR Serverless für die Verarbeitung großer Datenmengen über den gesamten Machine-Learning-Lebenszyklus in SageMaker Canvas hinweg zu nutzen.
Szenario 1: Schnelle Domaineinrichtung
Wenn Sie bei der Erstellung Ihrer SageMaker-AI-Domain die Option Quick Setup verwendet haben, gehen Sie wie folgt vor:
-
Navigieren Sie zu den Domaineinstellungen von Amazon SageMaker AI:
-
Öffnen Sie die Konsole von Amazon SageMaker AI unter https://console.aws.amazon.com/sagemaker/
. -
Wählen Sie im linken Navigationsbereich die Option Domains aus.
-
Wählen Sie Ihre Domain aus.
-
Wechseln Sie zur Registerkarte App-Konfiguration.
-
Scrollen Sie zum Bereich Canvas und wählen Sie Bearbeiten aus.
-
-
Aktivieren Sie die Verarbeitung großer Datenmengen:
-
Aktivieren Sie im Abschnitt Konfiguration für die Verarbeitung großer Datenmengen die Option EMR Serverless für die Verarbeitung großer Datenmengen aktivieren.
-
Erstellen Sie eine EMR-Serverless-Rolle oder wählen Sie sie aus:
-
Wählen Sie Eine neue Ausführungsrolle erstellen und verwenden, um eine neue IAM-Rolle zu erstellen, die eine Vertrauensbeziehung zu EMR Serverless und der zugehörigen verwaltete AWS-Richtlinie: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy-Richtlinie aufweist. Diese IAM-Rolle wird von Canvas übernommen, um EMR-Serverless-Aufträge zu erstellen.
-
Wenn Sie bereits über eine Ausführungsrolle mit einer Vertrauensstellung für EMR Serverless verfügen, wählen Sie Bestehende Ausführungsrolle verwenden und wählen Sie Ihre Rolle aus der Dropdown-Liste aus.
-
Die bestehende Rolle muss einen Namen haben, der mit dem Präfix
AmazonSageMakerCanvasEMRSExecutionAccess-beginnt. -
Die von Ihnen ausgewählte Rolle sollte außerdem mindestens über die in der verwaltete AWS-Richtlinie: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy-Richtlinie beschriebenen Berechtigungen verfügen.
-
Die Rolle sollte über eine EMR–Serverless-Vertrauensrichtlinie verfügen, wie unten dargestellt:
-
-
-
-
(Optional) Fügen Sie Amazon S3-Berechtigungen für benutzerdefinierte Amazon-S3-Buckets hinzu:
-
Die von Canvas verwaltete Richtlinie gewährt automatisch Lese- und Schreibberechtigungen für Amazon-S3-Buckets, die
sagemakeroderSageMaker AIin ihrem Namen enthalten. Es gewährt auch Leserechte für Objekte in benutzerdefinierten Amazon S3-Buckets mit dem Tag"SageMaker": "true". -
Für benutzerdefinierte Amazon-S3-Buckets ohne das erforderliche Tag fügen Sie bitte die folgende Richtlinie zu Ihrer EMR-Serverless-Rolle hinzu:
-
-
Wir empfehlen Ihnen, die Berechtigungen auf bestimmte Amazon-S3-Buckets zu beschränken, auf die Canvas zugreifen soll.
-
-
Speichern Sie Ihre Änderungen und starten Sie Ihre SageMaker-Canvas-Anwendung neu.
Szenario 2: benutzerdefinierte Domaineinrichtung (mit öffentlichem Internetzugang/ohne VPC)
Wenn Sie eine benutzerdefinierte Domain erstellt haben oder verwenden, befolgen Sie bitte die Schritte 1 bis 3 aus Szenario 1 und führen Sie anschließend die folgenden zusätzlichen Schritte aus:
-
Fügen Sie Ihrer Ausführungsrolle von Amazon SageMaker AI Berechtigungen für den
DescribeImages-Vorgang Amazon ECR hinzu, da Canvas öffentliche Docker-Images von Amazon ECR für die Datenaufbereitung und das Modelltraining verwendet:-
Melden Sie sich bei der AWS-Konsole an und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.
-
Wählen Sie Roles.
-
Suchen Sie im Suchfeld nach Ihrer SageMaker-AI-Ausführungsrolle anhand des Namens und wählen Sie diese aus.
-
Fügen Sie die folgende Richtlinie zu Ihrer SageMaker-AI-Ausführungsrolle hinzu. Dies kann entweder durch Hinzufügen als neue Inline-Richtlinie oder durch Anhängen der Richtlinienerklärung an eine bestehende Richtlinie erfolgen. Beachten Sie, dass einer IAM-Rolle maximal 10 Richtlinien zugeordnet werden können.
-
-
Speichern Sie Ihre Änderungen und starten Sie Ihre SageMaker-Canvas-Anwendung neu.
Szenario 3: benutzerdefinierte Domaineinrichtung (mit VPC und ohne öffentlichen Internetzugang)
Wenn Sie eine benutzerdefinierte Domain erstellt haben oder verwenden, befolgen Sie bitte alle Schritte aus Szenario 2 und anschließend die folgenden zusätzlichen Schritte:
-
Stellen Sie sicher, dass Ihre VPC-Subnetze privat sind:
-
Überprüfen Sie, ob die Routingtabelle für Ihre Subnetze keinen Eintrag
0.0.0.0/0enthält, der einem Internet-Gateway zugeordnet ist.
-
-
Fügen Sie Berechtigungen zum Erstellen von Netzwerkschnittstellen hinzu:
-
Bei der Verwendung von SageMaker Canvas mit EMR Serverless für die Verarbeitung großer Datenmengen erfordert EMR Serverless die Möglichkeit, Amazon-EC2-ENIs zu erstellen, um die Netzwerkkommunikation zwischen EMR-Serverless-Anwendungen und Ihren VPC-Ressourcen zu ermöglichen.
-
Fügen Sie die folgende Richtlinie zu Ihrer Ausführungsrolle von Amazon SageMaker AI hinzu. Dies kann entweder durch Hinzufügen als neue Inline-Richtlinie oder durch Anhängen der Richtlinienerklärung an eine bestehende Richtlinie erfolgen. Beachten Sie, dass einer IAM-Rolle maximal 10 Richtlinien zugeordnet werden können.
-
-
(Optional) Beschränken Sie die ENI-Erstellung auf bestimmte Subnetze:
-
Um Ihre Konfiguration weiter zu sichern, indem Sie die Erstellung von ENIs auf bestimmte Subnetze innerhalb Ihrer VPC beschränken, können Sie jedes Subnetz mit bestimmten Bedingungen versehen.
-
Verwenden Sie die folgende IAM-Richtlinie, um sicherzustellen, dass EMR-Serverless-Anwendungen nur Amazon EC2 ENIs innerhalb der zulässigen Subnetze und Sicherheitsgruppen erstellen können:
{ "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/KEY": "VALUE" } } }
-
-
Bitte befolgen Sie die Schritte auf der Seite Amazon SageMaker Canvas in einer VPC ohne Internetzugang konfigurieren, um den VPC-Endpunkt für Amazon S3 festzulegen, der von EMR Serverless und anderen von SageMaker Canvas verwendeten AWS-Services benötigt wird.
-
Speichern Sie Ihre Änderungen und starten Sie Ihre SageMaker-Canvas-Anwendung neu.
Durch Befolgen dieser Schritte können Sie die Verarbeitung großer Datenmengen in SageMaker Canvas für verschiedene Domainkonfigurationen aktivieren, einschließlich solcher mit benutzerdefinierten VPC-Konfigurationen. Bitte beachten Sie, dass Sie Ihre SageMaker-Canvas-Anwendung nach diesen Änderungen neu starten müssen, damit die neuen Berechtigungen wirksam werden.