Crie uma imagem personalizada do RStudio - 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á.

Crie uma imagem personalizada do RStudio

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.

Este tópico descreve como você pode criar uma imagem personalizada do RStudio usando o SageMaker console e o. AWS CLI Se você usar o AWS CLI, deverá executar as etapas em sua máquina local. As etapas a seguir não funcionam no Amazon SageMaker Studio Classic.

Quando você cria uma imagem, SageMaker também cria uma versão inicial da imagem. A versão da imagem representa uma imagem de contêiner no Registro de contêiner Amazon Elastic (ECR). A imagem de contêiner deve satisfazer os requisitos para ser usada no RStudio. Para ter mais informações, consulte Especificações de imagem personalizadas do RStudio.

Para obter informações sobre como testar sua imagem localmente e resolver problemas comuns, consulte o repositório SageMaker Studio Custom Image Samples.

Adicione uma imagem SageMaker de contêiner RStudio Docker compatível ao Amazon ECR

Use as seguintes etapas para adicionar uma imagem de contêiner do Docker ao Amazon ECR:

  • Crie um repositório do Amazon ECR.

  • Autentique no Amazon ECR.

  • Crie uma imagem SageMaker do RStudio Docker compatível.

  • Empurre a imagem para o repositório do Amazon ECR.

nota

O repositório Amazon ECR deve estar no mesmo que seu Região da AWS domínio.

Criar e adicionar uma imagem do Docker ao Amazon ECR
  1. Crie um repositório do Amazon ECR usando o AWS CLI. Para criar o repositório usando o console do Amazon ECR, consulte Criação de um repositório.

    aws ecr create-repository \ --repository-name rstudio-custom \ --image-scanning-configuration scanOnPush=true

    Resposta:

    { "repository": { "repositoryArn": "arn:aws:ecr:us-east-2:acct-id:repository/rstudio-custom", "registryId": "acct-id", "repositoryName": "rstudio-custom", "repositoryUri": "acct-id.dkr.ecr.us-east-2.amazonaws.com/rstudio-custom", ... } }
  2. Autentique-se no Amazon ECR usando o URI do repositório retornado como resposta do comando create-repository. Certifique-se de que o aplicativo Docker está em execução. Para obter mais informações, consulte Autenticação de registro.

    aws ecr get-login-password | \ docker login --username AWS --password-stdin <repository-uri>

    Resposta:

    Login Succeeded
  3. Crie a imagem do Docker. Execute o seguinte comando no diretório que inclui seu Dockerfile.

    docker build .
  4. Marque sua imagem criada com uma tag exclusiva.

    docker tag <image-id> "<repository-uri>:<tag>"
  5. Empurre a imagem de contêiner para o repositório do Amazon ECR. Para obter mais informações, consulte ImagePushEnviar uma imagem.

    docker push <repository-uri>:<tag>

    Resposta:

    The push refers to repository [<account-id>.dkr.ecr.us-east-2.amazonaws.com/rstudio-custom] r: digest: <digest> size: 3066

Crie uma SageMaker imagem a partir do console

Como criar uma imagem
  1. Abra o SageMaker console da Amazon em https://console.aws.amazon.com/sagemaker/.

  2. No painel de navegação à esquerda, escolha Configurações do administrador.

  3. Em Configurações do administrador, escolha Imagens.

  4. Na página Imagens personalizadas, escolha Criar imagem.

  5. Em Fonte da imagem, insira o caminho do registro para a imagem de contêiner no Amazon ECR. O caminho é tem o seguinte formato:

    acct-id.dkr.ecr.region.amazonaws.com/repo-name[:tag] or [@digest]

  6. Escolha Próximo.

  7. Em Propriedades da imagem, insira o seguinte:

    • Nome da imagem – O nome deve ser exclusivo para a sua conta Região da AWS atual.

    • (Opcional) Nome de exibição da imagem – O nome exibido na interface de usuário do domínio. Quando não fornecido, Image name é exibido.

    • (Opcional) Descrição – uma descrição da imagem.

    • Função do IAM — A função deve ter a AmazonSageMakerFullAccesspolítica anexada. Use a lista suspensa para escolher uma das seguintes opções:

      • Criar um novo perfil – Especifique quaisquer buckets adicionais do Amazon Simple Storage Service (Amazon S3) aos quais você deseja que os usuários dos cadernos tenham acesso. Se não quiser permitir acesso a buckets adicionais, escolha Nenhum.

        SageMaker anexa a AmazonSageMakerFullAccess política à função. A função permite que os usuários de seus cadernos tenham acesso aos buckets do S3 listados ao lado das marcas de verificação.

      • Insira um ARN do perfil do IAM personalizado – Insira o nome do recurso da Amazon (ARN) da função do IAM.

      • Uso da função existente – Escolha uma das suas funções existentes na lista.

    • (Opcional) Tags de imagem – Escolha Adicionar nova tag. É possível adicionar até 50 tags. As tags podem ser pesquisadas usando o SageMaker console ou a SageMaker Search API.

  8. Em Tipo de imagem, selecione Imagem do RStudio.

  9. Escolha Enviar.

