

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 servidor de rastreamento usando o AWS CLI
<a name="mlflow-create-tracking-server-cli"></a>

Você pode criar um servidor de rastreamento usando o AWS CLI para uma personalização de segurança mais granular.

## Pré-requisitos
<a name="mlflow-create-tracking-server-cli-prereqs"></a>

Para criar um servidor de rastreamento usando o AWS CLI, você deve ter o seguinte:
+ **Acesso a um terminal. **Isso pode incluir IDEs locais, uma instância do Amazon EC2 ou. AWS 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](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html). 
+ **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:AttachRolePolicy` e `iam: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 Tracking Server 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 Tracking Server 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)](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-modify_permissions-policy). 

  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:AttachRolePolicy` e `iam:ListPolicies`. 

## Configurar AWS CLI modelo
<a name="mlflow-create-tracking-server-cli-setup"></a>

Siga estas etapas da linha de comando em um terminal para configurar o AWS CLI para Amazon SageMaker AI com MLflow.

1. Instale uma versão atualizada do AWS CLI. Para obter mais informações, consulte [Instalar ou atualizar para a versão mais recente da AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html), no *Guia do usuário da AWS CLI *.

1. Verifique se o AWS CLI está instalado usando o seguinte comando: 

   ```
   aws sagemaker help
   ```

   Clique em `q` para sair do prompt.

   Para obter ajuda sobre a solução de problemas, consulte [Solucionar problemas comuns de configuração](mlflow-troubleshooting.md).

## Configure a MLflow infraestrutura
<a name="mlflow-create-tracking-server-cli-infra-setup"></a>

A seção a seguir mostra como configurar um servidor de MLflow rastreamento junto com o bucket do Amazon S3 e a função do IAM necessária para o servidor de rastreamento.

### Crie um bucket do S3
<a name="mlflow-infra-setup-s3-bucket"></a>

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 Região da AWS que seu servidor de rastreamento. **Não é possível usar armazenamento de artefatos entre regiões**.

```
bucket_name=bucket-name
region=valid-region

aws 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
<a name="mlflow-create-tracking-server-cli-trust-policy"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) no *Guia do usuário do AWS Identity and Access Management *.

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

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

1. 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 servidor de rastreamento e ao SageMaker Model Registry para o registro automático do 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-document file:///tmp/mlflow-trust-policy.json`.

   ```
   role_name=role-name
   
   aws iam  create-role \
     --role-name $role_name \
     --assume-role-policy-document file:///tmp/mlflow-trust-policy.json
   
   aws iam put-role-policy \
     --role-name $role_name \
     --policy-name custom-policy \
     --policy-document file:///tmp/custom-policy.json
   
   role_arn=$(aws iam get-role --role-name  $role_name --query 'Role.Arn' --output text)
   ```

## Crie um servidor MLflow de rastreamento
<a name="mlflow-create-tracking-server-cli-create"></a>

No seu terminal, use a `create-mlflow-tracking-server` API para criar um servidor de rastreamento no local Região da AWS de sua escolha. Essa etapa pode levar até 25 minutos.

Você também pode especificar o tamanho do servidor de rastreamento com o parâmetro `--tracking-server-config`. Escolha entre `"Small"`, `"Medium"` e `"Large"`. O tamanho padrão da configuração do Servidor de MLflow Rastreamento é`"Small"`. Você pode escolher um tamanho dependendo do uso projetado do servidor de rastreamento, como o volume de dados registrados, o número de usuários e a frequência de uso. Para obter mais informações, consulte [MLflow Tamanhos de servidores de rastreamento](mlflow.md#mlflow-create-tracking-server-sizes).

O comando a seguir cria um novo servidor de rastreamento 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 servidor de rastreamento, 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.](mlflow-launch-ui.md).

**nota**  
Pode levar até 25 minutos para concluir a criação do servidor de rastreamento. Se o servidor de rastreamento levar mais de 25 minutos para ser criado, verifique se você possui as permissões necessárias do IAM. Para obter mais informações sobre as permissões do IAM, consulte [Configure as permissões do IAM para MLflow](mlflow-create-tracking-server-iam.md). Quando você cria corretamente um servidor de rastreamento, ele é iniciado automaticamente.

Ao criar um servidor de rastreamento, é recomendável especificar a versão mais recente. Para ter informações sobre as versões disponíveis, consulte [Monitoramento de versões do servidor](mlflow.md#mlflow-create-tracking-server-versions).

Por padrão, a versão do servidor de rastreamento criado é a mais recente. No entanto, recomendamos sempre especificar a versão mais recente de forma explícita, pois a subjacente MLflow APIs pode mudar.

```
ts_name=tracking-server-name
region=valid-region
version=valid-version        


aws sagemaker create-mlflow-tracking-server \
 --tracking-server-name $ts_name \
 --artifact-store-uri s3://$bucket_name \
 --role-arn $role_arn \
 --automatic-model-registration \
 --region $region \
 --mlflow-version $version
```

A saída deve ser semelhante ao seguinte: 

```
{
    "TrackingServerArn": "arn:aws:sagemaker:region:123456789012:mlflow-tracking-server/tracking-server-name"
}
```

**Importante**  
**Anote o ARN do servidor de rastreamento para usos no futuro.** Você também precisará de `$bucket_name` para as etapas de limpeza. 