¿Cómo dar tus primeros pasos en Amazon Web Services (AWS)?

El sitio web de Amazon Web Services (AWS) explica que esta “es la plataforma en la nube más adoptada y completa en el mundo, que ofrece más de 165 servicios integrales de centros de datos a nivel global” y que las organizaciones más grandes del mundo, incluso las gubernamentales la usan para el funcionamiento de sus infraestructuras, el aumento de su agilidad y para disminuir costos.

AWS Identity and Access Management (IAM) es un servicio web que nos ayuda a controlar de manera segura el acceso a los recursos de AWS. Por ello, ofrece una alta disponibilidad, debido a que  replica datos entre varios servidores ubicados en centros de datos de Amazon de todo el mundo.

A continuación te damos un tutorial que explica cómo crear una cuenta en AWS, un usuario IAM y  cómo obtener permisos de escritura en DynamoDB.

Para utilizar los servicios Lambda y DynamoDB que ofrece AWS de manera local, utilizando SAM local, tendremos que crear una cuenta AWS, configurar las credenciales de esta cuenta y descargar los software necesarios para ejecutar el servicio.

La documentación de SAM se encuentra detallada en la página oficial de AWS:

1- Crear la cuenta en AWS

Ingresa al portal: https://portal.aws.amazon.com/billing/signup?type=enterprise#/start

aws

En la etapa final de la inscripción AWS solicita asociar una tarjeta de crédito para poder tener acceso a los servicios. En caso de omitir este paso, al momento de acceder a un servicio lambda o DynamoDB, la consola de AWS nos mostrará un mensaje diciendo que nos falta asociar una tarjeta de crédito.

inscripción AWS2- configurar credenciales 

Para configurar las credenciales de la cuenta no es necesario asociar una tarjeta de crédito. Para esto vamos a la consola de AWS y en la opción servicios, buscamos IAM.

configurar credenciales

IAM es un servicio de identificación de AWS que permite crear grupos y usuarios a los cuales se les otorga permisos para acceder a los servicios de AWS.

Para este tutorial crearemos un usuario y le otorgamos un acceso completo a los servicios, para hacer esta acción,  vamos a la opción de usuario y seleccionamos añadir usuario.

usuario IAM

Le damos un nombre al usuario y seleccionamos Acceso, mediante programación y le damos la opción siguiente.

crear usuario IAM

Para establecer los permisos del usuario, vamos a asociar directamente las políticas existentes y marcamos AdministratorAccess y le damos siguiente.

permisos usuario IAM

Podemos añadir etiquetas a este usuario. (Este paso es opcional).

AÑADIR ETIQUETAS

AWS nos muestra una revisión general de la creación del usuario y damos clic en crear usuario.

aws y usuario

Si el usuario se creó con éxito, AWS crea una ID para clave de acceso y una clave de acceso secreta. Estas dos son las credenciales, además nos permiten descargarlas en un formato .csv.  

Estos dos datos los debemos guardar, ya que serán necesarios más adelante.

usuario AWS

3- Instalación de AWS SAM CLI 

https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html

Para poder ejecutar SAM se debe tener instalado previamente AWS CLI y docker. Damos clic en installing the AWS command line interface. 

instalación AWSExisten varias formas para instalar el CLI.  Para este tutorial, se realizará mediante un instalador agregado.

CLI

Este enlace nos llevará un poco más abajo de esta misma página que nos muestra los instaladores para los diferentes sistemas operativos. Para windows damos clic en instalador MSI.

MSI

En esta sección descargamos el instalador de MSI para la versión de Windows que tengamos.

aws descarga

Descargamos el archivo y ejecutamos el instalador, finalizado el proceso de instalación verificamos que se haya instalado correctamente, mediante el siguiente comando en la consola del sistema:

aws –version

A continuación realizamos la instalación de Python, pip en Windows

https://www.python.org/downloads/windows/

Ejecute el instalador.

Elija Add Python 3 to PATH (Añadir Python3 a PATH).
Seleccione Install Now (Instalar ahora).

Verificamos que la instalación fuera exitosa con los siguientes comandos:

python –version
pip – version

Volvemos a la página inicial de la instalación de SAM. Se debe tener docker instalado en la máquina en esta guía no se abordara este tema.

Después de tener instalado CLI y docker, damos clic en installing the AWS SAM CLI on windows.

PIP VERSION