A nova imagem é exibida na lista de imagens personalizadas e destacada brevemente. Depois que a imagem for criada com êxito, você poderá escolher o nome da imagem para ver suas propriedades ou escolher Criar versão para criar outra versão.

Para criar outra versão da imagem
  1. Escolha Criar versão na mesma linha da imagem.

  2. Em Fonte da imagem, insira o caminho do registro para a imagem do Amazon ECR. A imagem não deve ser a mesma usada em uma versão anterior da SageMaker imagem.

Para usar a imagem personalizada no RStudio, você deve anexá-la ao seu domínio. Para ter mais informações, consulte Anexar uma SageMaker imagem personalizada.

Crie uma imagem a partir do AWS CLI

Esta seção mostra como criar uma SageMaker imagem personalizada da Amazon usando AWS CLI o.

Use as etapas a seguir para criar uma SageMaker imagem:

  • Crie Image.

  • Crie ImageVersion.

  • Criar um arquivo de configuração.

  • Crie AppImageConfig.

Para criar as entidades SageMaker de imagem
  1. Crie uma SageMaker imagem. O ARN do perfil deve ter pelo menos a política AmazonSageMakerFullAccessPolicy anexada.

    aws sagemaker create-image \ --image-name rstudio-custom-image \ --role-arn arn:aws:iam::<acct-id>:role/service-role/<execution-role>

    Resposta:

    { "ImageArn": "arn:aws:sagemaker:us-east-2:acct-id:image/rstudio-custom-image" }
  2. Crie uma versão de SageMaker imagem a partir da imagem. Passe o valor de tag exclusivo que você escolheu ao enviar a imagem para o Amazon ECR.

    aws sagemaker create-image-version \ --image-name rstudio-custom-image \ --base-image <repository-uri>:<tag>

    Resposta:

    { "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/rstudio-image/1" }
  3. Verifique se a versão da imagem foi criada com sucesso.

    aws sagemaker describe-image-version \ --image-name rstudio-custom-image \ --version 1

    Resposta:

    { "ImageVersionArn": "arn:aws:sagemaker:us-east-2:acct-id:image-version/rstudio-custom-image/1", "ImageVersionStatus": "CREATED" }
    nota

    Se a resposta for "ImageVersionStatus": "CREATED_FAILED", a resposta também incluirá o motivo da falha. Um problema de permissão é uma causa comum de falha. Você também pode verificar seus Amazon CloudWatch Logs. O nome do grupo de logs é /aws/sagemaker/studio. O nome do fluxo de logs é $domainID/$userProfileName/KernelGateway/$appName.

  4. Crie um arquivo de configuração denominado app-image-config-input.json. A configuração da imagem do aplicativo é usada para configurar a execução de uma SageMaker imagem como um aplicativo Kernel Gateway.

    { "AppImageConfigName": "rstudio-custom-config" }
  5. Crie o AppImageConfig usando o arquivo que você criou na etapa anterior.

    aws sagemaker create-app-image-config \ --cli-input-json file://app-image-config-input.json

    Resposta:

    { "AppImageConfigArn": "arn:aws:sagemaker:us-east-2:acct-id:app-image-config/r-image-config" }