Créez un domaine Amazon SageMaker AI à RStudio l'aide du AWS CLI - Amazon SageMaker AI

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éez un domaine Amazon SageMaker AI à RStudio l'aide du AWS CLI

Important

Les politiques IAM personnalisées qui permettent à Amazon SageMaker Studio ou Amazon SageMaker Studio Classic de créer des SageMaker ressources Amazon doivent également accorder des autorisations pour ajouter des balises à ces ressources. L'autorisation d'ajouter des balises aux ressources est requise car Studio et Studio Classic balisent automatiquement toutes les ressources qu'ils créent. Si une politique IAM autorise Studio et Studio Classic à créer des ressources mais n'autorise pas le balisage, des erreurs « AccessDenied » peuvent se produire lors de la tentative de création de ressources. Pour de plus amples informations, veuillez consulter Fournir des autorisations pour le balisage des ressources d' SageMaker IA.

AWS politiques gérées pour Amazon SageMaker AIqui donnent des autorisations pour créer des SageMaker ressources incluent déjà des autorisations pour ajouter des balises lors de la création de ces ressources.

La rubrique suivante explique comment intégrer un domaine Amazon SageMaker AI avec l' RStudio option activée à l'aide du AWS CLI. Pour embarquer à l'aide du AWS Management Console, voirPrésentation du domaine Amazon SageMaker AI.

Prérequis

Création d'un rôle DomainExecution

Pour lancer l' RStudio application, vous devez fournir un DomainExecution rôle. Ce rôle est utilisé pour déterminer s'il RStudio doit être lancé dans le cadre de la création du domaine Amazon SageMaker AI. Ce rôle est également utilisé par Amazon SageMaker AI pour accéder à la RStudio licence et aux RStudio journaux push. 

Note

Le DomainExecution rôle doit au moins disposer AWS License Manager des autorisations nécessaires pour accéder à la RStudio licence et CloudWatch des autorisations pour envoyer des journaux à votre compte.

La procédure suivante montre comment créer le rôle DomainExecution avec l' AWS CLI.

  1. Créez un fichier nommé assume-role-policy.json avec le contenu suivant.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] } } ] }
  2. Créez le DomainExecution rôle. <REGION>devrait être la AWS région dans laquelle lancer votre domaine.

    aws iam create-role --region <REGION> --role-name DomainExecution --assume-role-policy-document file://assume-role-policy.json
  3. Créez un fichier nommé domain-setting-policy.json avec le contenu suivant. Cette politique permet à l' RStudioServerPro application d'accéder aux ressources nécessaires et permet à Amazon SageMaker AI de lancer automatiquement une RStudio ServerPro application lorsque l' RStudioServerPro application existante a le Failed statut Deleted OR.

    JSON
    { "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": "*" } ] }
  4. Créez la politique de configuration de domaine attachée au DomainExecution rôle. Gardez en tête le PolicyArn 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
  5. Attachez domain-setting-policy au rôle DomainExecution. Utilisez le PolicyArn renvoyé à l'étape précédente.

    aws iam attach-role-policy --role-name DomainExecution --policy-arn <POLICY_ARN>

Créez un domaine Amazon SageMaker AI avec RStudio l'application

L' RStudioServerPro application est lancée automatiquement lorsque vous créez un domaine Amazon SageMaker AI à l'aide de la commande create-domain CLI avec le RStudioServerProDomainSettings paramètre spécifié. Lors du lancement de l' RStudioServerPro application, Amazon SageMaker AI vérifie si une RStudio licence est valide dans le compte et échoue à créer le domaine si la licence n'est pas trouvée.

La création d'un domaine Amazon SageMaker AI varie 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 nouveau 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

Ce qui suit montre comment créer un domaine Amazon SageMaker AI avec RStudio activé et un type de IAM Auth réseau. Pour plus d'informations AWS Identity and Access Management, voir Qu'est-ce que l'IAM ? .

  • DomainExecutionRoleArn doit correspondre à l'ARN du rôle créé à l'étape précédente.

  • ExecutionRoleest l'ARN du rôle attribué aux utilisateurs dans le domaine Amazon SageMaker AI.

  • vpc-iddoit être l'ID de votre Amazon Virtual Private Cloud. subnet-idsdoit être une liste de sous-réseaux séparés par des espaces. IDs Pour plus d'informations sur vpc-id etsubnet-ids, voir VPCs et les sous-réseaux.

  • RStudioPackageManagerUrlet RStudioConnectUrl sont facultatifs et doivent être définis sur ceux URLs de votre RStudio Package Manager et de votre serveur RStudio Connect, respectivement.

  • app-network-access-type doit être PublicInternetOnly ou VPCOnly.

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

