Adicionar suporte ao RStudio a um domínio existente - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Adicionar suporte ao RStudio a um domínio existente

Importante

Políticas personalizadas do IAM que permitem que o Amazon SageMaker SageMaker Studio ou o Amazon Studio Classic criem SageMaker recursos da Amazon também devem conceder permissões para adicionar tags a esses recursos. A permissão para adicionar tags aos recursos é necessária porque o Studio e o Studio Classic marcam automaticamente todos os recursos que eles criam. Se uma política do IAM permitir que o Studio e o Studio Classic criem recursos, mas não permitisse a marcação, erros AccessDenied "" podem ocorrer ao tentar criar recursos. Para ter mais informações, consulte Forneça permissões para marcar recursos SageMaker.

AWS Políticas gerenciadas para a Amazon SageMakerque dão permissões para criar SageMaker recursos já incluem permissões para adicionar tags ao criar esses recursos.

Se você adicionou uma licença do RStudio por meio de AWS License Manager, você pode criar um novo SageMaker domínio da Amazon com suporte para o RStudio ativado. SageMaker Se você tiver um domínio existente que não ofereça suporte ao RStudio, poderá adicionar suporte ao RStudio a esse domínio sem precisar excluir e recriar o domínio. 

O tópico a seguir descreve como adicionar esse suporte.

Pré-requisitos

Você deve concluir as etapas a seguir antes de atualizar seu domínio atual para adicionar suporte ao RStudio. SageMaker 

  • Instalar e configurar a versão 2 do AWS CLI

  • Configure o AWS CLIcom credenciais do IAM

  • Crie uma função de execução de domínio seguindo as etapas em Criar um SageMaker domínio com o RStudio usando o. AWS CLI Essa função do IAM em nível de domínio é exigida pelo aplicativo R. StudioServerPro A função requer acesso AWS License Manager para verificar uma licença válida do Posit Workbench e Amazon CloudWatch Logs para publicar registros do servidor. 

  • Traga sua licença do RStudio para AWS License Manager seguir as etapas da licença do RStudio.

  • (Opcional) Se você quiser usar o RStudio no modo VPCOnly, conclua as etapas no RStudio somente VPC.

  • Certifique-se de que os grupos de segurança que você configurou para cada um UserProfileem seu domínio atendam às cotas no nível da conta. Ao configurar o perfil de usuário padrão durante a criação do domínio, você pode usar o DefaultUserSettings parâmetro da CreateDomainAPI para adicionar os SecurityGroups que são herdados por todos os perfis de usuário criados no domínio. Você também pode fornecer grupos de segurança adicionais para um usuário específico como parte do UserSettings parâmetro da CreateUserProfileAPI. Se você adicionou grupos de segurança dessa forma, deve garantir que o número total de grupos de segurança por perfil de usuário não exceda a cota máxima de 2 no modo VPCOnly e 4 no modo PublicInternetOnly. Se o resultado do número total de grupos de segurança para qualquer perfil de usuário exceder a cota, você poderá combinar as regras de vários grupos de segurança em um só grupo de segurança. 

Adicionar suporte ao RStudio a um domínio existente

Depois de concluir os pré-requisitos, você pode adicionar suporte ao RStudio ao seu domínio existente. As etapas a seguir descrevem como atualizar seu domínio existente para adicionar suporte ao RStudio.

Etapa 1: excluir todos os aplicativos no domínio

Para adicionar suporte ao RStudio em seu domínio, é SageMaker necessário atualizar os grupos de segurança subjacentes para todos os perfis de usuário existentes. Para concluir isso, você deve excluir e recriar todos os aplicativos existentes no domínio. O procedimento a seguir mostra como excluir todos os aplicativos.

  1. Liste todos os aplicativos no domínio.

    aws sagemaker \   list-apps \ --domain-id-equals <DOMAIN_ID>
  2. Exclua cada aplicativo para cada perfil de usuário no domínio.

    // 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>

Etapa 2 - Atualize todos os perfis de usuário com a nova lista de grupos de segurança

Essa é uma ação única que você deve concluir para todos os perfis de usuário existentes em seu domínio depois de refatorar seus grupos de segurança existentes. Isto impede que você atinja a cota para o número máximo de grupos de segurança. A chamada UpdateUserProfile da API falhará se o usuário tiver algum aplicativo com InServicestatus. Exclua todos os aplicativos e chame a API UpdateUserProfile para atualizar os grupos de segurança.

nota

O seguinte requisito de VPCOnly modo descrito em Connect Amazon SageMaker Studio Classic Notebooks in a VPC to External Resources não é mais necessário ao adicionar suporte ao RStudio porque AppSecurityGroupManagement é gerenciado pelo serviço: SageMaker

Tráfego TCP dentro do grupo de segurança. Isso é necessário para a conectividade entre o JupyterServer aplicativo e os KernelGateway aplicativos. Você deve permitir acesso a, pelo menos, portas na faixa 8192-65535”.

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

Etapa 3 - Ative o RStudio chamando a API UpdateDomain

  1. Chame a UpdateDomainAPI para adicionar suporte ao RStudio. SageMaker O parâmetro defaultusersettings só é necessário se você tiver refatorado os grupos de segurança padrão para seus perfis de usuário.

    • Para o 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 o 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. Verifique se o status do domínio éInService. Depois que o status do domínio forInService, o suporte para o RStudio on SageMaker será adicionado.

    aws sagemaker \ describe-domain \ --domain-id <DOMAIN_ID>
  3. Verifique se o status do StudioServerPro aplicativo R está InService usando o comando a seguir.

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

Etapa 4 - Adicionar acesso ao RStudio para usuários existentes

Como parte da atualização na Etapa 3, SageMaker marca o RStudio AccessStatusde todos os perfis de usuário existentes no domínio como DISABLED padrão. Isso evita que você ultrapasse o número de usuários permitido pela sua licença atual. Para adicionar acesso aos usuários existentes, há uma etapa única de ingresso. Execute o opt-in chamando a UpdateUserProfileAPI com o seguinte R StudioServerProAppSettings:

  • AccessStatus = ENABLED

  • Opcional - UserGroup = R_STUDIO_USER ou R_STUDIO_ADMIN

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

Por padrão, o número de usuários que podem ter acesso ao RStudio é 60.

Etapa 5 — Desativar o acesso ao RStudio para novos usuários

A menos que especificado de outra forma durante a chamadaUpdateDomain, o suporte ao RStudio é adicionado por padrão para todos os novos perfis de usuário criados após a adição do suporte ao RStudio. SageMaker Para desativar o acesso a um novo perfil de usuário, você deve configurar explicitamente o parâmetro AccessStatus como DISABLED, como parte da chamada da API CreateUserProfile. Se o parâmetro AccessStatus não for especificado como parte da API CreateUserProfile, o status de acesso padrão será ENABLED.

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