Saltar a contenido

Modelos y servicios de AWS

A continuación explicaremos qué pasos debemos seguir para poder utilizar y/o experimentar con los modelos y servicios basados en IA ofrecidos por Amazon a través de AWS.

1. Primeros pasos con AWS

AWS ofrece sus servicios a través de dos vías: mediante su academia de aprendizaje AWS Academy, de forma gratuita para los alumnos inscritos, o a través del portal oficial AWS, en cuyo caso tendremos que proporcionar datos de pago para poder registrarnos.

A continuación explicamos los pasos generales a dar en uno u otro caso. En este documento nos centraremos en la primera opción, por ser gratuita. Para ello, un profesor debe habernos dado de alta previamente en los cursos o laboratorios que vayamos a probar.

1.1. Uso gratuito y prueba de servicios: AWS Academy

AWS Academy es un programa de capacitación en la nube ofrecido por AWS. Este programa brinda a las instituciones educativas la oportunidad de formar a sus estudiantes en el campo del cloud computing de manera gratuita. Los recursos proporcionados por AWS incluyen un plan de estudios completo, así como acceso a los servicios de AWS a través de laboratorios creados por los profesores. Es importante destacar que los estudiantes no necesitan tener una cuenta en AWS para acceder a los servicios, ya que pueden utilizar los laboratorios proporcionados por los profesores para practicar y experimentar con los servicios de AWS. Aquí tenemos un enlace a su web principal.

Acceso a los laboratorios

Si eres estudiante en un centro educativo afiliado a AWS Academy, podrás acceder a los laboratorios de prácticas mediante invitación previa del docente, sin necesidad de tener una cuenta en AWS.

La primera vez que accedes a un laboratorio (al pulsar el botón/enlace correspondiente en el correo con la invitación), se solicita crear una cuenta en la plataforma Canvas para poder acceder a los laboratorios.

Es necesario rellenar el formulario de registro, indicando, además de un correo electrónico, una contraseña y una zona horaria. Por último, hay que aceptar la política de uso de Canvas y los términos y condiciones para estudiantes de AWS y finalizar el registro.

Una vez terminado el registro, se produce una redirección a la página de inicio del laboratorio. Cada laboratorio cuenta con un saldo inicial predeterminado y acceso gratuito a ciertos servicios en la nube para poder hacer las prácticas planteadas.

Para realizar las tareas propuestas en el laboratorio, hay que hacer clic sobre el enlace Módulos, y a continuación sobre Laboratorio de aprendizaje.

La primera vez que se accede hay que aceptar una serie de términos y condiciones. Desplázate hasta el final de la página y pulsa I agree, y se cargará la siguiente página:

En la parte superior derecha están disponibles las siguientes acciones:

  • Start Lab: permite iniciar el laboratorio y comenzar a trabajar en él. Una vez que haces clic en "Start Lab", se te proporciona acceso a una instancia de AWS que contiene el entorno de laboratorio.
  • End Lab: permite finalizar el laboratorio y cerrar la instancia de AWS. Al hacer clic en "End Lab", se detienen todos los recursos del laboratorio y se borran todos los datos creados en la instancia de AWS.
  • AWS Details: proporciona información detallada sobre la instancia de AWS que se te ha asignado para el laboratorio. Aquí puedes ver la región de AWS, el tipo de instancia, la dirección IP pública, entre otros detalles.
  • Readme: proporciona instrucciones detalladas sobre el laboratorio. Aquí puedes encontrar información sobre el objetivo del laboratorio, los pasos a seguir, los recursos que se te proporcionan, etc.
  • Reset: permite reiniciar el laboratorio y volver al estado inicial. Al hacer clic en "Reset", se detienen todos los recursos del laboratorio y se borran todos los datos creados en la instancia de AWS. Luego, la instancia de AWS se reinicia y se restablece al estado inicial. Ten en cuenta que esta opción no reseteará tu saldo inicial y se eliminará permanentemente todo lo que hayas realizado.

Pulsa Start Lab para iniciar el laboratorio. En ocasiones, este proceso puede tardar unos minutos.

Observa que ahora el icono de AWS (1) aparece en verde, lo que indica que ya puedes acceder a la consola de administración web de AWS, haciendo clic sobre dicho icono en verde. Una vez dentro de la consola, ya podrás utilizar las herramientas y servicios de AWS que necesites desde la interfaz web.

