Crie uma configuração de ciclo de vida do AWS CLI - 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 configuração de ciclo de vida do AWS CLI

Importante

IAMPolíticas personalizadas que permitem que o Amazon SageMaker Studio ou o Amazon SageMaker 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 IAM política permitir que o Studio e o Studio Classic criem recursos, mas não permita a marcação, erros AccessDenied "" podem ocorrer ao tentar criar recursos. Para obter 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.

Importante

Em 30 de novembro de 2023, a experiência anterior do Amazon SageMaker Studio agora se chama Amazon SageMaker Studio Classic. A seção a seguir é específica para usar o aplicativo Studio Classic. Para obter informações sobre como usar a experiência atualizada do Studio, consulte SageMaker Estúdio Amazon.

O tópico a seguir mostra como criar uma configuração de ciclo de vida usando o AWS CLI para automatizar a personalização do seu ambiente Studio Classic.

Pré-requisitos

Antes de começar, conclua os pré-requisitos a seguir:

Etapa 1: Criar uma configuração de ciclo de vida

O procedimento a seguir mostra como criar um script de configuração do ciclo de vida que imprime Hello World.

nota

Cada script pode ter até 16.384 caracteres.

  1. De sua máquina local, crie um arquivo denominado my-script.sh com o conteúdo a seguir.

    #!/bin/bash set -eux echo 'Hello World!'
  2. Converter seu arquivo my-script.sh no formato base64. Esse requisito evita erros que ocorram devido à codificação de espaçamento e quebra de linha.

    LCC_CONTENT=`openssl base64 -A -in my-script.sh`
  3. Crie uma configuração de ciclo de vida para uso com o Studio Classic. O comando a seguir cria uma configuração de ciclo de vida que é executada quando você inicia uma aplicação associada KernelGateway.

    aws sagemaker create-studio-lifecycle-config \ --region region \ --studio-lifecycle-config-name my-studio-lcc \ --studio-lifecycle-config-content $LCC_CONTENT \ --studio-lifecycle-config-app-type KernelGateway

    Observe a configuração ARN de ciclo de vida recém-criada que é retornada. Isso ARN é necessário para anexar a configuração do ciclo de vida ao seu aplicativo.

Etapa 2: anexar a configuração do ciclo de vida ao seu domínio, perfil de usuário ou espaço compartilhado

Para anexar a configuração do ciclo de vida, você deve atualizar o UserSettings de seu domínio ou perfil de usuário ou o SpaceSettings de um espaço compartilhado. Os scripts de configuração do ciclo de vida associados no nível do domínio são herdados por todos os usuários. No entanto, os scripts associados no nível do perfil do usuário têm como escopo um usuário específico, enquanto os scripts associados no nível do espaço compartilhado têm como escopo o espaço compartilhado.

O exemplo a seguir mostra como criar um novo perfil de usuário com a configuração de ciclo de vida anexada. Você também pode criar um novo domínio ou espaço com uma configuração de ciclo de vida anexada usando os comandos create-domain e create-space, respectivamente.

Adicione a configuração do ciclo de vida ARN da etapa anterior às configurações do tipo de aplicativo apropriado. Por exemplo, coloque-o no JupyterServerAppSettings do usuário. Você pode adicionar várias configurações de ciclo de vida ao mesmo tempo passando uma lista de configurações de ciclo de vida. Quando um usuário inicia um JupyterServer aplicativo com o AWS CLI, ele pode passar uma configuração de ciclo de vida para usar em vez da padrão. A configuração do ciclo de vida que o usuário passa deve pertencer à lista de configurações do ciclo de vida em JupyterServerAppSettings.

# Create a new UserProfile aws sagemaker create-user-profile --domain-id domain-id \ --user-profile-name user-profile-name \ --region region \ --user-settings '{ "JupyterServerAppSettings": { "LifecycleConfigArns": [lifecycle-configuration-arn-list] } }'

O exemplo a seguir mostra como atualizar um espaço compartilhado existente para anexar a configuração de ciclo de vida. Você também pode atualizar um domínio ou perfil de usuário existente com uma configuração de ciclo de vida anexada usando o comando ou domínio de atualização. update-user-profile Ao atualizar a lista de configurações de ciclo de vida anexada, você deve passar todas as configurações de ciclo de vida como parte da lista. Se uma configuração de ciclo de vida não fizer parte dessa lista, ela não será anexada ao aplicativo.

aws sagemaker update-space --domain-id domain-id \ --space-name space-name \ --region region \ --space-settings '{ "JupyterServerAppSettings": { "LifecycleConfigArns": [lifecycle-configuration-arn-list] } }'

Para obter informações sobre como definir uma configuração de ciclo de vida padrão para um recurso, consulte Defina as configurações padrão do ciclo de vida.

Etapa 3: Iniciar aplicação com configuração de ciclo de vida

Depois de anexar uma configuração de ciclo de vida a um domínio, perfil de usuário ou espaço, o usuário pode selecioná-la ao iniciar um aplicativo com o AWS CLI. Esta seção descreve como iniciar um aplicativo com uma configuração de ciclo de vida anexada. Para obter informações sobre como alterar a configuração padrão do ciclo de vida após iniciar um JupyterServer aplicativo, consulte. Defina as configurações padrão do ciclo de vida

Inicie o tipo de aplicativo desejado usando o create-app comando e especifique a configuração do ciclo de vida ARN no resource-spec argumento.

  • O exemplo a seguir mostra como criar um aplicativo JupyterServer com uma configuração do ciclo de vida associado. Ao criar o JupyterServer, o app-name deve ser default. A configuração do ciclo de vida ARN passada como parte do resource-spec parâmetro deve fazer parte da lista de configurações do ciclo de vida ARNs especificada UserSettings para seu domínio ou perfil de usuário ou SpaceSettings para um espaço compartilhado.

    aws sagemaker create-app --domain-id domain-id \ --region region \ --user-profile-name user-profile-name \ --app-type JupyterServer \ --resource-spec LifecycleConfigArn=lifecycle-configuration-arn \ --app-name default
  • O exemplo a seguir mostra como criar um aplicativo KernelGateway com uma configuração do ciclo de vida associado.

    aws sagemaker create-app --domain-id domain-id \ --region region \ --user-profile-name user-profile-name \ --app-type KernelGateway \ --resource-spec LifecycleConfigArn=lifecycle-configuration-arn,SageMakerImageArn=sagemaker-image-arn,InstanceType=instance-type \ --app-name app-name