Forneça aos usuários acesso a imagens personalizadas - 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á.

Forneça aos usuários acesso a imagens personalizadas

Esta documentação fornece step-by-step instruções para fornecer aos usuários acesso a imagens personalizadas para seus ambientes de editor de código. Você pode usar as informações desta página para criar ambientes personalizados para os fluxos de trabalho do seu usuário. O processo envolve a utilização de:

  • Docker

  • AWS Command Line Interface

  • Amazon Elastic Container Registry

  • Amazon SageMaker AWS Management Console

Depois de seguir as orientações nesta página, os usuários do Code Editor no SageMaker domínio da Amazon terão acesso à imagem e ao ambiente personalizados em seus espaços do Editor de Código para fortalecer seus fluxos de trabalho de aprendizado de máquina.

Importante

Esta página pressupõe que você tenha o AWS Command Line Interface e Docker instalado em sua máquina local.

Para que seus usuários executem com sucesso suas imagens no Editor de código, você deve fazer o seguinte:

Para que seus usuários executem a imagem com sucesso
  1. Crie o Dockerfile

  2. Crie a imagem a partir do Dockerfile

  3. Faça o upload da imagem para o Amazon Elastic Container Registry

  4. Anexe a imagem ao seu SageMaker domínio da Amazon

  5. Faça com que seus usuários acessem a imagem a partir do espaço do Editor de Código

Etapa 1: criar o Dockerfile

Crie um Dockerfile para definir as etapas necessárias para criar o ambiente necessário para executar o aplicativo no contêiner do seu usuário.

Importante

Seu Dockerfile deve atender às especificações fornecidas em. Especificações do Dockerfile

Para exemplos de Dockerfiles no formato correto, consulte. Amostras do Dockerfile

Etapa 2: criar o Dockerfile

No mesmo diretório do Dockerfile, crie sua imagem usando o seguinte comando:

docker build -t username/imagename:tag your-account-id.dkr.ecr.Região da AWS.amazonaws.com/your-repository-name:tag
Importante

Sua imagem deve ser marcada no seguinte formato: 123456789012.dkr.ecr.your-region.amazonaws.com/your-repository-name:tag

Caso contrário, você não poderá enviá-lo para um repositório do Amazon Elastic Container Registry.

Etapa 3: Envie a imagem para o repositório Amazon Elastic Container Registry

Depois de criar sua imagem, faça login no seu ECR repositório da Amazon usando o seguinte comando:

aws ecr get-login-password --region Região da AWS | docker login --username AWS --password-stdin 123456789012.dkr.ecr.Região da AWS.amazonaws.com

Depois de fazer login, envie seu Dockerfile usando o seguinte comando:

docker push 123456789012.dkr.ecr.Região da AWS.amazonaws.com/your-repository-name:tag

Etapa 4: Anexar imagem ao SageMaker domínio Amazon de seus usuários

Depois de enviar a imagem, você deve acessá-la do seu SageMaker domínio da Amazon usando o SageMaker console ou AWS CLI o.

Anexe a imagem usando o SageMaker console

Use o procedimento a seguir para anexar a imagem a um SageMaker domínio por meio do SageMaker console:

  1. Abra o SageMaker console.

  2. Em Configurações do administrador, escolha Domínios.

  3. Na lista de domínios, selecione um domínio.

  4. Abra a guia Ambiente.

  5. Para imagens personalizadas para aplicativos pessoais do Studio, escolha Anexar imagem.

  6. Especifique a fonte da imagem. Você pode criar uma nova imagem ou escolher uma imagem existente.

  7. Escolha Próximo.

  8. Escolha Editor de código como o tipo de aplicativo.

  9. Selecione Enviar.

Anexe a imagem usando o AWS CLI

Use o procedimento a seguir para anexar a imagem a um SageMaker domínio por meio do AWS CLI :

  1. Crie uma SageMaker imagem. A função ARN deve ter a AmazonSageMakerFullAccess política anexada.

    aws sagemaker create-image \ --image-name code-editor-custom-image \ --role-arn arn:aws:iam::account-id:role/service-role/execution-role
  2. Crie uma versão de SageMaker imagem a partir da imagem. Passe o valor exclusivo da tag que você escolheu ao enviar a imagem para a AmazonECR.

    aws sagemaker create-image-version \ --image-name code-editor-custom-image \ --base-image repository-uri:tag
  3. Crie um arquivo de configuração chamadoapp-image-config-input.json. A configuração da imagem do aplicativo é usada como configuração para executar uma SageMaker imagem como um aplicativo de editor de código. Você também pode especificar seus ContainerConfigargumentos aqui.

    { "AppImageConfigName": "code-editor-app-image-config", "CodeEditorAppImageConfig": { "ContainerConfig": {} } }
  4. Crie o AppImageConfig usando o arquivo de configuração de imagem do aplicativo que você criou.

    aws sagemaker create-app-image-config \ --cli-input-json file://app-image-config-input.json
  5. Crie um arquivo de configuração denominado updateDomain.json. Certifique-se de especificar seu ID de domínio.

    { "DomainId": "domain-id", "DefaultUserSettings": { "CodeEditorAppSettings": { "CustomImages": [ { "ImageName": "code-editor-custom-image", "AppImageConfigName": "code-editor-app-image-config" } ] } } }
  6. Chame o UpdateDomain comando com o arquivo de configuração como entrada.

    nota

    Você deve excluir todos os aplicativos em seu domínio antes de atualizar o domínio com a nova imagem. Observe que você só precisa excluir aplicativos; não precisa excluir perfis de usuário ou espaços compartilhados. Para obter instruções sobre como excluir aplicativos, escolha uma das opções a seguir.

    aws sagemaker update-domain --cli-input-json file://updateDomain.json

Etapa 5: Faça com que seus usuários acessem a imagem a partir do espaço do Editor de código

Agora, seus usuários podem selecionar a imagem que você anexou ao domínio deles no espaço do Editor de código.

Para obter mais informações sobre como selecionar uma imagem personalizada, consulteInicie um aplicativo de editor de código no Studio.