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.
Créer un domaine Amazon SageMaker avec RStudio à l'aide de la AWS CLI
La rubrique suivante explique comment s'intégrer au domaine Amazon SageMaker Domain avec RStudio activé à l'aide de la AWS CLI. Pour une intégration à l'aide de la AWS Management Console, consultez Intégration à Amazon SageMaker Domain.
Prérequis
-
Installer et configurer l'AWS CLI version 2
-
Configurer l'AWS CLI avec des informations d'identification IAM
Création d'un rôle DomainExecution
Pour lancer l'application RStudio, vous devez fournir un rôle DomainExecution
. Ce rôle est utilisé pour déterminer si RStudio doit être lancé dans le cadre de la création du domaine Amazon SageMaker. Ce rôle est également utilisé par Amazon SageMaker pour accéder à la licence RStudio et envoyer les journaux RStudio.
Note
Le rôle DomainExecution
doit avoir au moins des autorisations AWS License Manager pour accéder à la licence RStudio et des autorisations CloudWatch pour envoyer les journaux dans votre compte.
La procédure suivante montre comment créer le rôle DomainExecution
avec l'AWS CLI.
-
Créez un fichier nommé
assume-role-policy.json
avec le contenu suivant.{ "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] } } ] }
-
Créez le rôle
DomainExecution
.<REGION>
devrait être la région AWS dans laquelle lancer votre domaine.aws iam create-role --region
<REGION>
--role-name DomainExecution --assume-role-policy-document file://assume-role-policy.json -
Créez un fichier nommé
domain-setting-policy.json
avec le contenu suivant. Cette politique permet à l'appli RStudioServerPro d'accéder aux ressources nécessaires et à Amazon SageMaker de lancer automatiquement une appli RStudioServerPro lorsque l'appli RStudioServerPro existante est dans un étatDeleted
ouFailed
.{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "license-manager:ExtendLicenseConsumption", "license-manager:ListReceivedLicenses", "license-manager:GetLicense", "license-manager:CheckoutLicense", "license-manager:CheckInLicense", "logs:CreateLogDelivery", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DeleteLogDelivery", "logs:Describe*", "logs:GetLogDelivery", "logs:GetLogEvents", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy", "logs:UpdateLogDelivery", "sagemaker:CreateApp" ], "Resource": "*" } ] }
-
Créez la politique de réglage de Domain associée au rôle
DomainExecution
. Gardez en tête lePolicyArn
de la réponse. Vous devrez saisir cet ARN dans les étapes suivantes.aws iam create-policy --region
<REGION>
--policy-name domain-setting-policy --policy-document file://domain-setting-policy.json -
Attachez
domain-setting-policy
au rôleDomainExecution
. Utilisez lePolicyArn
renvoyé à l'étape précédente.aws iam attach-role-policy --role-name DomainExecution --policy-arn
<POLICY_ARN>
Créer un domaine Amazon SageMaker avec RStudio à l'aide de l'appli RStudio
L'appli RStudioServerPro est lancée automatiquement lorsque vous créez un domaine Amazon SageMaker à l'aide de la commande de CLI create-domain
avec le paramètre RStudioServerProDomainSettings
spécifié. Lors du lancement de l'application RStudioServerPro, Amazon SageMaker recherche une licence RStudio valide dans le compte et échoue la création de domaine si la licence est introuvable.
La création d'un domaine Amazon SageMaker diffère en fonction de la méthode d'authentification et du type de réseau. Ces options doivent être utilisées ensemble, avec une méthode d'authentification et un type de connexion réseau sélectionnés. Pour plus d'informations sur les conditions requises pour créer un domaine, consultez CreateDomain.
Les méthodes d'authentification suivantes sont prises en charge.
-
IAM Auth
-
SSO Auth
Les types de connexion réseau suivants sont pris en charge :
-
PublicInternet
-
VPCOnly
Méthodes d'authentification
Mode d'authentification IAM
La section suivante montre comment créer un domaine Amazon SageMaker avec RStudio activé et un type de réseau IAM
Auth
. Pour plus d'informations sur AWS Identity and Access Management, consultez Qu'est-ce qu'un IAM ?
-
DomainExecutionRoleArn
doit correspondre à l'ARN du rôle créé à l'étape précédente. -
ExecutionRole
est l'ARN du rôle attribué aux utilisateurs du domaine Amazon SageMaker. -
vpc-id
doit être l'ID de votre Amazon Virtual Private Cloud.subnet-ids
doit être une liste d'ID de sous-réseau séparés par des espaces. Pour plus d'informations survpc-id
etsubnet-ids
, consultez VPC et sous-réseaux. -
RStudioPackageManagerUrl
etRStudioConnectUrl
sont facultatifs et doivent être définis sur les URL de votre serveur RStudio Package Manager et RStudio Connect, respectivement. -
app-network-access-type
doit êtrePublicInternetOnly
ouVPCOnly
.
aws sagemaker create-domain --region
<REGION>
--domain-name<DOMAIN_NAME>
\ --auth-mode IAM \ --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE>
\ --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>
,RStudioConnectUrl=<<CONNECT_URL>
,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>
} \ --vpc-id<VPC_ID>
\ --subnet-ids<SUBNET_IDS>
\ --app-network-access-type<NETWORK_ACCESS_TYPE>
Authentification à l'aide d'IAM Identity Center
La section suivante montre comment créer un domaine Amazon SageMaker avec RStudio activé et un type de réseau SSO
Auth
. AWS IAM Identity Center (successor to AWS Single Sign-On) doit être activé pour la région dans laquelle le domaine est lancé. Pour plus d'informations sur IAM Identity Center, consultez Qu'est-ce que AWS IAM Identity Center (successor to AWS Single Sign-On) ?.
-
DomainExecutionRoleArn
doit correspondre à l'ARN du rôle créé à l'étape précédente. -
ExecutionRole
est l'ARN du rôle attribué aux utilisateurs du domaine Amazon SageMaker. -
vpc-id
doit être l'ID de votre Amazon Virtual Private Cloud.subnet-ids
doit être une liste d'ID de sous-réseau séparés par des espaces. Pour plus d'informations survpc-id
etsubnet-ids
, consultez VPC et sous-réseaux. -
RStudioPackageManagerUrl
etRStudioConnectUrl
sont facultatifs et doivent être définis sur les URL de votre serveur RStudio Package Manager et RStudio Connect, respectivement. -
app-network-access-type
doit êtrePublicInternetOnly
ouVPCOnly
.
aws sagemaker create-domain --region
<REGION>
--domain-name<DOMAIN_NAME>
\ --auth-mode SSO \ --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE>
\ --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>
,RStudioConnectUrl=<<CONNECT_URL>
,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>
} \ --vpc-id<VPC_ID>
\ --subnet-ids<SUBNET_IDS>
\ --app-network-access-type<NETWORK_ACCESS_TYPE>
Types de connexion
Type de réseau Internet public/Internet direct
La section suivante montre comment créer un domaine Amazon SageMaker avec RStudio activé et un type de réseau PublicInternet
.
-
DomainExecutionRoleArn
doit correspondre à l'ARN du rôle créé à l'étape précédente. -
ExecutionRole
est l'ARN du rôle attribué aux utilisateurs du domaine Amazon SageMaker. -
vpc-id
doit être l'ID de votre Amazon Virtual Private Cloud.subnet-ids
doit être une liste d'ID de sous-réseau séparés par des espaces. Pour plus d'informations survpc-id
etsubnet-ids
, consultez VPC et sous-réseaux. -
RStudioPackageManagerUrl
etRStudioConnectUrl
sont facultatifs et doivent être définis sur les URL de votre serveur RStudio Package Manager et RStudio Connect, respectivement. -
auth-mode
doit êtreSSO
ouIAM
.
aws sagemaker create-domain --region
<REGION>
--domain-name<DOMAIN_NAME>
\ --auth-mode<AUTH_MODE>
\ --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE>
\ --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>
,RStudioConnectUrl=<<CONNECT_URL>
,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>
} \ --vpc-id<VPC_ID>
\ --subnet-ids<SUBNET_IDS>
\ --app-network-access-type PublicInternetOnly
Mode VPCOnly
La section suivante montre comment lancer un domaine Amazon SageMaker avec RStudio activé et un type de réseau VPCOnly
. Pour plus d'informations sur l'utilisation du type d'accès réseau VPCOnly
, veuillez consulter Connect les blocs-notes de SageMaker Studio dans un VPC aux ressources externes.
-
DomainExecutionRoleArn
doit correspondre à l'ARN du rôle créé à l'étape précédente. -
ExecutionRole
est l'ARN du rôle attribué aux utilisateurs du domaine Amazon SageMaker. -
vpc-id
doit être l'ID de votre Amazon Virtual Private Cloud.subnet-ids
doit être une liste d'ID de sous-réseau séparés par des espaces. Votre sous-réseau privé doit pouvoir accéder à Internet pour passer un appel à Amazon SageMaker et AWS License Manager, ou avoir des points de terminaison Amazon VPC pour Amazon SageMaker et AWS License Manager. Pour plus d'informations sur les points de terminaison Amazon VPC, consultez Interfacer les points de terminaison Amazon VPC. Pour plus d'informations survpc-id
etsubnet-ids
, consultez VPC et sous-réseaux. -
SecurityGroups
doit autoriser l'accès sortant à Amazon SageMaker et aux points de terminaison AWS License Manager. -
auth-mode
doit êtreSSO
ouIAM
.
Note
Lorsque vous utilisez des points de terminaison Amazon Virtual Private Cloud, le groupe de sécurité attaché à vos points de terminaison Amazon Virtual Private Cloud doit autoriser le trafic entrant provenant du groupe de sécurité que vous transmettez dans le cadre du paramètre domain-setting
de l'appel de CLI create-domain
.
Avec RStudio, Amazon SageMaker gère les groupes de sécurité pour vous. Cela signifie qu'Amazon SageMaker gère les règles du groupe de sécurité pour garantir que les sessions RS peuvent accéder aux applications RStudioServerPro. Amazon SageMaker crée une règle de groupe de sécurité par profil utilisateur.
aws sagemaker create-domain --region
<REGION>
--domain-name<DOMAIN_NAME>
\ --auth-mode<AUTH_MODE>
\ --default-user-settings SecurityGroups=<USER_SECURITY_GROUP>
,ExecutionRole=<DEFAULT_USER_EXECUTIONROLE>
\ --domain-settings SecurityGroupIds=<DOMAIN_SECURITY_GROUP>
,RStudioServerProDomainSettings={DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>
} \ --vpc-id<VPC_ID>
\ --subnet-ids "<SUBNET_IDS>
" \ --app-network-access-type VPCOnly --app-security-group-management Service
Remarque : l'application RStudioServerPro est lancée par un profil utilisateur spécial nommé domain-shared
. Par conséquent, cette application n'est renvoyée dans le cadre d'appels d'API list-app
par aucun autre profil utilisateur.
Vous devrez peut-être augmenter le quota Amazon VPC dans votre compte pour augmenter le nombre d'utilisateurs. Pour plus d'informations, consultez Amazon VPC quotas (Quotas Amazon VPC).
Vérifier la création du domaine
Utilisez la commande suivante pour vérifier que votre domaine a été créé avec le Status
InService
. Votre domain-id
est ajouté à l'ARN des domaines. Par exemple, arn:aws:sagemaker:
.<REGION>
:<ACCOUNT_ID>
:domain/<DOMAIN_ID>
aws sagemaker describe-domain --domain-id
<DOMAIN_ID>
--region<REGION>