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.
Configurer les EMR CloudFormation modèles Amazon dans le Service Catalog
Cette rubrique part du principe que les administrateurs connaissent bien AWS CloudFormationles portefeuilles et les produits d'Amazon AWS Service Catalog, ainsi que ceux d'Amazon EMR.
Pour simplifier la création de EMR clusters Amazon à partir de Studio, les administrateurs peuvent enregistrer un EMR CloudFormation modèle Amazon en tant que produit dans un AWS Service Catalogportefeuille. Pour mettre le modèle à la disposition des data scientists, ils doivent associer le portefeuille au rôle SageMaker d'exécution 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 EMR clusters Amazon depuis Studio ou Studio Classic, les administrateurs doivent définir les autorisations d'accès appropriées.
Les EMR AWS CloudFormation modèles Amazon peuvent permettre aux utilisateurs finaux de personnaliser divers 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 EMR cluster Amazon 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 EMR cluster Amazon.
Pour permettre aux data scientists de découvrir les EMR CloudFormation modèles Amazon 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 EMR cluster Amazon.
-
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 EMR modèles Amazon dans Studio ou Studio Classic.
Étape 1 : associez votre portefeuille Service Catalog à SageMaker
Dans votre portefeuille Service Catalog, associez votre ID de portefeuille au rôle SageMaker d'exécution accédant à votre cluster.
Pour ce faire, ajoutez la section suivante (ici au YAML format) à votre pile. Cela donne au rôle SageMaker d'exécution l'accès au portefeuille Service Catalog spécifié contenant des produits tels que des EMR modèles Amazon. Il permet aux rôles assumés par SageMaker de lancer ces produits.
Remplacez SageMakerExecutionRole.Arn
and SageMakerStudioEMRProductPortfolio.ID
avec 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'IAMautorisations requis, consultez la section sur les autorisations.
Étape 2 : référencer un EMR modèle Amazon dans un produit Service Catalog
Dans un produit Service Catalog de votre portefeuille, référencez une ressource de EMR modèle Amazon et assurez-vous de sa visibilité dans Studio ou Studio Classic.
Pour ce faire, faites référence à la ressource du EMR modèle Amazon 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 YAML format).
Dans la définition du produit Service Catalog, le AWS CloudFormation modèle du cluster est référencé viaURL. La balise supplémentaire définie sur true garantit la visibilité des EMR modèles Amazon dans Studio ou Studio Classic.
Note
Le EMR modèle Amazon référencé par le modèle fourni URL 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 EMR cluster Amazon 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 EMR cluster Amazon.
L'exemple suivant illustre les paramètres d'entrée supplémentaires que les administrateurs peuvent définir lors de la création d'un EMR modèle Amazon.
"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 EMR CloudFormation modèles Amazon à disposition dans Studio, les data scientists peuvent les utiliser pour auto-approvisionner des EMR clusters Amazon. 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 EMR modèle CloudFormation Amazon pour créer un EMR cluster Amazon dans Studio ou Studio Classic.
Consultez Lancer un EMR cluster Amazon depuis Studio ou Studio Classic cette page pour savoir comment lancer un cluster depuis Studio ou Studio Classic à l'aide de ces EMR modèles Amazon.
Étape 4 : configurer les autorisations pour permettre de répertorier et de lancer des EMR clusters Amazon depuis Studio
Enfin, attachez les IAM autorisations requises pour permettre de répertorier les EMR clusters Amazon 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 EMR clusters Amazon JupyterLab et aux applications Studio Classic lancées depuis des espaces privés. Assurez-vous que les EMR clusters Amazon sont situés dans la même AWS région que votre environnement Studio.
Si vos EMR clusters Amazon et Studio ou Studio Classic sont déployés dans le même AWS compte, associez les autorisations suivantes au rôle SageMaker d'exécution accédant à votre cluster.
-
Étape 1 : Récupérez le ARN rôle SageMaker d'exécution utilisé par votre espace privé.
Pour plus d'informations sur les espaces et les rôles d'exécution dans SageMaker, voirComprendre 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 le rôle ARN SageMaker d'exécution d'un of, consultezObtenez votre rôle d'exécution.
-
Étape 2 : Attachez les autorisations suivantes au rôle SageMaker d'exécution accédant à vos EMR clusters Amazon.
-
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 duARN, 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'JSONonglet, ajoutez les EMR autorisations Amazon autorisant l'EMRaccès et les opérations d'Amazon. Pour plus de détails sur le document de politique, consultez la liste des EMR politiques d'Amazon dansPolitiques 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 EMR clusters Amazon à l'aide de AWS CloudFormation 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é par contrôle d'accès basé sur les rôles (RBAC) aux EMR clusters Amazon doivent également se référer à. Configurez l'authentification des rôles d'exécution lorsque votre EMR cluster Amazon et Studio sont sur le même compte
Avant de commencer, récupérez le ARN rôle SageMaker d'exécution utilisé par votre espace privé.
Pour plus d'informations sur les espaces et les rôles d'exécution dans SageMaker, voirComprendre 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 le rôle ARN SageMaker d'exécution d'un of, consultezObtenez votre rôle d'exécution.
Si vos EMR clusters Amazon 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é par contrôle d'accès basé sur les rôles (RBAC) aux EMR clusters Amazon 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 EMR cluster Amazon
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érez le ARN rôle de service de votre EMR cluster Amazon.
Pour savoir comment déterminer le rôle de service ARN d'un cluster, consultez Configurer les rôles de IAM service pour les EMR autorisations Amazon relatives aux AWS services et aux ressources.
-
Étape 2 : Créez un IAM rôle personnalisé nommé
AssumableRole
avec la configuration suivante :-
Autorisations : accordez les autorisations nécessaires
AssumableRole
pour autoriser l'accès aux EMR ressources Amazon. 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 sur AmazonEMR.
Pour obtenir des instructions détaillées sur la façon de créer un nouveau
AssumableRole
compte sur votre EMR AWS compte Amazon, procédez comme suit :-
Accédez à la console IAM
. -
Dans le volet de navigation de gauche, choisissez Policy, puis Create policy.
-
Dans l'JSONonglet, ajoutez les EMR autorisations Amazon autorisant l'EMRaccès et les opérations d'Amazon. Pour plus de détails sur le document de politique, consultez la liste des EMR politiques d'Amazon dansPolitiques 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 JSON document suivant dans la section Politique de confiance personnalisée, puis choisissez Suivant.
-
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 IAM rôle (console).
-
Sur le compte Studio
Sur le compte sur lequel Studio est déployé, également appelé compte de confiance, mettez à jour le rôle SageMaker d'exécution accédant à vos clusters avec les autorisations requises pour accéder aux ressources du compte de confiance.
-
Étape 1 : Récupérez le ARN rôle SageMaker d'exécution utilisé par votre espace privé.
Pour plus d'informations sur les espaces et les rôles d'exécution dans SageMaker, voirComprendre 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 le rôle ARN SageMaker d'exécution d'un of, consultezObtenez votre rôle d'exécution.
-
Étape 2 : Attachez les autorisations suivantes au rôle SageMaker d'exécution accédant à vos EMR clusters Amazon.
-
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 duARN, 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'JSONonglet, ajoutez la politique intégrée 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'identifiant du EMR compte Amazon etAssumableRole
par le nom du rôle assumé créé dans le EMR compte Amazon.{ "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 EMR clusters Amazon à l'aide de AWS CloudFormation 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 EMR clusters Amazon déployés sur le même compte que Studio, ajoutez une politique en ligne supplémentaire à votre rôle d'exécution de Studio, comme défini dans la liste des EMR politiques Amazon dansPolitiques 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 SageMaker console ou le script fourni.
Choisissez l'onglet correspondant à votre cas d'utilisation.