Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration des CloudFormation modèles Amazon EMR dans le Service Catalog
Cette rubrique part du principe que les administrateurs connaissent bien AWS CloudFormationles portefeuilles et les produits qu' AWS Service Catalog il contient, ainsi qu'Amazon EMR.
Pour simplifier la création de clusters Amazon EMR à partir de Studio, les administrateurs peuvent enregistrer un CloudFormation modèle Amazon EMR en tant que produit dans un portefeuille. AWS Service Catalog Pour mettre le modèle à la disposition des data scientists, ils doivent associer le portefeuille au rôle d'exécution de l' SageMaker IA utilisé dans Studio ou Studio Classic. Enfin, pour permettre aux utilisateurs de découvrir des modèles, de provisionner des clusters et de se connecter aux clusters Amazon EMR depuis Studio ou Studio Classic, les administrateurs doivent définir les autorisations d'accès appropriées.
Les AWS CloudFormation modèles Amazon EMR peuvent permettre aux utilisateurs finaux de personnaliser différents aspects du cluster. Par exemple, les administrateurs peuvent définir une liste approuvée de types d'instances parmi lesquels les utilisateurs peuvent choisir lors de la création d'un cluster.
Les instructions suivantes utilisent des end-to-end CloudFormation piles
Note
Le GitHub référentiel aws-samples/ sagemaker-studio-emr
Le référentiel sagemaker-studio-emr/cloudformation/emr_servicecatalog_templates
Reportez-vous à Connectez-vous à un cluster Amazon EMR depuis SageMaker Studio ou Studio Classic pour plus de détails sur les méthodes d'authentification que vous pouvez utiliser pour vous connecter à un cluster Amazon EMR.
Pour permettre aux data scientists de découvrir les CloudFormation modèles Amazon EMR et de provisionner des clusters depuis Studio ou Studio Classic, procédez comme suit.
Étape 0 : Vérifiez votre réseau et préparez votre CloudFormation stack
Avant de commencer :
-
Assurez-vous d'avoir pris connaissance des exigences en matière de réseau et de sécurité dansConfigurer l'accès réseau pour votre cluster Amazon EMR.
-
Vous devez disposer d'une end-to-end CloudFormation pile existante prenant en charge la méthode d'authentification de votre choix. Vous trouverez des exemples de tels CloudFormation modèles dans le dépôt sagemaker-studio-emr GitHub aws-samples/
. Les étapes suivantes mettent en évidence les configurations spécifiques de votre end-to-end stack pour permettre l'utilisation de modèles Amazon EMR dans Studio ou Studio Classic.
Étape 1 : associez votre portefeuille Service Catalog à l' SageMaker IA
Dans votre portefeuille Service Catalog, associez votre ID de portefeuille au rôle d'exécution SageMaker AI accédant à votre cluster.
Pour ce faire, ajoutez la section suivante (ici au format YAML) à votre pile. Cela permet au rôle d'exécution SageMaker AI d'accéder au portefeuille Service Catalog spécifié contenant des produits tels que les modèles Amazon EMR. Cela permet aux rôles assumés par l' SageMaker IA de lancer ces produits.
Remplacez SageMakerExecutionRole.Arn
et SageMakerStudioEMRProductPortfolio.ID
par leurs valeurs réelles.
SageMakerStudioEMRProductPortfolioPrincipalAssociation: Type: AWS::ServiceCatalog::PortfolioPrincipalAssociation Properties: PrincipalARN:
SageMakerExecutionRole.Arn
PortfolioId:SageMakerStudioEMRProductPortfolio.ID
PrincipalType: IAM
Pour plus de détails sur l'ensemble d'autorisations IAM requis, consultez la section sur les autorisations.
Étape 2 : référencer un modèle Amazon EMR dans un produit Service Catalog
Dans un produit Service Catalog de votre portefeuille, référencez une ressource de modèle Amazon EMR et assurez-vous de sa visibilité dans Studio ou Studio Classic.
Pour ce faire, faites référence à la ressource du modèle Amazon EMR dans la définition du produit Service Catalog, puis ajoutez le "sagemaker:studio-visibility:emr"
jeu de clés de balise suivant à la valeur "true"
(voir l'exemple au format YAML).
Dans la définition du produit Service Catalog, le AWS CloudFormation modèle du cluster est référencé via une URL. La balise supplémentaire définie sur true garantit la visibilité des modèles Amazon EMR dans Studio ou Studio Classic.
Note
Le modèle Amazon EMR référencé par l'URL fournie dans l'exemple n'impose aucune exigence d'authentification lors de son lancement. Cette option est destinée à des fins de démonstration et d'apprentissage. Cela n'est pas recommandé dans un environnement de production.
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"
Étape 3 : paramétrer le modèle Amazon EMR CloudFormation
Le CloudFormation modèle utilisé pour définir le cluster Amazon EMR dans le produit Service Catalog permet aux administrateurs de spécifier des paramètres configurables. Les administrateurs peuvent définir Default
des valeurs et des AllowedValues
plages pour ces paramètres dans la Parameters
section du modèle. Au cours du processus de lancement du cluster, les data scientists peuvent fournir des entrées personnalisées ou effectuer des sélections parmi ces options prédéfinies pour personnaliser certains aspects de leur cluster Amazon EMR.
L'exemple suivant illustre les paramètres de saisie supplémentaires que les administrateurs peuvent définir lors de la création d'un modèle Amazon EMR.
"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" ] } }
Une fois que les administrateurs ont mis les CloudFormation modèles Amazon EMR à disposition dans Studio, les data scientists peuvent les utiliser pour auto-provisionner des clusters Amazon EMR. La Parameters
section définie dans le modèle se traduit par des champs de saisie sur le formulaire de création de cluster dans Studio ou Studio Classic. Pour chaque paramètre, les data scientists peuvent soit saisir une valeur personnalisée dans la zone de saisie, soit sélectionner l'une des options prédéfinies répertoriées dans un menu déroulant, qui correspond à celle AllowedValues
spécifiée dans le modèle.
L'illustration suivante montre le formulaire dynamique assemblé à partir d'un modèle CloudFormation Amazon EMR pour créer un cluster Amazon EMR dans Studio ou Studio Classic.

