Creación de una Fuerza Laboral Privada en Amazon SageMaker Ground Truth con AWS CDK

0
2
User invitation and authentication process diagram integrating AWS WAF, Amazon Cognito, Amazon CloudWatch, and SageMaker Ground Truth

El uso de equipos de trabajo privados en Amazon SageMaker Ground Truth y Amazon Augmented AI (Amazon A2I) permite a las organizaciones generar conjuntos de datos propietarios y de alta calidad, al mismo tiempo que se mantienen elevados estándares de seguridad y privacidad. Para facilitar la creación de estas estructuras, el AWS Management Console ofrece una manera rápida e intuitiva, aunque muchas organizaciones optan por automatizar su infraestructura a través de infraestructura como código (IaC). Este enfoque no solo garantiza despliegues consistentes y eficientes, sino que también reduce la posibilidad de errores humanos o configuraciones incorrectas.

Sin embargo, establecer un equipo de trabajo privado mediante IaC presenta desafíos técnicos, especialmente debido a las complejas dependencias entre los servicios durante la creación inicial. Para abordar estas dificultades, se ha desarrollado una solución integral que permite crear programáticamente equipos de trabajo privados en Amazon SageMaker AI, utilizando el AWS Cloud Development Kit (AWS CDK). Esta solución incluye la configuración de un pool de usuarios de Amazon Cognito, completamente dedicado y ajustado a las necesidades del cliente. Un repositorio en GitHub proporciona un ejemplo personalizable que explica cómo gestionar un equipo privado junto con las configuraciones necesarias de Amazon Cognito.

La solución presentada está diseñada para establecer un equipo de trabajo privado y un pool de usuarios de Amazon Cognito, permitiendo así llevar a cabo tareas de etiquetado en aprendizaje automático (ML). Un obstáculo técnico importante es la dependencia mutua entre los recursos de Amazon Cognito y el equipo privado; la creación de la aplicación del pool de usuarios requiere ciertos parámetros que solo están disponibles tras la creación del equipo, mientras que el equipo necesita la aplicación ya existente. Esta interdependencia complica la configuración de la infraestructura.

Además, el nombre de dominio del pool de usuarios debe permanecer constante a través de los despliegues, dado que no se puede cambiar fácilmente después de la creación inicial, y cualquier inconsistencia puede dar lugar a errores. Para abordar estos retos, la solución utiliza varios constructos de AWS CDK, incluyendo recursos personalizados de AWS CloudFormation, lo que permite orquestar la creación del pool de usuarios y el equipo de trabajo privado, garantizando la correcta configuración de los recursos y la gestión de sus interdependencias.

La arquitectura de la solución está compuesta por una pila con múltiples recursos y servicios. Algunos son necesarios únicamente para la configuración inicial, mientras que otros son utilizados por los trabajadores del equipo privado al iniciar sesión para completar tareas de etiquetado. La implementación requiere que varios servicios y recursos de AWS colaboren para establecer el equipo de trabajo.

Tras la configuración inicial, un trabajador puede unirse al equipo y acceder al portal de etiquetado. El flujo de autenticación incluye la invitación por correo electrónico, el registro inicial, la autenticación y el inicio de sesión en el portal. Los trabajadores reciben un correo que proporciona el nombre de usuario, una contraseña temporal y la URL del portal de etiquetado. Al intentar ingresar al portal, son redirigidos al dominio del pool de usuarios de Amazon Cognito para autenticar su identidad.

Para implementar esta solución, se requiere cumplir ciertos requisitos previos y seguir un procedimiento de despliegue que incluye la clonación del repositorio de GitHub y el uso de recursos y credenciales adecuadas de AWS. Una vez los trabajadores hayan sido invitados y completado su registro, podrán acceder al portal de etiquetado y gestionar sus tareas.

Finalmente, al implementar un equipo de trabajo privado, es crucial considerar las mejores prácticas de Amazon Cognito y AWS CDK, así como adaptaciones adicionales para mejorar la seguridad y la eficiencia operativa. Las organizaciones pueden personalizar la solución para alinear su infraestructura con sus necesidades específicas, integrando otros servicios de AWS y adoptando mejores prácticas en seguridad y configuración de redes.
vía: AWS machine learning blog