También se muestra en la parte superior el saldo (2) y el tiempo restante (3) del laboratorio. Cuando el tiempo se agota, la sesión termina, pero cualquier dato y recurso que hayas creado se mantendrán. Sin embargo, si sobrepasas el presupuesto asignado, tu cuenta de laboratorio será deshabilitada y se perderá todo el progreso realizado. Para evitar malgastar tu presupuesto, asegúrate de lanzar solo el número de instancias que necesites, ajustadas a tus requisitos.

Hemos visto en este apartado cómo acceder a los laboratorios de AWS ACademy y también el acceso a la consola de administración web, pero tenemos otras formas de interactuar o consumir recursos de AWS.

1.2. Uso comercial: la cuenta AWS

En el caso de que vayamos a hacer un uso más profesional de los servicios de Amazon debemos crear una cuenta. Para ello se debe acceder a aws.amazon.com y elegir Crear una cuenta de AWS.

Una vez se hayan completado los campos de correo electrónico y nombre de cuenta, se solicita verificar la dirección de correo electrónico proporcionada e indicar una contraseña.

Seguidamente, se solicita una determinada información de contacto y el tipo de cuenta a crear. La cuenta peude ser personal o empresarial. Dependiendo del tipo de cuenta que elijamos se pedirá un tipo de información u otra de cara a la facturación. Para empezar a conocer AWS y crear pequeños proyectos, una cuenta personal será suficiente. Sin embargo, si ya se tienen nociones de AWS o trabajas en una empresa grande con múltiples usuarios y departamentos y se necesitan políticas de seguridad y control de acceso más robustas, una cuenta empresarial podría ser más apropiada.

En el siguiente paso se pide registrar una forma de pago, ya que todos los servicios de AWS tienen un costo asociado. Aunque AWS dispone de una capa gratuita que incluye una gran cantidad de recursos durante un período de tiempo limitado, algunos servicios pueden generar cargos fuera de los límites de la capa gratuita y por eso es necesario indicar un método de facturación. Más información sobre la capa gratuita de AWS.

El último paso consiste en verificar tu número de teléfono y seleccionar un plan de soporte para la cuenta de AWS.

Como resultado del proceso de registro, se obtiene una cuenta raíz. Esta cuenta raíz tiene acceso completo a todos los servicios y recursos de AWS, incluyendo la administración de usuarios y grupos, modificación del método de pago o, incluso, cerrar la cuenta. Debido a este nivel de permisos, es recomendable proteger al usuario root con Multi-Factor Authentication (MFA) y configurar usuarios adicionales para realizar las tareas diarias relacionadas con nuestra cuenta. Veremos cómo hacer esto más adelante, ya que primero vamos a conocer el servicio AWS Identity and Access Management (IAM) necesario para activar la MFA, y en general, para administrar el acceso a los recursos de AWS.

1.2.1. AWS IAM

Como hemos comentado, una sola cuenta de AWS puede tener servicios administrados por decenas de personas diferentes que pueden estar en distintos departamentos u oficinas, tener diferentes responsabilidades o niveles de antigüedad, e incluso estar en distintos países. Para mantener un entorno seguro en la nube con todas estas variables en cuestión, es esencial seguir las prácticas recomendadas de AWS Identity and Access Management (IAM).

IAM se puede utilizar para gestionar la autenticación y para especificar y aplicar políticas de autorización para especificar qué usuarios pueden obtener acceso a cada servicio. Es decir, permite definir quién, a qué y cómo se accede a los recursos AWS. Puedes obtener más información sobre AWS IAM en la documentación oficial.

