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 um aplicativo usando o AWS CLI
Você pode criar um aplicativo usando o AWS CLI para uma personalização de segurança mais granular.
Pré-requisitos
Para criar um aplicativo usando oAWS CLI, você deve ter o seguinte:
-
Acesso a um terminal. Isso pode incluir local IDEs, uma EC2 instância da Amazon ouAWS CloudShell.
-
Acesso a um ambiente de desenvolvimento. Isso pode incluir um ambiente de notebook local IDEs ou Jupyter no Studio ou no Studio Classic.
-
Uma AWS CLI instalação configurada. Para obter mais informações, consulte Configurar a AWS CLI.
-
Um perfil do IAM com as permissões adequadas. As etapas a seguir exigem que seu ambiente tenha as permissões
iam:CreateRole,iam:CreatePolicy,iam:AttachRolePolicyeiam:ListPolicies. Essas permissões são necessárias no perfil que está sendo usado para executar as etapas deste guia do usuário. As instruções neste guia criam uma função do IAM que é usada como função de execução do MLflow aplicativo para que ele possa acessar dados em seus buckets do Amazon S3. Além disso, uma política é criada para dar ao papel do IAM do usuário que está interagindo com o aplicativo por meio do MLflow SDK permissão para chamar. MLflow APIs Para obter mais informações, consulte Modificar a política de permissões (console).Se estiver usando um SageMaker Studio Notebook, atualize a função de serviço do seu perfil de usuário do Studio com essas permissões do IAM. Para atualizar a função de serviço, navegue até o console do SageMaker AI e selecione o domínio que você está usando. Em seguida, no domínio, selecione o perfil de usuário que você está usando. Você verá o perfil de serviço listado. Navegue até o console do IAM, pesquise o perfil de serviço em Perfis e atualize seu perfil com uma política que permita as ações
iam:CreateRole,iam:CreatePolicy,iam:AttachRolePolicyeiam:ListPolicies.
Configurar AWS CLI modelo
Siga estas etapas da linha de comando em um terminal para configurar o AWS CLI para Amazon SageMaker AI com MLflow.
-
Instale uma versão atualizada doAWS CLI. Para obter mais informações, consulte Instalar ou atualizar para a versão mais recente da AWS CLI, no Guia do usuário da AWS CLI.
-
Verifique se o AWS CLI está instalado usando o seguinte comando:
aws sagemaker helpClique em
qpara sair do prompt.Para obter ajuda sobre a solução de problemas, consulte Solucionar problemas comuns de configuração.
Configure a MLflow infraestrutura
A seção a seguir mostra como configurar um MLflow aplicativo junto com o bucket do Amazon S3 e a função do IAM necessária para o aplicativo.
Crie um bucket do S3
Em seu terminal, use os seguintes comandos para criar um bucket do Amazon S3 de uso geral:
Importante
Ao fornecer o URI do Amazon S3 para seu armazenamento de artefatos, certifique-se de que o bucket do Amazon S3 esteja no mesmo que seu aplicativo. Região da AWS MLflow Não é possível usar armazenamento de artefatos entre regiões.
bucket_name=bucket-nameregion=valid-regionaws s3api create-bucket \ --bucket$bucket_name\ --region$region\ --create-bucket-configuration LocationConstraint=$region
A saída deve ser semelhante à seguinte:
{ "Location": "/bucket-name" }
Configurar políticas de confiança do IAM
Use as etapas a seguir para criar uma política de confiança do IAM. Para obter mais informações sobre políticas e perfis, consulte Termos e conceitos das funções no Guia do usuário do AWS Identity and Access Management.
-
No terminal, use o comando a seguir para criar um arquivo chamado
mlflow-trust-policy.json.cat <<EOF > /tmp/mlflow-trust-policy.json{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] } EOF -
No terminal, use o comando a seguir para criar um arquivo chamado
custom-policy.json.cat <<EOF > /tmp/custom-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:Put*", "sagemaker:AddTags", "sagemaker:CreateModelPackageGroup", "sagemaker:CreateModelPackage", "sagemaker:DescribeModelPackageGroup", "sagemaker:UpdateModelPackage", "s3:List*" ], "Resource": "*" } ] } EOF -
Use a política de confiança para criar um perfil. Em seguida, anexe políticas de função do IAM que permitam MLflow acessar o Amazon S3 e o SageMaker Model Registry em sua conta. MLflow deve ter acesso ao Amazon S3 para o armazenamento de artefatos do seu aplicativo e ao Registro de modelos para o registro automático do SageMaker modelo.
nota
Porém, se quiser atualizar um perfil existente, use o seguinte comando:
aws iam update-assume-role-policy --role-name.$role_name--policy-documentfile:///tmp/mlflow-trust-policy.jsonrole_name=role-nameaws iam create-role \ --role-name$role_name\ --assume-role-policy-document file:///tmp/mlflow-trust-policy.jsonaws iam put-role-policy \ --role-name$role_name\ --policy-namecustom-policy\ --policy-document file:///tmp/custom-policy.jsonrole_arn=$(aws iam get-role --role-name $role_name --query 'Role.Arn' --output text)
Criar MLflow aplicativo
No seu terminal, use a create-mlflow-app API para criar um aplicativo no local Região da AWS de sua escolha. Essa etapa normalmente leva aproximadamente de 2 a 3 minutos.
O comando a seguir cria um novo aplicativo com o registro automático do modelo ativado. Para desativar o registro automático do modelo, especifique --no-automatic-model-registration.
Depois de criar seu aplicativo, você pode iniciar a MLflow interface do usuário. Para obter mais informações, consulte Iniciar a interface do usuário do MLflow com o uso de um URLs pré-assinado..
nota
Pode levar de 2 a 3 minutos para concluir a criação do aplicativo. Se o aplicativo levar mais de 3 minutos para ser criado, verifique se você tem as permissões necessárias do IAM. Quando você cria um aplicativo com sucesso, ele é iniciado automaticamente.
Por padrão, o aplicativo criado é a versão mais recente e será atualizado automaticamente.
app_name=app-nameregion=valid-regionversion=valid-versionaws sagemaker create-mlflow-app \ --name$app_name\ --artifact-store-uri s3://$bucket_name\ --role-arn$role_arn\--automatic-model-registration\ --region$region
A saída deve ser semelhante ao seguinte:
{ "AppArn": "arn:aws:sagemaker:region:123456789012:mlflow-app/app-name" }
Importante
Anote o ARN do aplicativo para uso posterior. Você também precisará de $bucket_name para as etapas de limpeza.