

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Cree un servidor de seguimiento mediante el AWS CLI
<a name="mlflow-create-tracking-server-cli"></a>

Puede crear un servidor de seguimiento utilizando el AWS CLI para una personalización de seguridad más detallada.

## Requisitos previos
<a name="mlflow-create-tracking-server-cli-prereqs"></a>

Para crear un servidor de seguimiento mediante el AWS CLI, debe disponer de lo siguiente:
+ **Acceso a un terminal**.Esto puede incluir IDE locales, una instancia de Amazon EC2 o. AWS CloudShell
+ **Acceso a un entorno de desarrollo**. Esto puede incluir IDE locales o un entorno de cuaderno de Jupyter en Studio o Studio Classic.
+ **Una AWS CLI instalación configurada.** Para obtener más información, consulte [Configuración de AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html). 
+ **Un rol de IAM con los permisos adecuados**. Los siguientes pasos requieren que el entorno tenga los permisos `iam:CreateRole`, `iam:CreatePolicy`, `iam:AttachRolePolicy` y `iam:ListPolicies`. Estos permisos son necesarios para el rol que se utiliza para ejecutar los pasos de esta guía del usuario. Las instrucciones de esta guía crean un rol de IAM que se utiliza como rol de ejecución del servidor de seguimiento de MLflow para que pueda acceder a los datos de los buckets de Amazon S3. Además, se ha creado una política para conceder el rol de IAM al usuario que interactúa con el servidor de seguimiento mediante el permiso del MLflow SDK para llamar a las API de MLflow. Para obtener más información, consulte [Modifying a role permissions policy (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-modify_permissions-policy). 

  Si utilizas un portátil de SageMaker Studio, actualiza el rol de servicio de tu perfil de usuario de Studio con estos permisos de IAM. Para actualizar el rol de servicio, dirígete a la consola de SageMaker AI y selecciona el dominio que estás usando. A continuación, en el dominio, seleccione el perfil de usuario que esté utilizando. Aparecerá el rol de servicio en la lista. Diríjase a la consola de IAM, busque el rol de servicio en **Roles** y actualice el rol con una política que permita las acciones `iam:CreateRole`, `iam:CreatePolicy`, `iam:AttachRolePolicy` y `iam:ListPolicies`. 

## Configuración AWS CLI model
<a name="mlflow-create-tracking-server-cli-setup"></a>

Siga estos pasos de la línea de comandos en una terminal AWS CLI para configurar Amazon SageMaker AI con MLflow.

1. Instale una versión actualizada de AWS CLI. Para obtener más información, consulte [Install or update to the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) en la *Guía del usuario de AWS CLI *.

1. Compruebe que AWS CLI está instalado mediante el siguiente comando: 

   ```
   aws sagemaker help
   ```

   Pulse `q` para salir de la petición.

   Para obtener ayuda sobre la resolución de problemas, consulte [Solución de problemas de configuración comunes](mlflow-troubleshooting.md).

## Configuración de la infraestructura de MLflow
<a name="mlflow-create-tracking-server-cli-infra-setup"></a>

En la siguiente sección se muestra cómo configurar un servidor de seguimiento de MLflow junto con el bucket de Amazon S3 y el rol de IAM necesarios para el servidor de seguimiento.

### Creación de un bucket de S3
<a name="mlflow-infra-setup-s3-bucket"></a>

En el terminal, utilice los siguientes comandos para crear un bucket de Amazon S3 de uso general: 

**importante**  
Cuando proporciones el URI de Amazon S3 para tu almacén de artefactos, asegúrate de que el bucket de Amazon S3 esté en el Región de AWS mismo lugar que tu servidor de rastreo. **Cross-regionNo se admite el almacenamiento de artefactos**.

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

aws s3api create-bucket \
  --bucket {{$bucket_name}} \
  --region {{$region}} \
  --create-bucket-configuration LocationConstraint={{$region}}
```

El resultado debería tener un aspecto similar al siguiente:

```
{
    "Location": "/{{bucket-name}}"
}
```

### Configuración de políticas de confianza de IAM
<a name="mlflow-create-tracking-server-cli-trust-policy"></a>

Siga estos pasos para crear una política de confianza de IAM. Para obtener más información sobre los roles y las políticas de confianza, consulte [Términos y conceptos de roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) en la *Guía del usuario de AWS Identity and Access Management *.

1. En el terminal, use el siguiente comando para crear un archivo denominado `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. En el terminal, use el siguiente comando para crear un archivo denominado `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. Utilice el archivo de política de confianza para crear un rol. A continuación, adjunte políticas de roles de IAM que permitan a MLflow acceder a Amazon S3 y a SageMaker Model Registry desde su cuenta. MLflow debe tener acceso a Amazon S3 para el almacén de artefactos de su servidor de rastreo y a SageMaker Model Registry para el registro automático de modelos. 
**nota**  
Si está actualizando un rol existente, use el siguiente 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)
   ```

## Creación de un servidor de seguimiento de MLflow
<a name="mlflow-create-tracking-server-cli-create"></a>

En su terminal, utilice la `create-mlflow-tracking-server` API para crear un servidor de rastreo en el que Región de AWS prefiera. Este paso puede tardar hasta 25 minutos en completarse.

Si lo desea, puede especificar el tamaño del servidor de seguimiento con el parámetro `--tracking-server-config`. Elija entre `"Small"`, `"Medium"` y `"Large"`. El tamaño de configuración predeterminado del servidor de seguimiento de MLflow es `"Small"`. Puede elegir un tamaño en función del uso previsto del servidor de seguimiento, como, por ejemplo, el volumen de datos registrados, el número de usuarios y la frecuencia de uso. Para obtener más información, consulte [Tamaños de los servidores de seguimiento de MLflow](mlflow.md#mlflow-create-tracking-server-sizes).

El siguiente comando crea un nuevo servidor de seguimiento con el registro automático de modelos habilitado. Para desactivar el registro automático de modelos, especifique `--no-automatic-model-registration`. 

Después de crear el servidor de seguimiento, puede iniciar la interfaz de usuario de MLflow. Para obtener más información, consulte [Inicio de la interfaz de usuario de MLflow mediante una URL prefirmada](mlflow-launch-ui.md).

**nota**  
La creación del servidor de seguimiento puede tardar hasta 25 minutos en completarse. Si la creación del servidor de seguimiento tarda más de 25 minutos, compruebe que tenga los permisos necesarios de IAM. Para obtener más información sobre los permisos de IAM, consulte [Configuración de permisos de IAM para MLflow](mlflow-create-tracking-server-iam.md). Al crear correctamente un servidor de seguimiento, este se iniciará automáticamente.

Al crear un servidor de seguimiento, recomendamos especificar la versión más reciente. Para obtener más información sobre las versiones disponibles, consulte [Versiones del servidor de seguimiento](mlflow.md#mlflow-create-tracking-server-versions).

De forma predeterminada, el servidor de seguimiento que se crea es la versión más reciente. Sin embargo, recomendamos especificar siempre la última versión de forma explícita porque las API subyacentes de MLflow pueden cambiar.

```
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}}
```

El resultado debería ser similar al siguiente: 

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

**importante**  
**Tome nota del ARN del servidor de seguimiento para usarlo más adelante.** También necesitará el `$bucket_name` para llevar a cabo los pasos de limpieza. 