Los principales componentes son:

  • Usuario: persona o aplicación que se puede autenticar en AWS. Cada usuario debe tener un nombre único (sin espacios en el nombre) dentro de la cuenta de AWS y un conjunto de credenciales de seguridad que no se comparte con otros usuarios. Estas credenciales son diferentes de las credenciales de seguridad de usuario raíz de la cuenta de AWS.
  • Grupo: conjunto de usuarios de IAM, a los que se les concede una autorización idéntica. Así pues, permite asociar las mismas políticas a varios usuarios de una manera sencilla. Hay que tener en cuenta que:
  • Un grupo puede contener muchos usuarios y un usuario puede pertenecer a varios grupos.
  • Un grupo solo puede contener usuarios y, a su vez, un grupo no puede contener otros grupos.
  • No hay ningún grupo predeterminado que incluya automáticamente a todos los usuarios de la cuenta de AWS.
  • Política de IAM: documento que define permisos para determinar lo que los usuarios pueden hacer en la cuenta de AWS. Una política normalmente concede acceso a recursos determinados y especifica lo que el usuario puede hacer con esos recursos, aunque también pueden denegar explícitamente el acceso.
  • Rol: herramienta para conceder acceso temporal a recursos de AWS específicos de una cuenta de AWS. Un rol de IAM puede tener asociadas políticas de permisos y se puede utilizar para delegar acceso temporal a usuarios o aplicaciones. Dicho de otro modo, un rol de IAM es similar a un usuario, ya que es una identidad de AWS con políticas de permisos que establecen qué puede hacer o no la identidad en AWS. Sin embargo, en lugar de estar asociada únicamente a una persona, el objetivo es que pueda asignarse un rol a cualquier persona que lo necesite. También es conveniente destacar que cuando se asume un rol, se proporcionan credenciales de seguridad temporales para la sesión de rol, de manera que es conveniente utilizar roles para delegar el acceso a usuarios, aplicaciones o servicios que normalmente no tendrían acceso a los recursos de AWS.

Una vez ya sabemos qué hace el servicio AWS IAM, vamos a ver cómo proteger la cuenta raíz de AWS utilizando este servicio.

Proteger la cuenta raíz de AWS

Para proteger las credenciales de nuestro usuario raíz conviene activar la Multi-Factor Authentication (MFA).

La MFA es una característica de seguridad de AWS en la que los usuarios utilizan un segundo paso de autenticación, además de la contraseña, para acceder a sus cuentas de AWS. Este segundo paso de autenticación puede ser un token de seguridad físico, un mensaje de texto SMS o una aplicación de autenticación en un dispositivo móvil.

Para activar MFA en una cuenta de AWS, hay que seguir los siguientes pasos: 1. Inicia sesión en la cuenta AWS. 2. En la barra de búsqueda de la Consola de Administración de AWS, busca el servicio IAM.
3. En el panel de control de IAM, en recomendaciones de seguridad, aparecerá un aviso para proteger al usuario raíz con la MFA. Elige Agregar MFA y luego Activar MFA en la siguiente página.

  1. Elige alguna de las opciones MFA disponibles. Por ejemplo, Dispositivo MFA virtual, que permite utilizar una aplicación de autenticación móvil, como Google Authenticator o Authy, para generar códigos de verificación únicos. Una vez se configura el dispositivo MFA virtual en tu cuenta de AWS, hay que ingresar el código generado por la aplicación en el momento del inicio de sesión para completar la autenticación.
  2. Una vez seleccionado el tipo de dispositivo MFA, elige Continuar. La siguiente página proporciona los pasos necesarios para conectar el dispositivo a tu cuenta. Cuando esté todo listo, elige Asignar MFA.

Configurar usuarios adicionales

Como ya hemos visto, no es recomendable utilizar la cuenta raíz de manera habitual. La recomendación es crear usuarios adicionales con roles y funciones específicas para cada uno.

Para crear usuarios adicionales y asignarles diferentes permisos utilizaremos de nuevo el servicio IAM. Los usuarios creados a traves de este servicio se llaman usuarios IAM. Es importante resaltar de nuevo que estos usuarios no son cuentas independientes sino usuarios creados dentro de la cuenta raíz, con contraseñas propias.

Cuando se crean usuarios IAM en AWS, se pueden elegir dos tipos de acceso: * Acceso a la consola de administración de AWS: permite a los usuarios iniciar sesión en la consola de administración de AWS para realizar tareas y administrar recursos a través de la interfaz gráfica de usuario. * Acceso programático: permite a los usuarios realizar solicitudes a través de las API de AWS utilizando herramientas como AWS CLI, SDK de AWS y otras aplicaciones. Cuando se concede acceso programático, se generan unas claves de acceso que se utilizan para autenticar las solicitudes.

Antes de crear un nuevo usuario, es conveniente crear un grupo de usuarios. Los grupos de usuarios son una forma de dar permisos a varios usuarios al mismo tiempo, lo que puede facilitar la administración de los permisos. Por ejemplo, podríamos crear un grupo de usuarios llamado "Administradores" y darle los permisos de administrador típicos. Cualquier usuario que pertenezca a ese grupo tendrá automáticamente los permisos de administrador. Si un nuevo usuario se une y necesita permisos de administrador, simplemente se añade al grupo de usuarios "Administradores".

