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 una aplicación con AWS CLI
Puede crear una aplicación utilizando el AWS CLI para una personalización de seguridad más detallada.
Requisitos previos
Para crear una aplicación 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.
-
Un rol de IAM con los permisos adecuados. Los siguientes pasos requieren que el entorno tenga los permisos
iam:CreateRole,iam:CreatePolicy,iam:AttachRolePolicyyiam: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 una función de IAM que se utiliza como función de ejecución de la aplicación MLflow para que pueda acceder a los datos de sus buckets de Amazon S3. Además, se ha creado una política para conceder a la función de IAM al usuario que interactúa con la aplicación a través del SDK de MLflow permiso para llamar a las API de MLflow. Para obtener más información, consulte Modifying a role permissions policy (console).Si utilizas un SageMaker Studio Notebook, 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:AttachRolePolicyyiam:ListPolicies.
Configuración AWS CLI model
Siga estos pasos de la línea de comandos en una terminal AWS CLI para configurar Amazon SageMaker AI con MLflow.
-
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 en la Guía del usuario de AWS CLI .
-
Compruebe que AWS CLI está instalado mediante el siguiente comando:
aws sagemaker helpPulse
qpara salir de la petición.Para obtener ayuda sobre la resolución de problemas, consulte Solución de problemas de configuración comunes.
Configuración de la infraestructura de MLflow
En la siguiente sección, se muestra cómo configurar una aplicación MLflow junto con el bucket de Amazon S3 y el rol de IAM necesarios para la aplicación.
Creación de un bucket de S3
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 aplicación MLflow. Cross-regionNo se admite el almacenamiento de artefactos.
bucket_name=bucket-nameregion=valid-regionaws 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
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 en la Guía del usuario de AWS Identity and Access Management .
-
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 -
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 -
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 SageMaker Model Registry desde su cuenta. MLflow debe tener acceso a Amazon S3 para el almacén de artefactos de su aplicación y al registro de SageMaker modelos 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-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)
Cree la aplicación MLflow
Dentro de su terminal, use la create-mlflow-app API para crear una aplicación en Región de AWS la que prefiera. Este paso suele tardar entre 2 y 3 minutos aproximadamente.
El siguiente comando crea una nueva aplicación con el registro automático de modelos activado. Para desactivar el registro automático de modelos, especifique --no-automatic-model-registration.
Después de crear la aplicación, 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.
nota
Completar la creación de la aplicación puede tardar entre 2 y 3 minutos. Si la aplicación tarda más de 3 minutos en crearse, compruebe que dispone de los permisos de IAM necesarios. Cuando creas correctamente una aplicación, se inicia automáticamente.
De forma predeterminada, la aplicación que se crea es la versión más reciente y se actualizará automáticamente.
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
El resultado debería ser similar al siguiente:
{ "AppArn": "arn:aws:sagemaker:region:123456789012:mlflow-app/app-name" }
importante
Tome nota del ARN de la aplicación para su uso posterior. También necesitará el $bucket_name para llevar a cabo los pasos de limpieza.