Añadir compatibilidad con RStudio a un dominio existente - 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.

Añadir compatibilidad con RStudio a un dominio existente

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 de tipo 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.

Si has añadido una licencia de RStudio AWS License Manager, puedes crear un nuevo SageMaker dominio de Amazon con soporte para RStudio activado. SageMaker Si ya tienes un dominio que no es compatible con RStudio, puedes añadir el soporte para RStudio a ese dominio sin tener que eliminarlo ni volver a crearlo. 

En el siguiente tema se explica cómo añadir esta compatibilidad.

Requisitos previos

Debes completar los siguientes pasos antes de actualizar tu dominio actual para añadir compatibilidad con RStudio on. SageMaker 

  • Instalar y configurar AWS CLI versión 2

  • Configurar AWS CLI con las credenciales de IAM

  • Cree un rol de ejecución de dominio siguiendo los pasos de Crear un SageMaker dominio con RStudio mediante. AWS CLI La aplicación R requiere este rol de IAM a nivel de dominio. StudioServerPro El rol requiere acceso a AWS License Manager para verificar una licencia válida de Posit Workbench y a Amazon CloudWatch Logs para publicar los registros del servidor. 

  • Utilice su licencia de RStudio para AWS License Manager seguir los pasos de la licencia de RStudio.

  • (Opcional) Si desea utilizar RStudio en modo VPCOnly, complete los pasos de RStudio solo en VPC.

  • Asegúrese de que los grupos de seguridad que ha configurado para cada uno UserProfilede sus dominios cumplan con las cuotas a nivel de cuenta. Al configurar el perfil de usuario predeterminado durante la creación del dominio, puede utilizar el DefaultUserSettings parámetro de la CreateDomainAPI para añadir los SecurityGroups que hereden todos los perfiles de usuario creados en el dominio. También puede proporcionar grupos de seguridad adicionales para un usuario específico como parte del UserSettings parámetro de la CreateUserProfileAPI. Si ha añadido grupos de seguridad de esta manera, debe asegurarse de que el número total de grupos de seguridad por perfil de usuario no supera la cuota máxima de 2 en modo VPCOnly y 4 en modo PublicInternetOnly. Si el número total resultante de grupos de seguridad para cualquier perfil de usuario supera la cuota, puede combinar las reglas de varios grupos de seguridad en un solo grupo de seguridad. 

Agregue compatibilidad con RStudio a un dominio existente

Una vez que haya completado los requisitos previos, puede añadir la compatibilidad con RStudio a su dominio existente. Los siguientes pasos describen cómo actualizar tu dominio existente para añadir compatibilidad con RStudio.

Paso 1: Elimina todas las aplicaciones del dominio

Para añadir compatibilidad con RStudio en su dominio, SageMaker debe actualizar los grupos de seguridad subyacentes de todos los perfiles de usuario existentes. Para completar esto, debe eliminar y volver a crear todas las aplicaciones existentes en el dominio. El siguiente procedimiento muestra cómo eliminar todas las aplicaciones.

  1. Enumera todas las aplicaciones del dominio.

    aws sagemaker \   list-apps \ --domain-id-equals <DOMAIN_ID>
  2. Elimine cada aplicación para cada perfil de usuario del dominio.

    // JupyterServer apps aws sagemaker \ delete-app \ --domain-id <DOMAIN_ID> \ --user-profile-name <USER_PROFILE> \ --app-type JupyterServer \ --app-name <APP_NAME> // KernelGateway apps aws sagemaker \ delete-app \ --domain-id <DOMAIN_ID> \ --user-profile-name <USER_PROFILE> \ --app-type KernelGateway \ --app-name <APP_NAME>

Paso 2: Actualice todos los perfiles de usuario con la nueva lista de grupos de seguridad

Se trata de una acción única que debe realizar para todos los perfiles de usuario existentes en su dominio una vez refactorizados los grupos de seguridad existentes. Esto evita llegar a la cuota del número máximo de grupos de seguridad. La llamada a la UpdateUserProfile API falla si el usuario tiene alguna aplicación en estado. InService Elimine todas las aplicaciones y, a continuación, llame a la API UpdateUserProfile para actualizar los grupos de seguridad.

nota