Consultez Lancer un cluster Amazon EMR depuis Studio ou Studio Classic cette page pour découvrir comment lancer un cluster depuis Studio ou Studio Classic à l'aide de ces modèles Amazon EMR.
Étape 4 : configurer les autorisations pour permettre de répertorier et de lancer des clusters Amazon EMR depuis Studio
Enfin, attachez les autorisations IAM requises pour permettre de répertorier les clusters Amazon EMR en cours d'exécution existants et d'auto-provisionner de nouveaux clusters à partir de Studio ou Studio Classic.
Le ou les rôles auxquels vous devez ajouter ces autorisations varient selon que Studio ou Studio Classic et Amazon EMR sont déployés sur le même compte (choisissez Compte unique) ou sur des comptes différents (choisissez Compte croisé).
Important
Vous pouvez uniquement découvrir et vous connecter aux clusters Amazon EMR JupyterLab et aux applications Studio Classic lancées depuis des espaces privés. Assurez-vous que les clusters Amazon EMR sont situés dans la même AWS région que votre environnement Studio.
Si vos clusters Amazon EMR et Studio ou Studio Classic sont déployés dans le même AWS compte, associez les autorisations suivantes au rôle d'exécution SageMaker AI accédant à votre cluster.
-
Étape 1 : Récupérez l'ARN du rôle d'exécution SageMaker AI utilisé par votre espace privé.
Pour plus d'informations sur les espaces et les rôles d'exécution dans SageMaker l'IA, consultezComprendre les autorisations d'espace de domaine et les rôles d'exécution.
Pour plus d'informations sur la façon de récupérer l'ARN du rôle d'exécution de l' SageMaker IA, consultezObtenez votre rôle d'exécution.
-
Étape 2 : Attachez les autorisations suivantes au rôle d'exécution SageMaker AI accédant à vos clusters Amazon EMR.
-
Accédez à la Console IAM
. -
Choisissez Rôles, puis recherchez votre rôle d'exécution par son nom dans le champ Rechercher. Le nom du rôle est la dernière partie de l'ARN, après la dernière barre oblique (/).
-
Suivez le lien vers votre rôle.
-
Choisissez Ajouter des autorisations, puis Créer une politique intégrée.
-
Dans l'onglet JSON, ajoutez les autorisations Amazon EMR autorisant l'accès et les opérations Amazon EMR. Pour plus de détails sur le document de politique, consultez la section Répertorier les politiques Amazon EMR dans. Politiques de référence Remplacez
region
les instructions etaccountID
par leurs valeurs réelles avant de copier la liste des instructions dans la politique intégrée de votre rôle. -
Choisissez Next, puis saisissez le nom de la politique.
-
Choisissez Create Policy (Créer une politique).
-
Répétez l'étape Créer une politique en ligne pour ajouter une autre politique accordant au rôle d'exécution les autorisations nécessaires pour approvisionner de nouveaux clusters AWS CloudFormation Amazon EMR à l'aide de modèles. Pour plus de détails sur le document de politique, consultez Create Amazon EMRclusters policies dansPolitiques de référence. Remplacez les instructions
region
etaccountID
par leurs valeurs réelles avant de copier la liste des instructions dans la politique intégrée de votre rôle.
-
Note
Les utilisateurs de la connectivité du contrôle d'accès basé sur les rôles (RBAC) aux clusters Amazon EMR doivent également se référer à. Configuration de l'authentification du rôle d'exécution lorsque votre cluster Amazon EMR et Studio sont sur le même compte
Avant de commencer, récupérez l'ARN du rôle d'exécution de l' SageMaker IA utilisé par votre espace privé.
Pour plus d'informations sur les espaces et les rôles d'exécution dans SageMaker l'IA, consultezComprendre les autorisations d'espace de domaine et les rôles d'exécution.
Pour plus d'informations sur la façon de récupérer l'ARN du rôle d'exécution de l' SageMaker IA, consultezObtenez votre rôle d'exécution.
Si vos clusters Amazon EMR et Studio ou Studio Classic sont déployés dans des AWS comptes distincts, vous configurez les autorisations sur les deux comptes.
Note
Les utilisateurs de la connectivité du contrôle d'accès basé sur les rôles (RBAC) aux clusters Amazon EMR doivent également se référer à. Configuration de l'authentification du rôle d'exécution lorsque votre cluster et Studio sont dans des comptes différents
Sur le compte du cluster Amazon EMR
Suivez ces étapes pour créer les rôles et les politiques nécessaires sur le compte sur lequel Amazon EMR est déployé, également appelé compte de confiance :
-
Étape 1 : récupérer l'ARN du rôle de service de votre cluster Amazon EMR.
Pour savoir comment trouver l'ARN du rôle de service d'un cluster, consultez Configurer les rôles de service IAM pour les autorisations Amazon EMR sur les services et les AWS ressources.
-
Étape 2 : Créez un rôle IAM personnalisé nommé
AssumableRole
avec la configuration suivante :-
Autorisations : accordez les autorisations nécessaires
AssumableRole
pour autoriser l'accès aux ressources Amazon EMR. Ce rôle est également appelé rôle d'accès dans les scénarios impliquant un accès entre comptes. -
Relation de confiance : configurez la politique de confiance
AssumableRole
pour permettre d'assumer le rôle d'exécution (SageMakerExecutionRole
dans le diagramme entre comptes) depuis le compte Studio qui nécessite un accès.
En assumant ce rôle, Studio ou Studio Classic peut obtenir un accès temporaire aux autorisations dont il a besoin dans Amazon EMR.
Pour obtenir des instructions détaillées sur la façon de créer un nouveau
AssumableRole
compte sur votre AWS compte Amazon EMR, procédez comme suit :-
Accédez à la Console IAM
. -
Dans le volet de navigation de gauche, choisissez Policy, puis Create policy.
-
Dans l'onglet JSON, ajoutez les autorisations Amazon EMR autorisant l'accès et les opérations Amazon EMR. Pour plus de détails sur le document de politique, consultez la section Répertorier les politiques Amazon EMR dans. Politiques de référence Remplacez
region
les instructions etaccountID
par leurs valeurs réelles avant de copier la liste des instructions dans la politique intégrée de votre rôle. -
Choisissez Next, puis saisissez le nom de la politique.
-
Choisissez Create Policy (Créer une politique).
-
Dans le volet de navigation de gauche, choisissez Rôles, puis Créer un rôle.
-
Sur la page Créer un rôle, choisissez Politique de confiance personnalisée comme entité de confiance.
-
Collez le document JSON suivant dans la section Politique de confiance personnalisée, puis choisissez Next.
-
Sur la page Ajouter des autorisations, ajoutez l'autorisation que vous venez de créer, puis choisissez Suivant.
-
Sur la page Révision, entrez un nom pour le rôle, par exemple
AssumableRole
et une description facultative. -
Passez en revue les détails du rôle, puis choisissez Créer un rôle.
Pour plus d'informations sur la création d'un rôle sur un AWS compte, consultez la section Création d'un rôle IAM (console).
-
Sur le compte Studio
Sur le compte sur lequel Studio est déployé, également appelé compte de confiance, mettez à jour le rôle d'exécution de l' SageMaker IA accédant à vos clusters avec les autorisations requises pour accéder aux ressources du compte de confiance.
-
Étape 1 : Récupérez l'ARN du rôle d'exécution SageMaker AI utilisé par votre espace privé.
Pour plus d'informations sur les espaces et les rôles d'exécution dans SageMaker l'IA, consultezComprendre les autorisations d'espace de domaine et les rôles d'exécution.
Pour plus d'informations sur la façon de récupérer l'ARN du rôle d'exécution de l' SageMaker IA, consultezObtenez votre rôle d'exécution.
-
Étape 2 : Attachez les autorisations suivantes au rôle d'exécution SageMaker AI accédant à vos clusters Amazon EMR.
-
Accédez à la Console IAM
. -
Choisissez Rôles, puis recherchez votre rôle d'exécution par son nom dans le champ Rechercher. Le nom du rôle est la dernière partie de l'ARN, après la dernière barre oblique (/).
-
Suivez le lien vers votre rôle.
-
Choisissez Ajouter des autorisations, puis Créer une politique intégrée.
-
Dans l'onglet JSON, ajoutez la politique en ligne accordant au rôle les autorisations nécessaires pour mettre à jour les domaines, les profils utilisateur et les espaces. Pour plus de détails sur le document de politique, voir Politique relative aux actions de mise à jour du domaine, du profil utilisateur et de l'espace dansPolitiques de référence. Remplacez les instructions
region
etaccountID
par leurs valeurs réelles avant de copier la liste des instructions dans la politique intégrée de votre rôle. -
Choisissez Next, puis saisissez le nom de la politique.
-
Choisissez Create Policy (Créer une politique).
-
Répétez l'étape Créer une politique en ligne pour ajouter une autre politique accordant au rôle d'exécution l'autorisation d'assumer
AssumableRole
puis d'exécuter les actions autorisées par la politique d'accès du rôle.emr-account
Remplacez-le par l'ID du compte Amazon EMR etAssumableRole
par le nom du rôle assumé créé dans le compte Amazon EMR.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleAssumptionForCrossAccountDiscovery", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": ["arn:aws:iam::
emr-account
:role/AssumableRole
" ] }] } -
Répétez l'étape Créer une politique en ligne pour ajouter une autre politique accordant au rôle d'exécution les autorisations nécessaires pour approvisionner de nouveaux clusters AWS CloudFormation Amazon EMR à l'aide de modèles. Pour plus de détails sur le document de politique, consultez Create Amazon EMRclusters policies dansPolitiques de référence. Remplacez les instructions
region
etaccountID
par leurs valeurs réelles avant de copier la liste des instructions dans la politique intégrée de votre rôle. -
(Facultatif) Pour permettre de répertorier les clusters Amazon EMR déployés sur le même compte que Studio, ajoutez une politique en ligne supplémentaire à votre rôle d'exécution Studio, tel que défini dans la section Répertorier les politiques Amazon EMR dans. Politiques de référence
-
-
Étape 3 : associez vos rôles supposables (rôle d'accès) à votre domaine ou à votre profil utilisateur. JupyterLab les utilisateurs de Studio peuvent utiliser la console SageMaker AI ou le script fourni.
Choisissez l'onglet correspondant à votre cas d'utilisation.