En esta página bajamos un poco y damos clic en la versión de Windows que tengamos para descargar el instalador de SAM.

SAM

Ejecutamos el archivos descargado e instalamos normalmente, al finalizar ejecutamos el comando:

sam –version para verificar que si este correctamente instalado.

4- crearemos una función lambda la cual se ejecutará de manera local haciendo uso de la herramienta SAM, el lenguaje que utilizaremos será node.js el cual debe estar ya instalado en nuestro pc.

Es importante aclarar que Docker debe estar corriendo

Para crear el proyecto vamos a la consola y ejecutamos el siguiente comando

sam init –runtime nodejs

Con este comando se creará una carpeta llamada sam-app en la cual hay una carpeta llamada hello_world(en esta carpeta se encuentra nuestra función lambda en un archivo .js)

hello world

un archivo README.md  en el cual se explica los pasos a seguir a continuación desde la consola ingresamos a la carpeta hello_world y descargamos todos los archivos necesarios utilizando el comando npm install

comando

Volvemos a la carpeta sam-app y ejecutamos el comando sam local start-api para iniciar la función  la cual correrá en un servidor local.

servidor local

Si vamos al navegador e ingresamos la ip del servidor local /hello veremos el mensaje que manda la función lambda.

código

Para detener el servicio presionamos CTRL + C en la consola

*Vamos a realizar la configuración de las credenciales utilizando el comando aws configure.

AWS CONFIGUREIntroducimos nuestra ID key y la secret access key presionamos enter hasta finalizar

5- utilizando Node.js y DynamoDB crearemos una tabla, cargaremos datos y crearemos elementos.

Nos estamos basando en la guía que ofrece AWS en su página oficial.
https://docs.aws.amazon.com/es_es/amazondynamodb/latest/developerguide/GettingStarted.NodeJs.html

 

Lo primero será configurar la versión local de DynamoDB

DYNAMODB

En esta página seleccionaremos DynamoDB (versión descargable) en su equipo.

ASW DYNA

Descargamos el archivo .zip

ASW ZIP

Descomprimimos el archivo entramos a la carpeta creada en la cual debe estar un archivo de nombre
DynamoDBLocal.jar

En esta carpeta abrimos la ventana de comandos y ejecutamos el siguiente comando:

java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb

JAVA

El servicio de AWS DynamoDB se encuentra funcionando de manera local.

SERVICIO LOCAL

A continuación, creamos una carpeta y donde estará nuestro proyecto abrimos la consola y ejecutamos el siguiente comando: npm install aws-sdk.

Esta acción descargara todos los módulos necesarios.

MODULOS

En la carpeta creamos un archivo denominado MoviesCreateTable.js  y pegamos el código proporcionado por AWS para la creación de la tabla en este caso una de películas

https://docs.aws.amazon.com/es_es/amazondynamodb/latest/developerguide/GettingStarted.NodeJs.01.html

Ejecutamos el comando: node MoviesCreateTable.js

 

comando_

Se a creado la tabla con éxito en DynamoDB local para agregar datos a la tabla los cuales se encuentran en formato JSON

https://docs.aws.amazon.com/es_es/amazondynamodb/latest/developerguide/samples/moviedata.zip

descomprimimos los datos y copiamos el archivo moviedata.json lo pegamos en la carpeta que creamos para el proyecto creamos un nuevo archivo llamado MoviesLoadData.js y pegamos el código proporcionado en la página de AWS

https://docs.aws.amazon.com/es_es/amazondynamodb/latest/developerguide/GettingStarted.NodeJs.02.html

para ejecutarlo desde la consola escribimos el siguiente comando
node MoviesLoadData.js

 

Se comenzaran a importar los datos

CODIGO-1

Para acceder a estos datos utilizaremos el código también facilitado en la página de AWS

Igual creamos un archivo de nombre MoviesQuery01.js copiamos y pegamos el código facilitado por AWS

https://docs.aws.amazon.com/es_es/amazondynamodb/latest/developerguide/GettingStarted.NodeJs.04.html

Ejecutamos el código en consola para ver los datos que solicitamos
node MoviesQuery01.js

En este caso las películas de 1985

Capture

Felicidades, siguiendo el paso a paso de este tutorial, lograste crear tu primera tabla DynamoDb. No olvides que AWS-SDK y el CLI nos permite acceder a muchos más servicios, para hacer cosas increíbles. Por ello, espera más guías en próximas entregas.