Proyectos de Amazon Sagemaker Empodere a los científicos de datos para autodesivar los servicios web de Amazon (AWS) herramientas e infraestructura para organizar todas las entidades del ciclo de vida de aprendizaje automático (ML), y permitir aún más a las organizaciones estandarizar y limitar los recursos disponibles para sus equipos de ciencia de datos en plantillas preenvasadas.
Para los clientes de AWS usando Terraformado Para definir y administrar su infraestructura como código (IAC), la mejor práctica actual para habilitar los proyectos de Amazon SageMaker conlleva una dependencia de AWS CloudFormation para facilitar la integración entre Catálogo de servicios de AWS y Terraform. Esto bloquea a los clientes empresariales cuya gobernanza de TI prohíbe el uso de IAC específico del proveedor, como CloudFormation, usa Terraform Cloud.
Esta publicación describe cómo puede habilitar los proyectos de Sagemaker con Terraform Cloud, eliminando la dependencia de CloudFormation.
Motor de catálogo de servicio de AWS para Terraform Cloud
Los proyectos de Sagemaker se asignan directamente a los productos de catálogo de servicios de AWS. Para obviar el uso de CloudFormation, estos productos deben designarse como Productos Terraform que usan el AWS Service Catáloga Motor (SCE) para Terraform Cloud. Este módulo, mantenido activamente por Hashicorpcontiene una infraestructura nativa de AWS para integrar el catálogo de servicios con Terraform Cloud para que sus productos de catálogo de servicios se implementen utilizando la plataforma Terraform Cloud.
Siguiendo los pasos de esta publicación, puede usar el motor de catálogo de servicios para implementar proyectos de Sagemaker directamente desde Terraform Cloud.
Requisitos previos
Para implementar con éxito el ejemplo, debe tener lo siguiente:
- Una cuenta de AWS con los permisos necesarios para crear y administrar proyectos de Sagemaker y productos de catálogo de servicios. Ver el Documentación del catálogo de servicios Para obtener más información sobre los permisos de catálogo de servicios.
- Un dominio existente de Amazon Sagemaker Studio con un perfil de usuario asociado de Amazon Sagemaker. El dominio del estudio de Sagemaker debe tener proyectos de Sagemaker habilitados. Ver Use una configuración rápida para Amazon Sagemaker AI.
- Un terminal UNIX con la interfaz de línea de comando AWS (AWS CLI) y Terraform instalado. Ver el Instalación o actualización de la última versión del AWS CLIy el Instalar Terraform Para más información sobre la instalación.
- Una cuenta de Terraform Cloud existente con los permisos necesarios para crear y administrar espacios de trabajo. Vea los siguientes tutoriales para crear rápidamente su propia cuenta:
Ver Documentación de equipos y organizaciones de Terraform Para obtener más información sobre los permisos de Terraform Cloud.
Pasos de implementación
- Clonar el
sagemaker-custom-project-templatesRepositorio de las muestras de AWS GitHub a su máquina local, actualice los submódulos y navegue hasta elmlops-terraform-clouddirectorio.
La base de código anterior anterior crea una cartera de catálogo de servicios, agrega la plantilla del proyecto Sagemaker como un producto de catálogo de servicios a la cartera, permite que el sagemaker Studio rol acceda al producto de catálogo de servicios, y agrega las etiquetas necesarias para hacer que el producto sea visible en Sagemaker Studio. Ver Crear plantillas de proyecto personalizadas En la documentación de los proyectos de Sagemaker para obtener más información sobre este proceso.
- Inicie sesión en su cuenta de Terraform Cloud
Esto solicita a su navegador que inicie sesión en su cuenta HCP y genera un token de seguridad. Copie este token de seguridad y péguelo nuevamente en su terminal.
- Navegue a su cuenta de AWS y recupere el Nombre de recursos de Amazon de Amazon Rol de Sagemaker para el perfil de usuario de Sagemaker asociado con su dominio SageMaker Studio. Este papel se utiliza para otorgar permisos de usuarios de estudio de Sagemaker para crear y administrar proyectos de Sagemaker.
- En la consola de administración de AWS para Amazon Sagemaker, elija Dominio del panel de navegación
- Seleccione su dominio de estudio
- Bajo Perfiles de usuarioseleccione su perfil de usuario
- En el Detalles del usuariocopia el ARN
- En la consola de administración de AWS para Amazon Sagemaker, elija Dominio del panel de navegación
- Crear un
tfvarsArchivo con las variables necesarias para el espacio de trabajo de Terraform Cloud - Establezca los valores apropiados en el recién creado
tfvarsarchivo. Se requieren las siguientes variables:
Asegúrese de que su organización deseada de Terraform Cloud (TFC) tenga los derechos adecuados y que su tfc_team es único para esta implementación. Ver el Descripción general de las organizaciones de Terraform Para obtener más información sobre la creación de organizaciones.
- Inicializar el espacio de trabajo de Terraform Cloud
- Aplicar el espacio de trabajo de Terraform Cloud
- Vuelve a la consola Sagemaker utilizando el perfil de usuario asociado con el rol de usuario de Sagemaker ARN que copió anteriormente y eligió Estudio abierto solicitud
- En el panel de navegación, elija Despliegues Y luego elige Proyectos
- Elegir Crear proyectoseleccione el
mlops-tf-cloud-exampleproducto y luego elegir Próximo - En Detalles del proyectoingrese un nombre único para la plantilla y (opción) Ingrese una descripción del proyecto. Elegir Crear
- En una pestaña o ventana separada, regrese a los espacios de trabajo de su cuenta de Terraform Cloud y verá un espacio de trabajo que se aprovechará directamente de su implementación del proyecto Sagemaker. La convención de nombres del espacio de trabajo será
–
Personalización adicional
Este ejemplo se puede modificar para incluir Terraform personalizado en su plantilla de proyecto Sagemaker. Para hacerlo, defina su Terraform en el directorio MLOPS-Product/Product. Cuando esté listo para implementar, asegúrese de archivar y comprimir este Terraform utilizando el siguiente comando:
Limpieza
Para eliminar los recursos implementados con este ejemplo, ejecute lo siguiente desde el directorio del proyecto:
Conclusión
En esta publicación, definió, desplegó y aprovisionó una plantilla personalizada del Proyecto Sagemaker únicamente en Terraform. Sin dependencias en otras herramientas de IAC, ahora puede habilitar los proyectos de Sagemaker estrictamente dentro de su infraestructura empresarial de Terraform.
Sobre el autor
Max Copeland es ingeniero de aprendizaje automático para AWS, compromisos de clientes líderes que abarcan ML-OP, ciencia de datos, ingeniería de datos e IA generativa.