

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 RStudio imagem personalizada
Criar uma imagem

**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 obter mais informações, consulte [Forneça permissões para marcar recursos de SageMaker IA](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS políticas gerenciadas para Amazon SageMaker AI](security-iam-awsmanpol.md)que 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 RStudio imagem personalizada usando o console SageMaker AI e AWS CLI o. 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, a SageMaker IA 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 Container Registry (ECR)](https://console.aws.amazon.com/ecr/). A imagem do contêiner deve atender aos requisitos a serem usados em RStudio. Para obter mais informações, consulte [Especificações de RStudio imagem personalizadas](rstudio-byoi-specs.md).

Para obter informações sobre como testar sua imagem localmente e resolver problemas comuns, consulte o [repositório SageMaker Studio Custom Image Samples](https://github.com/aws-samples/sagemaker-studio-custom-image-samples/blob/main/DEVELOPMENT.md).

**Topics**
+ [

## Adicione uma imagem de SageMaker contêiner RStudio Docker compatível com IA ao Amazon ECR
](#rstudio-byoi-sdk-add-container-image)
+ [

## Crie uma SageMaker imagem do console
](#rstudio-byoi-create-console)
+ [

## Crie uma imagem a partir do AWS CLI
](#rstudio-byoi-create-cli)

## Adicione uma imagem de SageMaker contêiner RStudio Docker compatível com IA 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 RStudio Docker SageMaker compatível com IA.
+ 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 a AWS CLI. Para criar o repositório usando o console do Amazon ECR, consulte [Criação de um repositório](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html).

   ```
   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",
           ...
       }
   }
   ```

1. Autentique-se no Amazon ECR usando o URI do repositório retornado como resposta do comando `create-repository`. Certifique-se de que a aplicação Docker está em execução. Para obter mais informações, consulte [Autenticação de registro](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Registries.html#registry_auth).

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

   Resposta:

   ```
   Login Succeeded
   ```

1. Crie a imagem do Docker. Execute o seguinte comando no diretório que inclui seu Dockerfile:

   ```
   docker build .
   ```

1. Marque sua imagem criada com uma tag exclusiva.

   ```
   docker tag <image-id> "<repository-uri>:<tag>"
   ```

1. Empurre a imagem de contêiner para o repositório do Amazon ECR. Para obter mais informações, consulte [ImagePush](https://docs.docker.com/engine/api/v1.40/#operation/ImagePush)[Enviar uma imagem](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html).

   ```
   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 do console


**Criar uma imagem**

1. Abra o console Amazon SageMaker AI em [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

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

1. Em **Configurações do administrador**, escolha **Imagens**. 

1. Na página **Imagens personalizadas**, escolha **Criar imagem**.

1. 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] `

1. Escolha **Próximo**.

1. 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 [AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)polí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 A IA atribui 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 perfil 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 console de SageMaker IA ou a `Search` API de SageMaker IA.

1. Em **Tipo de imagem**, selecione RStudio imagem.

1. 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.

1. 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 imagem de SageMaker IA.

Para usar a imagem personalizada em RStudio, você deve anexá-la ao seu domínio. Para obter mais informações, consulte [Anexar uma SageMaker imagem personalizada](rstudio-byoi-attach.md).

## 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 uma `Image`.
+ Crie uma `ImageVersion`.
+ Criar um arquivo de configuração.
+ Crie uma `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"
   }
   ```

1. 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"
   }
   ```

1. 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"`, ela 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`.

1. 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"
   }
   ```

1. 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"
   }
   ```