Ce qui suit montre comment créer un domaine Amazon SageMaker AI avec RStudio activé et un type de SSO Auth réseau. AWS IAM Identity Center 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 c'est ? AWS IAM Identity Center .

  • DomainExecutionRoleArn doit correspondre à l'ARN du rôle créé à l'étape précédente.

  • ExecutionRoleest l'ARN du rôle attribué aux utilisateurs dans le domaine Amazon SageMaker AI.

  • vpc-iddoit être l'ID de votre Amazon Virtual Private Cloud. subnet-idsdoit être une liste de sous-réseaux séparés par des espaces. IDs Pour plus d'informations sur vpc-id etsubnet-ids, voir VPCs et les sous-réseaux.

  • RStudioPackageManagerUrlet RStudioConnectUrl sont facultatifs et doivent être définis sur ceux URLs de votre RStudio Package Manager et de votre serveur RStudio Connect, respectivement.

  • app-network-access-type doit être PublicInternetOnly ou VPCOnly.

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

PublicInternet/Type de réseau Internet direct

Ce qui suit montre comment créer un domaine Amazon SageMaker AI avec RStudio activé et un type de PublicInternet réseau.

  • DomainExecutionRoleArn doit correspondre à l'ARN du rôle créé à l'étape précédente.

  • ExecutionRoleest l'ARN du rôle attribué aux utilisateurs dans le domaine Amazon SageMaker AI.

  • vpc-iddoit être l'ID de votre Amazon Virtual Private Cloud. subnet-idsdoit être une liste de sous-réseaux séparés par des espaces. IDs Pour plus d'informations sur vpc-id etsubnet-ids, voir VPCs et les sous-réseaux.

  • RStudioPackageManagerUrlet RStudioConnectUrl sont facultatifs et doivent être définis sur ceux URLs de votre RStudio Package Manager et de votre serveur RStudio Connect, respectivement.

  • auth-mode doit être SSO ou IAM.

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

VPCOnly mode

Ce qui suit montre comment lancer un domaine Amazon SageMaker AI avec un type de VPCOnly réseau RStudio activé. Pour plus d'informations sur l'utilisation du type d'accès réseau VPCOnly, veuillez consulter Connecter les blocs-notes Studio d'un VPC à des ressources externes.

  • DomainExecutionRoleArn doit correspondre à l'ARN du rôle créé à l'étape précédente.

  • ExecutionRoleest l'ARN du rôle attribué aux utilisateurs dans le domaine Amazon SageMaker AI.

  • vpc-iddoit être l'ID de votre Amazon Virtual Private Cloud. subnet-idsdoit être une liste de sous-réseaux séparés par des espaces. IDs Votre sous-réseau privé doit pouvoir soit accéder à Internet pour passer un appel à Amazon SageMaker AI, AWS License Manager soit disposer de points de terminaison Amazon VPC pour Amazon SageMaker AI et. AWS License ManagerPour plus d'informations sur les points de terminaison Amazon VPC, consultez Interface Amazon VPC endpoints. Pour plus d'informations sur vpc-id et, voir et les sous-réseaux. subnet-ids VPCs

  • SecurityGroupsdoit autoriser l'accès sortant à Amazon SageMaker AI et aux points de AWS License Manager terminaison.

  • auth-mode doit être SSO ou IAM.

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.

Amazon SageMaker AI gère les groupes de sécurité pour vous. RStudio Cela signifie qu'Amazon SageMaker AI gère les règles des groupes de sécurité RSessions afin de garantir l'accès aux RStudio ServerPro applications. Amazon SageMaker AI 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' RStudioServerPro application 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 un Status deInService. Votre domain-id est ajouté à l'ARN du domaine. Par exemple, arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:domain/<DOMAIN_ID>.

aws sagemaker describe-domain --domain-id <DOMAIN_ID> --region <REGION>