Cree un SageMaker dominio de Amazon con RStudio mediante AWS CLI - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cree un SageMaker dominio de Amazon con RStudio mediante AWS CLI

importante

Las políticas de IAM personalizadas que permiten a Amazon SageMaker Studio o Amazon SageMaker Studio Classic crear SageMaker recursos de Amazon también deben conceder permisos para añadir etiquetas a esos recursos. El permiso para añadir etiquetas a los recursos es obligatorio porque Studio y Studio Classic etiquetan automáticamente todos los recursos que crean. Si una política de IAM permite a Studio y Studio Classic crear recursos, pero no permite el etiquetado, se pueden producir errores AccessDenied «» al intentar crear recursos. Para obtener más información, consulte Proporciona permisos para etiquetar SageMaker los recursos.

AWS Políticas gestionadas para Amazon SageMakerque otorgan permisos para crear SageMaker recursos ya incluyen permisos para añadir etiquetas al crear esos recursos.

En el siguiente tema se muestra cómo incorporarse a un SageMaker dominio de Amazon con RStudio habilitado mediante. AWS CLI Para realizar la incorporación mediante el AWS Management Console, consulteDescripción general SageMaker del dominio de Amazon.

Requisitos previos

Crear el rol DomainExecution

Para iniciar la aplicación RStudio, debe proporcionar un rol DomainExecution. Esta función se utiliza para determinar si es necesario lanzar RStudio como parte de la creación de SageMaker dominios de Amazon. Amazon también utiliza este rol para acceder SageMaker a la licencia de RStudio y enviar los registros de RStudio. 

nota

El DomainExecution rol debe tener al menos AWS License Manager permisos para acceder a la licencia de RStudio y CloudWatch permisos para insertar registros en su cuenta.

