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.
EMR CloudFormationAmazon-Vorlagen im Service Catalog konfigurieren
Bei diesem Thema wird davon ausgegangen AWS CloudFormation, dass Administratoren sowohl mit den Portfolios und Produkten von Amazon als auch mit Amazon vertraut sindEMR. AWS Service Catalog
Um die Erstellung von EMR Amazon-Clustern in Studio zu vereinfachen, können Administratoren eine EMR CloudFormation Amazon-Vorlage als Produkt in einem AWS Service CatalogPortfolio registrieren. Um die Vorlage Datenwissenschaftlern zur Verfügung zu stellen, müssen sie das Portfolio der in Studio oder Studio Classic verwendeten SageMaker Ausführungsrolle zuordnen. Schließlich müssen Administratoren die entsprechenden Zugriffsberechtigungen einrichten, damit Benutzer Vorlagen finden, EMR Cluster bereitstellen und von Studio Classic aus eine Verbindung zu Amazon-Clustern herstellen können.
Mit den EMR AWS CloudFormation Amazon-Vorlagen können Endbenutzer verschiedene Cluster-Aspekte anpassen. Administratoren können beispielsweise eine Liste mit genehmigten Instance-Typen definieren, aus denen Benutzer bei der Erstellung eines Clusters auswählen können.
In den folgenden Anweisungen werden end-to-end CloudFormation Stacks
Anmerkung
Das GitHub Repository aws-samples/ sagemaker-studio-emr
Das Repository sagemaker-studio-emr/cloudformation/emr_servicecatalog_templates enthält verschiedene EMR CloudFormation Amazon-Startvorlagen
Stellen Sie von SageMaker Studio oder Studio Classic aus eine Connect zu einem EMR Amazon-Cluster herEinzelheiten zu den Authentifizierungsmethoden, mit denen Sie eine Verbindung zu einem EMR Amazon-Cluster herstellen können, finden Sie unter.
Gehen Sie wie folgt vor, damit Datenwissenschaftler EMR CloudFormation Amazon-Vorlagen entdecken und Cluster aus Studio oder Studio Classic bereitstellen können.
Schritt 0: Überprüfen Sie Ihr Netzwerk und bereiten Sie Ihren CloudFormation Stack vor
Bevor Sie beginnen:
-
Stellen Sie sicher, dass Sie die Netzwerk- und Sicherheitsanforderungen in gelesen habenNetzwerkzugriff für Ihren EMR Amazon-Cluster konfigurieren.
-
Sie müssen über einen vorhandenen end-to-end CloudFormation Stack verfügen, der die Authentifizierungsmethode Ihrer Wahl unterstützt. Beispiele für solche CloudFormation Vorlagen finden Sie im sagemaker-studio-emr GitHub aws-samples/
Repository. In den folgenden Schritten werden die spezifischen Konfigurationen in Ihrem end-to-end Stack hervorgehoben, um die Verwendung von EMR Amazon-Vorlagen in Studio oder Studio Classic zu ermöglichen.
Schritt 1: Verknüpfen Sie Ihr Service Catalog-Portfolio mit SageMaker
Ordnen Sie in Ihrem Servicekatalog-Portfolio Ihre Portfolio-ID der SageMaker Ausführungsrolle zu, die auf Ihren Cluster zugreift.
Fügen Sie dazu den folgenden Abschnitt (hier im YAML Format) zu Ihrem Stack hinzu. Dadurch erhält die SageMaker Ausführungsrolle Zugriff auf das angegebene Service Catalog-Portfolio, das Produkte wie EMR Amazon-Vorlagen enthält. Es ermöglicht Rollen, die von übernommen wurden SageMaker , um diese Produkte auf den Markt zu bringen.
Ersetzen SageMakerExecutionRole.Arn
and SageMakerStudioEMRProductPortfolio.ID
mit ihren tatsächlichen Werten.
SageMakerStudioEMRProductPortfolioPrincipalAssociation: Type: AWS::ServiceCatalog::PortfolioPrincipalAssociation Properties: PrincipalARN:
SageMakerExecutionRole.Arn
PortfolioId:SageMakerStudioEMRProductPortfolio.ID
PrincipalType: IAM
Einzelheiten zu den erforderlichen IAM Berechtigungen finden Sie im Abschnitt Berechtigungen.
Schritt 2: Verweisen Sie in einem Service Catalog-Produkt auf eine EMR Amazon-Vorlage
Verweisen Sie in einem Service Catalog-Produkt Ihres Portfolios auf eine EMR Amazon-Vorlagenressource und stellen Sie sicher, dass sie in Studio oder Studio Classic sichtbar ist.
Verweisen Sie dazu in der Service Catalog-Produktdefinition auf die EMR Amazon-Vorlagenressource und fügen Sie dann dem Wert den folgenden "sagemaker:studio-visibility:emr"
Tag-Schlüsselsatz hinzu "true"
(siehe das Beispiel im YAML Format).
In der Service Catalog-Produktdefinition wird über auf die AWS CloudFormation Vorlage des Clusters verwiesenURL. Das zusätzliche Tag, das auf true gesetzt ist, gewährleistet die Sichtbarkeit der EMR Amazon-Vorlagen in Studio oder Studio Classic.
Anmerkung
Die EMR Amazon-Vorlage, auf die URL im Beispiel verwiesen wird, erzwingt beim Start keine Authentifizierungsanforderungen. Diese Option dient Demonstrations- und Lernzwecken. In einer Produktionsumgebung wird sie nicht empfohlen.
SMStudioEMRNoAuthProduct: Type: AWS::ServiceCatalog::CloudFormationProduct Properties: Owner: AWS Name: SageMaker Studio Domain No Auth EMR ProvisioningArtifactParameters: - Name: SageMaker Studio Domain No Auth EMR Description: Provisions a SageMaker domain and No Auth EMR Cluster Info: LoadTemplateFromURL:
Link to your CloudFormation template. For example, https://aws-blogs-artifacts-public.s3.amazonaws.com/artifacts/astra-m4-sagemaker/end-to-end/CFN-EMR-NoStudioNoAuthTemplate-v3.yaml
Tags: - Key: "sagemaker:studio-visibility:emr" Value: "true"
Schritt 3: Die Amazon-Vorlage parametrisieren EMR CloudFormation
Die CloudFormation Vorlage, die zur Definition des EMR Amazon-Clusters innerhalb des Service Catalog-Produkts verwendet wird, ermöglicht es Administratoren, konfigurierbare Parameter anzugeben. Administratoren können Default
Werte und AllowedValues
Bereiche für diese Parameter im Parameters
Abschnitt der Vorlage definieren. Während des Cluster-Startvorgangs können Datenwissenschaftler benutzerdefinierte Eingaben bereitstellen oder aus diesen vordefinierten Optionen eine Auswahl treffen, um bestimmte Aspekte ihres EMR Amazon-Clusters anzupassen.
Das folgende Beispiel zeigt zusätzliche Eingabeparameter, die Administratoren bei der Erstellung einer EMR Amazon-Vorlage festlegen können.
"Parameters": { "EmrClusterName": { "Type": "String", "Description": "EMR cluster Name." }, "MasterInstanceType": { "Type": "String", "Description": "Instance type of the EMR master node.", "Default": "m5.xlarge", "AllowedValues": [ "m5.xlarge", "m5.2xlarge", "m5.4xlarge" ] }, "CoreInstanceType": { "Type": "String", "Description": "Instance type of the EMR core nodes.", "Default": "m5.xlarge", "AllowedValues": [ "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge" ] }, "CoreInstanceCount": { "Type": "String", "Description": "Number of core instances in the EMR cluster.", "Default": "2", "AllowedValues": [ "2", "5", "10" ] }, "EmrReleaseVersion": { "Type": "String", "Description": "The release version of EMR to launch.", "Default": "emr-5.33.1", "AllowedValues": [ "emr-5.33.1", "emr-6.4.0" ] } }
Nachdem Administratoren die EMR CloudFormation Amazon-Vorlagen in Studio verfügbar gemacht haben, können Datenwissenschaftler sie verwenden, um EMR Amazon-Cluster selbst bereitzustellen. Der in der Vorlage definierte Parameters
Abschnitt wird in Eingabefelder im Formular zur Cluster-Erstellung in Studio oder Studio Classic übersetzt. Für jeden Parameter können Datenwissenschaftler entweder einen benutzerdefinierten Wert in das Eingabefeld eingeben oder aus den in einem Dropdownmenü aufgeführten vordefinierten Optionen auswählen, die den in der Vorlage AllowedValues
angegebenen entsprechen.
Die folgende Abbildung zeigt das dynamische Formular, das aus einer CloudFormation EMR Amazon-Vorlage zusammengestellt wurde, um einen EMR Amazon-Cluster in Studio oder Studio Classic zu erstellen.
Besuchen SieStarten Sie einen EMR Amazon-Cluster von Studio oder Studio Classic aus, um zu erfahren, wie Sie mithilfe dieser EMR Amazon-Vorlagen einen Cluster von Studio oder Studio Classic aus starten können.
Schritt 4: Richten Sie die Berechtigungen ein, um das Auflisten und Starten von EMR Amazon-Clustern von Studio aus zu ermöglichen
Fügen Sie abschließend die erforderlichen IAM Berechtigungen hinzu, um die Auflistung vorhandener laufender EMR Amazon-Cluster und die Selbstbereitstellung neuer Cluster aus Studio oder Studio Classic zu ermöglichen.
Die Rollen, denen Sie diese Berechtigungen hinzufügen müssen, hängen davon ab, ob Studio oder Studio Classic und Amazon im selben Konto (wählen Sie Einzelkonto) oder in unterschiedlichen Konten (wählen Sie Kontoübergreifend) bereitgestellt EMR werden.
Wichtig
Sie können nur EMR Amazon-Cluster für und Studio Classic-Anwendungen erkennen JupyterLab und eine Verbindung zu diesen herstellen, die von privaten Bereichen aus gestartet werden. Stellen Sie sicher, dass sich die EMR Amazon-Cluster in derselben AWS Region wie Ihre Studio-Umgebung befinden.
Wenn Ihre EMR Amazon-Cluster und Studio oder Studio Classic im selben AWS Konto bereitgestellt werden, weisen Sie der SageMaker Ausführungsrolle, die auf Ihren Cluster zugreift, die folgenden Berechtigungen zu.
-
Schritt 1: Rufen Sie die ARN SageMaker Ausführungsrolle ab, die von Ihrem privaten Bereich verwendet wird.
Informationen zu Spaces und Ausführungsrollen in SageMaker finden Sie unterGrundlegendes zu Domänenbereichsberechtigungen und Ausführungsrollen.
Weitere Hinweise zum Abrufen der Ausführungsrolle ARN SageMaker von finden Sie unterHolen Sie sich Ihre Ausführungsrolle.
-
Schritt 2: Ordnen Sie der SageMaker Ausführungsrolle, die auf Ihre EMR Amazon-Cluster zugreift, die folgenden Berechtigungen zu.
-
Navigieren Sie zur IAM-Konsole
. -
Wählen Sie Rollen und suchen Sie dann anhand des Namens im Suchfeld nach Ihrer Ausführungsrolle. Der Rollenname ist der letzte Teil vonARN, nach dem letzten Schrägstrich (/).
-
Folgen Sie dem Link zu Ihrer Rolle.
-
Wählen Sie Berechtigungen hinzufügen und dann Inline-Richtlinie erstellen aus.
-
Fügen Sie auf der JSONRegisterkarte die EMR Amazon-Berechtigungen hinzu, die den EMR Zugriff und den Betrieb von Amazon ermöglichen. Einzelheiten zum Richtliniendokument finden Sie unter EMRAmazon-Richtlinien auflisten unterReferenzrichtlinien. Ersetzen Sie die und
accountID
durch ihre tatsächlichen Werteregion
, bevor Sie die Liste der Aussagen in die Inline-Richtlinie Ihrer Rolle kopieren. -
Wählen Sie Weiter und geben Sie dann einen Richtliniennamen ein.
-
Wählen Sie Create Policy (Richtlinie erstellen) aus.
-
Wiederholen Sie den Schritt Inline-Richtlinie erstellen, um eine weitere Richtlinie hinzuzufügen, die der Ausführungsrolle die Berechtigungen zur Bereitstellung neuer EMR Amazon-Cluster mithilfe von AWS CloudFormation Vorlagen erteilt. Einzelheiten zum Richtliniendokument finden Sie unter EMRclustersAmazon-Richtlinien erstellen unterReferenzrichtlinien. Ersetzen Sie die
region
Zeichen undaccountID
durch ihre tatsächlichen Werte, bevor Sie die Liste der Aussagen in die Inline-Richtlinie Ihrer Rolle kopieren.
-
Anmerkung
Benutzer von Verbindungen mit rollenbasierter Zugriffskontrolle (RBAC) zu EMR Amazon-Clustern sollten sich auch auf Folgendes beziehen: Konfigurieren Sie die Runtime-Rollenauthentifizierung, wenn sich Ihr EMR Amazon-Cluster und Studio im selben Konto befinden
Bevor Sie beginnen, rufen Sie die SageMaker Ausführungsrolle ab, die ARN von Ihrem privaten Bereich verwendet wird.
Informationen zu Spaces und Ausführungsrollen in SageMaker finden Sie unterGrundlegendes zu Domänenbereichsberechtigungen und Ausführungsrollen.
Weitere Hinweise zum Abrufen der Ausführungsrolle ARN SageMaker von finden Sie unterHolen Sie sich Ihre Ausführungsrolle.
Wenn Ihre EMR Amazon-Cluster und Studio oder Studio Classic in separaten AWS Konten bereitgestellt werden, konfigurieren Sie die Berechtigungen für beide Konten.
Anmerkung
Benutzer von Verbindungen mit rollenbasierter Zugriffskontrolle (RBAC) zu EMR Amazon-Clustern sollten sich auch auf Folgendes beziehen: Konfigurieren Sie die Laufzeit-Rollenauthentifizierung, wenn sich Ihr Cluster und Studio in verschiedenen Konten befinden
Auf dem EMR Amazon-Cluster-Konto
Gehen Sie wie folgt vor, um die erforderlichen Rollen und Richtlinien für das Konto zu erstellen, auf dem Amazon bereitgestellt EMR wird, das auch als vertrauenswürdiges Konto bezeichnet wird:
-
Schritt 1: Rufen Sie ARN die Servicerolle Ihres EMR Amazon-Clusters ab.
Informationen darüber, wie Sie die ARN Servicerolle eines Clusters ermitteln, finden Sie unter Konfigurieren von IAM Servicerollen für EMR Amazon-Berechtigungen für AWS Dienste und Ressourcen.
-
Schritt 2: Erstellen Sie eine benutzerdefinierte IAM Rolle
AssumableRole
mit dem Namen der folgenden Konfiguration:-
Berechtigungen: Erteilen Sie die erforderlichen Berechtigungen,
AssumableRole
um den Zugriff auf EMR Amazon-Ressourcen zu ermöglichen. Diese Rolle wird in Szenarien mit kontenübergreifendem Zugriff auch als Access-Rolle bezeichnet. -
Vertrauensverhältnis: Konfigurieren Sie die Vertrauensrichtlinie so
AssumableRole
, dass die Ausführungsrolle (dieSageMakerExecutionRole
im kontoübergreifenden Diagramm) von dem Studio-Konto aus übernommen werden kann, für das Zugriff erforderlich ist.
Durch die Übernahme der Rolle können Studio oder Studio Classic temporären Zugriff auf die Berechtigungen erhalten, die sie in Amazon benötigenEMR.
Gehen Sie wie folgt vor, um eine detaillierte Anleitung zum Erstellen eines neuen
AssumableRole
in Ihrem EMR AWS Amazon-Konto zu erhalten:-
Navigieren Sie zur IAM-Konsole
. -
Wählen Sie im linken Navigationsbereich Richtlinie und dann Richtlinie erstellen aus.
-
Fügen Sie auf der JSONRegisterkarte die EMR Amazon-Berechtigungen hinzu, die den EMR Zugriff und den Betrieb von Amazon ermöglichen. Einzelheiten zum Richtliniendokument finden Sie unter EMRAmazon-Richtlinien auflisten unterReferenzrichtlinien. Ersetzen Sie die und
accountID
durch ihre tatsächlichen Werteregion
, bevor Sie die Liste der Aussagen in die Inline-Richtlinie Ihrer Rolle kopieren. -
Wählen Sie Weiter und geben Sie dann einen Richtliniennamen ein.
-
Wählen Sie Create Policy (Richtlinie erstellen) aus.
-
Wählen Sie im linken Navigationsbereich Rollen und dann Rolle erstellen aus.
-
Wählen Sie auf der Seite Rolle erstellen die Option Benutzerdefinierte Vertrauensrichtlinie als vertrauenswürdige Entität aus.
-
Fügen Sie das folgende JSON Dokument in den Abschnitt Benutzerdefinierte Vertrauensrichtlinie ein und wählen Sie dann Weiter.
-
Fügen Sie auf der Seite „Berechtigungen hinzufügen“ die soeben erstellte Berechtigung hinzu und wählen Sie dann Weiter aus.
-
Geben Sie auf der Seite „Überprüfen“ einen Namen für die Rolle ein, z. B.
AssumableRole
und eine optionale Beschreibung. -
Prüfen Sie die Rollendetails und wählen Sie Create Role (Rolle erstellen).
Weitere Informationen zum Erstellen einer Rolle für ein AWS Konto finden Sie unter IAMRolle erstellen (Konsole).
-
Auf dem Studio-Konto
Aktualisieren Sie auf dem Konto, auf dem Studio bereitgestellt wird, das auch als vertrauenswürdiges Konto bezeichnet wird, die SageMaker Ausführungsrolle, die auf Ihre Cluster zugreift, mit den erforderlichen Berechtigungen für den Zugriff auf Ressourcen im vertrauenswürdigen Konto.
-
Schritt 1: Rufen Sie die SageMaker Ausführungsrolle ab, die ARN von Ihrem privaten Bereich verwendet wird.
Informationen zu Spaces und Ausführungsrollen in SageMaker finden Sie unterGrundlegendes zu Domänenbereichsberechtigungen und Ausführungsrollen.
Weitere Hinweise zum Abrufen der Ausführungsrolle ARN SageMaker von finden Sie unterHolen Sie sich Ihre Ausführungsrolle.
-
Schritt 2: Ordnen Sie der SageMaker Ausführungsrolle, die auf Ihre EMR Amazon-Cluster zugreift, die folgenden Berechtigungen zu.
-
Navigieren Sie zur IAM-Konsole
. -
Wählen Sie Rollen und suchen Sie dann anhand des Namens im Suchfeld nach Ihrer Ausführungsrolle. Der Rollenname ist der letzte Teil vonARN, nach dem letzten Schrägstrich (/).
-
Folgen Sie dem Link zu Ihrer Rolle.
-
Wählen Sie Berechtigungen hinzufügen und dann Inline-Richtlinie erstellen aus.
-
Fügen Sie auf der JSONRegisterkarte die Inline-Richtlinie hinzu, die der Rolle Berechtigungen zum Aktualisieren der Domänen, Benutzerprofile und Bereiche gewährt. Einzelheiten zum Richtliniendokument finden Sie unter Richtlinie für Aktionen zur Aktualisierung von Domänen, Benutzerprofilen und Bereichen unterReferenzrichtlinien. Ersetzen Sie die
region
undaccountID
durch ihre tatsächlichen Werte, bevor Sie die Liste der Anweisungen in die Inline-Richtlinie Ihrer Rolle kopieren. -
Wählen Sie Weiter und geben Sie dann einen Richtliniennamen ein.
-
Wählen Sie Create Policy (Richtlinie erstellen) aus.
-
Wiederholen Sie den Schritt Inline-Richtlinie erstellen, um eine weitere Richtlinie hinzuzufügen, die der Ausführungsrolle die Rechte erteilt, die Aktionen anzunehmen
AssumableRole
und dann auszuführen, die gemäß der Zugriffsrichtlinie der Rolle zulässig sind.emr-account
Ersetzen Sie es durch die EMR Amazon-Konto-ID undAssumableRole
durch den Namen der angenommenen Rolle, die im EMR Amazon-Konto erstellt wurde.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleAssumptionForCrossAccountDiscovery", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": ["arn:aws:iam::
emr-account
:role/AssumableRole
" ] }] } -
Wiederholen Sie den Schritt Inline-Richtlinie erstellen, um eine weitere Richtlinie hinzuzufügen, die der Ausführungsrolle die Berechtigungen zur Bereitstellung neuer EMR Amazon-Cluster mithilfe von AWS CloudFormation Vorlagen erteilt. Einzelheiten zum Richtliniendokument finden Sie unter EMRclustersAmazon-Richtlinien erstellen unterReferenzrichtlinien. Ersetzen Sie die
region
Zeichen undaccountID
durch ihre tatsächlichen Werte, bevor Sie die Liste der Aussagen in die Inline-Richtlinie Ihrer Rolle kopieren. -
(Optional) Um das Auflisten von EMR Amazon-Clustern zu ermöglichen, die in demselben Konto wie Studio bereitgestellt werden, fügen Sie Ihrer Studio-Ausführungsrolle eine zusätzliche Inline-Richtlinie hinzu, wie unter EMRAmazon-Richtlinien auflisten unter definiertReferenzrichtlinien.
-
-
Schritt 3: Ordnen Sie Ihre angenommene (n) Rolle (n) (Zugriffsrolle) Ihrer Domain oder Ihrem Benutzerprofil zu. JupyterLab Benutzer in Studio können die SageMaker Konsole oder das bereitgestellte Skript verwenden.
Wählen Sie die Registerkarte, die Ihrem Anwendungsfall entspricht.