El siguiente requisito para el VPCOnly modo descrito en Connect Amazon SageMaker Studio Classic Notebooks de una VPC con recursos externos ya no es necesario al añadir compatibilidad AppSecurityGroupManagement con RStudio, ya que lo gestiona el servicio: SageMaker

"Tráfico TCP en el grupo de seguridad. Esto es necesario para la conectividad entre la JupyterServer aplicación y las aplicaciones. KernelGateway Debe permitir el acceso al menos a los puertos del rango 8192-65535”.

aws sagemaker \ update-user-profile \ --domain-id <DOMAIN_ID>\ --user-profile-name <USER_PROFILE> \ --user-settings "{\"SecurityGroups\": [\"<SECURITY_GROUP>\", \"<SECURITY_GROUP>\"]}"

Paso 3: Activa RStudio llamando a la API UpdateDomain

  1. Llama a la UpdateDomainAPI para añadir compatibilidad con RStudio on. SageMaker El parámetro defaultusersettings solo es necesario si han refactorizado los grupos de seguridad predeterminados para los perfiles de usuario.

    • Para el modo VPCOnly:

      aws sagemaker \ update-domain \ --domain-id <DOMAIN_ID> \ --app-security-group-management Service \ --domain-settings-for-update RStudioServerProDomainSettingsForUpdate={DomainExecutionRoleArn=<DOMAIN_EXECUTION_ROLE_ARN>} \ --default-user-settings "{\"SecurityGroups\": [\"<SECURITY_GROUP>\", \"<SECURITY_GROUP>\"]}"
    • Para el modo PublicInternetOnly:

      aws sagemaker \ update-domain \ --domain-id <DOMAIN_ID> \    --domain-settings-for-update RStudioServerProDomainSettingsForUpdate={DomainExecutionRoleArn=<DOMAIN_EXECUTION_ROLE_ARN>} \ --default-user-settings "{\"SecurityGroups\": [\"<SECURITY_GROUP>\", \"<SECURITY_GROUP>\"]}"
  2. Compruebe que el estado del dominio seaInService. Cuando el estado del dominio seaInService, se añadirá la compatibilidad con RStudio on SageMaker .

    aws sagemaker \ describe-domain \ --domain-id <DOMAIN_ID>
  3. Compruebe que el estado de la StudioServerPro aplicación R esté InService utilizando el siguiente comando.

    aws sagemaker list-apps --user-profile-name domain-shared

Paso 4: Añada acceso a RStudio para usuarios existentes

Como parte de la actualización del paso 3, SageMaker marca el RStudio AccessStatusde todos los perfiles de usuario existentes en el dominio como DISABLED predeterminado. Esto evita superar el número de usuarios que permite su licencia actual. Para añadir acceso a usuarios existentes deberá seguir un paso de suscripción único. Realice la suscripción llamando a la UpdateUserProfileAPI con la siguiente R StudioServerProAppSettings:

  • AccessStatus = ENABLED

  • Opcional - UserGroup = R_STUDIO_USER o R_STUDIO_ADMIN

aws sagemaker \ update-user-profile \ --domain-id <DOMAIN_ID>\ --user-profile-name <USER_PROFILE> \ --user-settings "{\"RStudioServerProAppSettings\": {\"AccessStatus\": \"ENABLED\"}}"
nota

De forma predeterminada, el número de usuarios que pueden acceder a RStudio es 60.

Paso 5: Desactive el acceso a RStudio para nuevos usuarios

A menos que se especifique lo contrario al realizar la llamadaUpdateDomain, la compatibilidad con RStudio se añade de forma predeterminada para todos los nuevos perfiles de usuario que se creen una vez que se haya añadido la compatibilidad con RStudio. SageMaker Para desactivar el acceso en un perfil de usuario nuevo debe establecer explícitamente el parámetro AccessStatus en DISABLED como parte de la llamada a la API CreateUserProfile. Si no se especifica el parámetro AccessStatus como parte de la API CreateUserProfile, el estado de acceso predeterminado es ENABLED.

aws sagemaker \ create-user-profile \ --domain-id <DOMAIN_ID>\ --user-profile-name <USER_PROFILE> \ --user-settings "{\"RStudioServerProAppSettings\": {\"AccessStatus\": \"DISABLED\"}}"