El siguiente procedimiento muestra cómo crear el rol DomainExecution con AWS CLI.

  1. Cree un archivo llamado assume-role-policy.json con el siguiente contenido.

    { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] } } ] }
  2. Cree el DomainExecution rol. <REGION>debe ser la AWS región en la que lanzar tu dominio.

    aws iam create-role --region <REGION> --role-name DomainExecution --assume-role-policy-document file://assume-role-policy.json
  3. Cree un archivo llamado domain-setting-policy.json con el siguiente contenido. Esta política permite a la StudioServerPro aplicación R acceder a los recursos necesarios y permite SageMaker a Amazon lanzar automáticamente una StudioServerPro aplicación R cuando la StudioServerPro aplicación R existente esté en Failed estado Deleted o.

    { "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. Cree la política de configuración de dominios asociada a la DomainExecution función. Tenga en cuenta el PolicyArn de la respuesta. Deberá introducir ese ARN en los siguientes pasos.

    aws iam create-policy --region <REGION> --policy-name domain-setting-policy --policy-document file://domain-setting-policy.json
  5. Asocie domain-setting-policy al rol DomainExecution. Utilice el PolicyArn devuelto en el paso anterior.

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

Crea un SageMaker dominio de Amazon con la aplicación RStudio

La StudioServerPro aplicación R se inicia automáticamente al crear un SageMaker dominio de Amazon mediante el comando create-domain CLI con el RStudioServerProDomainSettings parámetro especificado. Al iniciar la StudioServerPro aplicación R, Amazon SageMaker comprueba si hay una licencia de RStudio válida en la cuenta y no crea el dominio si no se encuentra la licencia.

La creación de un SageMaker dominio de Amazon varía según el método de autenticación y el tipo de red. Estas opciones deben utilizarse juntas, con un método de autenticación y una tipo de conexión de red seleccionados. Para obtener más información sobre los requisitos para crear un dominio nuevo, consulte CreateDomain.

Se admiten los siguientes métodos de autenticación:

  • IAM Auth

  • SSO Auth

Se admiten los siguientes tipos de conexión de red:

  • PublicInternet

  • VPCOnly

Métodos de autenticación

Modo de autenticación IAM

A continuación se muestra cómo crear un SageMaker dominio de Amazon con RStudio habilitado y un tipo de IAM Auth red. Para obtener más información AWS Identity and Access Management, consulte ¿Qué es IAM? .

  • DomainExecutionRoleArn debe ser el ARN del rol creado en el paso anterior.

  • ExecutionRolees el ARN de la función asignada a los usuarios en el dominio de Amazon SageMaker .

  • vpc-id debe ser el ID de su Amazon Virtual Private Cloud. subnet-ids debe ser una lista separada por espacios de ID de subred. Para obtener más información sobre vpc-id y subnet-ids, consulte VPC y subredes.

  • RStudioPackageManagerUrl y RStudioConnectUrl son opcionales y deben configurarse en las direcciones URL de su servidor de RStudio Package Manager y de RStudio Connect, respectivamente.

  • app-network-access-type debe ser PublicInternetOnly o 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>

Autenticación mediante el Centro de identidades de IAM

A continuación se muestra cómo crear un SageMaker dominio de Amazon con RStudio habilitado y un tipo de SSO Auth red. AWS IAM Identity Center debe estar habilitado para la región en la que se lanza el dominio. Para obtener más información sobre el Centro de identidad de IAM, consulte ¿Qué es? AWS IAM Identity Center .

  • DomainExecutionRoleArn debe ser el ARN del rol creado en el paso anterior.

  • ExecutionRolees el ARN de la función asignada a los usuarios en el dominio de Amazon SageMaker .

  • vpc-id debe ser el ID de su Amazon Virtual Private Cloud. subnet-ids debe ser una lista separada por espacios de ID de subred. Para obtener más información sobre vpc-id y subnet-ids, consulte VPC y subredes.

  • RStudioPackageManagerUrl y RStudioConnectUrl son opcionales y deben configurarse en las direcciones URL de su servidor de RStudio Package Manager y de RStudio Connect, respectivamente.

  • app-network-access-type debe ser PublicInternetOnly o 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>

Tipos de conexión

PublicInternet/Tipo de red de Internet directo

A continuación se muestra cómo crear un SageMaker dominio de Amazon con RStudio habilitado y un tipo de PublicInternet red.

  • DomainExecutionRoleArn debe ser el ARN del rol creado en el paso anterior.

  • ExecutionRolees el ARN de la función asignada a los usuarios en el dominio de Amazon SageMaker .

  • vpc-id debe ser el ID de su Amazon Virtual Private Cloud. subnet-ids debe ser una lista separada por espacios de ID de subred. Para obtener más información sobre vpc-id y subnet-ids, consulte VPC y subredes.

  • RStudioPackageManagerUrl y RStudioConnectUrl son opcionales y deben configurarse en las direcciones URL de su servidor de RStudio Package Manager y de RStudio Connect, respectivamente.

  • auth-mode debe ser SSO o 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

Modo VPCOnly

A continuación se muestra cómo lanzar un SageMaker dominio de Amazon con RStudio habilitado y un tipo de VPCOnly red. Para obtener más información sobre el uso del tipo de acceso de red VPCOnly, consulte Conecte los blocs de notas de Studio de una VPC a recursos externos.

  • DomainExecutionRoleArn debe ser el ARN del rol creado en el paso anterior.

  • ExecutionRolees el ARN de la función asignada a los usuarios en el dominio de Amazon SageMaker .

  • vpc-id debe ser el ID de su Amazon Virtual Private Cloud. subnet-ids debe ser una lista separada por espacios de ID de subred. Su subred privada debe poder acceder a Internet para realizar una llamada a Amazon AWS License Manager o tener SageMaker puntos de enlace de Amazon VPC para Amazon y. SageMaker AWS License ManagerPara obtener información sobre los puntos de conexión de VPC de Amazon, consulte Interfaz de puntos de conexión de VPC de Amazon. Para obtener información sobre vpc-id y subnet-ids, consulte VPC y subredes.

  • SecurityGroupsdebe permitir el acceso saliente a Amazon SageMaker y a los puntos AWS License Manager finales.

  • auth-mode debe ser SSO o IAM.

nota

Cuando utilice puntos de conexión de Amazon Virtual Private Cloud, el grupo de seguridad asociado a sus puntos de conexión de Amazon Virtual Private Cloud debe permitir el tráfico entrante desde el grupo de seguridad que pase como parte del parámetro domain-setting de la llamada de create-domain CLI.

Con RStudio, Amazon SageMaker gestiona los grupos de seguridad por ti. Esto significa que Amazon SageMaker administra las reglas de los grupos de seguridad para garantizar que las RSessions puedan acceder a R StudioServerPro Apps. Amazon SageMaker crea una regla de grupo de seguridad por perfil de usuario.

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

Nota: La StudioServerPro aplicación R se inicia mediante un perfil de usuario especial llamadodomain-shared. Por ello, ningún otro perfil de usuario devuelve esta aplicación como parte de las llamadas de la API list-app.

Puede que tenga que aumentar la cuota de VPC de Amazon en su cuenta para incrementar el número de usuarios. Para obtener más información, consulte Cuotas de VPC de Amazon.

Verifica la creación del dominio

Usa el siguiente comando para comprobar que tu dominio se ha creado con un Status deInService. domain-idEl suyo se adjunta al ARN del dominio. Por ejemplo, arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:domain/<DOMAIN_ID>.

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