A modo de ejemplo, vamos a crear un grupo de usuarios con acceso de administrador: 1. Inicia sesión en una cuenta AWS. 2. Accede a la consola de IAM. 3. En el menú de navegación de la izquierda, selecciona "Grupos de usuarios" y luego haz clic en "Crear grupo". 4. Indica un nombre para el grupo de usuarios, por ejemplo, "Administradores". 5. Después, desplázate hacia abajo en la página y busca la sección "Adjuntar políticas de permisos". Allí, debes buscar "AdministratorAccess" y seleccionar la casilla junto a la política que tenga ese nombre. Finalmente, desplázate hacia abajo y haz clic en "Crear grupo" para completar el proceso.

  1. En la consola de IAM, selecciona "Usuarios" en la barra de navegación de la izquierda y haz clic en "Agregar usuarios".
  2. Indica un nombre de usuario y selecciona el tipo de acceso a AWS que desees otorgarle. Para este ejemplo, selecciona ambas opciones y haz clic en "Siguiente: Permisos". Observa que aparece seleccionada la opción "Requerir reestablecimiento de contraseña", que obligará al usuario a cambiar su contraseña al iniciar sesión.
  1. En la siguiente página, añade el usuario al grupo de administradores creado anteriormente y selecciona "Siguiente: Etiquetas". Las etiquetas sirven para identificar y categorizar los usuarios. Para el ejemplo, elige directamente "Siguiente: Revisar" sin agregar una etiqueta. Este paso redirige a otra página donde puedes revisar los valores que se han establecido para el usuario antes de crearlo.
  2. Selecciona "Crear usuario" para crear el nuevo usuario. Se mostrará una pantalla de confirmación. Antes de presionar el botón "Cerrar" es muy importante que te asegures de descargar el fichero .csv con el ID de la clave de acceso, la clave de acceso secreta y la contraseña generadas, ya que solo se puede acceder a ellas desde esta pantalla.

2. Modelos y servicios administrados de Machine Learning

AWS proporciona un conjunto de servicios administrados de aprendizaje automático que podemos integrar en nuestras aplicaciones sin tener que contar con una gran experiencia en aprendizaje automático. Algunos de los servicios más populares son los siguientes :

  • Visión artificial: Amazon Rekognition proporciona reconocimiento facial y de objetos para imágenes y videos. Amazon Textract extrae texto de las imágenes.
  • Voz: Amazon Polly convierte texto en voz y Amazon Transcribe convierte el audio hablado en texto.
  • Idioma: Amazon Comprehend utiliza procesamiento del lenguaje natural para encontrar información y relaciones en el texto, Amazon Translate traduce texto a diferentes idiomas.
  • Chatbots: Amazon Lex es es un servicio que ayuda a crear aplicaciones de conversación interactivas que utilizan voz o texto.
  • Previsión: Amazon Forecast utiliza el aprendizaje automático para combinar datos de serie temporal con variables adicionales para crear previsiones
  • Recomendaciones: Amazon Personalize es otro servicio de aprendizaje automático que puede ayudar a crear recomendaciones personalizadas individuales para los clientes.

Para obtener más información acerca de estos servicios, puedes consultar aquí.

No todos los servicios de AWS están disponibles en todas las regiones, y algunos servicios pueden tener características específicas de la región. Puedes obtener una lista de los servicios de AWS ofrecidos por región aquí.

2.1. Modelos de visión

Explicaremos a continuación qué modelos tenemos disponibles en AWS para análisis o tratamiento de imágenes. En concreto hablaremos del modelo Amazon Rekognition, un servicio que simplifica la incorporación del análisis de imágenes y videos en nuestras aplicaciones. Con solo proporcionar una imagen o un video, el servicio puede realizar diversas tareas de reconocimiento, como identificar objetos, personas, texto, escenas y actividades. Además, es capaz de detectar contenido inapropiado tanto en imágenes como en videos.

Una de las funcionalidades destacadas de Amazon Rekognition es su capacidad para realizar reconocimiento y análisis facial. Esto significa que puede identificar características faciales, emociones y atributos de las personas presentes en las imágenes o videos. Además, es posible crear etiquetas personalizadas, lo que permite crear un modelo de machine learning que encuentre objetos, personas, texto, etc. específicos de un problema concreto.

Aquí puedes consultar la documentación oficial del servicio.