Amazon SageMaker Projects ha introducido una innovadora funcionalidad que permite a los científicos de datos manejar las herramientas e infraestructura de Amazon Web Services (AWS) de manera autónoma, mejorando así la organización del ciclo de vida del aprendizaje automático (ML). Este desarrollo busca que las organizaciones puedan estandarizar y controlar los recursos disponibles mediante plantillas preconfiguradas.
Sin embargo, para quienes utilizan Terraform para gestionar su infraestructura como código (IaC), esto supone un reto. Actualmente, Amazon SageMaker Projects requiere de AWS CloudFormation, lo que representa una barrera para empresas con políticas de IT que limitan el uso de herramientas específicas de proveedores, impidiendo así el pleno aprovechamiento de Terraform Cloud.
Un reciente artículo aborda cómo habilitar SageMaker Projects utilizando Terraform Cloud, superando la dependencia de CloudFormation. Este método implica asignar directamente SageMaker Projects a productos del AWS Service Catalog. Para evitar el uso de CloudFormation, estos productos se designan como productos de Terraform utilizando el AWS Service Catalog Engine para Terraform Cloud, un módulo que Hashicorp mantiene activamente.
La integración requiere cumplir con varios parámetros: una cuenta de AWS con permisos para gestionar proyectos de SageMaker, un dominio habilitado de Amazon SageMaker Studio, y un sistema UNIX con AWS CLI y Terraform instalados, además de una cuenta de Terraform Cloud con los permisos pertinentes.
El proceso de implementación incluye clonar un repositorio específico de GitHub, acceder a Terraform Cloud, obtener el Amazon Resource Name (ARN) del usuario de SageMaker y configurar parámetros necesarios en un archivo de variables. Al inicializar y aplicar el espacio de trabajo de Terraform Cloud, los usuarios pueden crear proyectos desde la consola de SageMaker, optimizando el flujo de trabajo y reduciendo la dependencia de herramientas externas.
Este enfoque no solo simplifica el proceso, sino que también ofrece mayor personalización, permitiendo incluir código Terraform en las plantillas de SageMaker. Así, las empresas pueden gestionar y desplegar proyectos de ML más eficazmente dentro de su infraestructura de Terraform Enterprise.