Ver y crear Tags en recursos de AWS usando Postman

Guillermo Ojeda
Computación en la nube
January 7, 2021

Ver y crear Tags en recursos de AWS usando Postman

La mayoría de los recursos de Amazon Web Services soportan Tags, que son pares clave-valor que se interpretan como simples strings y permiten filtrar los recursos a la hora de crear dashboards, listar los recursos (en la consola, el CLI o por API) o crear reportes. Incluso se pueden crear filtros en Billing basados en tags, por ejemplo para filtrar recursos por centro de costos se podría usar un tag con clave cost-center y distintos valores para distintos clientes. También, la mayoría de los recursos que soportan Tags permiten asignar permisos desde IAM utilizando estos tags.

Algunos usos típicos de tags son environment: dev/test/pre/prod, owner: dev/qa/ops/support, service: backend/cache/postprocessing/etc o cost-center: client1/client2/etc. Una discusión de mejores prácticas excede al alcance de este artículo, pero les recomiendo estos recursos:

  • https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
  • https://aws.amazon.com/answers/account-management/aws-tagging-strategies/
  • https://cloudacademy.com/blog/aws-tags-important/

Pre-requisitos para crear tags usando Postman:

  1. Tener una cuenta de AWS
  2. Tener Postman
  3. Tener un usuario de IAM con Access Keys y con permisos para crear tags. Pueden seguir esta guía para crear usuario con Access Keys. Los permisos son un poco más complejos porque se asignan para cada servicio. Pueden crear una policy con permisos para tags para cada servicio (para este artículo alcanza con EC2 y CloudWatch), o pueden usar directamente esta policy con permisos para crear, borrar y describir tags en EC2 y CloudWatch.
No alt text provided for this image
  1. Descargar esta colección de Postman.

La colección de Postman contiene (hasta el momento) 4 requests: una para agregar un tag a un recurso de EC2, una para ver los tags de un recurso (para validar que se hayan agregado correctamente), una para agregar un tag a una alarma de CloudWatch y una para ver los tags de una alarma de CloudWatch.

Lo primero que vamos a hacer es agregar nuestra Access Key a las requests. Para eso, vamos a cualquiera de las requests, seleccionamos la pestaña Authorization y en los campos AccessKey y SecretKey pegamos los valores correspondientes a nuestro usuario. De paso, es un buen momento para checkear el campo AWS Region más abajo. Yo siempre uso us-east-1 para probar cosas, pero si quieren usar esta colección para otra región es necesario especificarla en ese campo. En este link pueden encontrar información extra sobre cómo autenticar requests REST con AWS Signature.

No alt text provided for this image

Luego, si en la request Describe EC2 tags ingresamos el Resource ID de una instancia de EC2 vamos a obtener sus tags existentes (es posible que en su caso todavía no tengan ninguno).

No alt text provided for this image

Si completamos la autorización en Tag an EC2 Instance, introducimos el Resource ID de la instancia y un nuevo tag (con key y value), al enviar la request vamos a obtener una respuesta "true", que indica que el tag fue creado.

No alt text provided for this image

Y volviendo a lanzar la request Describe EC2 tags vemos que se agregó el tag con éxito.

No alt text provided for this image






Para CloudWatch funciona de la misma manera (utilizando las requests correspondientes), con algunas salvedades:

  • Al día de la fecha, diciembre de 2019, sólo se pueden crear tags en alarmas de CloudWatch, ningún otro recurso de CloudWatch soporta tags.
  • No tiene las mismas features que EC2. Por ejemplo, no se pueden filtrar los recursos por tags, sólo se pueden ver los tags para un recurso dado (por eso la acción es ListTagsForResource y no DescribeTags)
  • En vez de usar Resource ID (que es propio de los recursos de EC2) para identificar los recursos, utiliza ResourceARN (identificador genérico de AWS)

Eso es todo, por ahora. Así como yo pude crear estas requests para crear y mostrar tags en recursos, se pueden hacer muchas cosas desde la API de AWS. Por si les interesa explorar otras operaciones, les dejo el listado de operaciones de la API de EC2 y el listado de operaciones de la API de CloudWatch. Las requests se autentican de la misma forma, pero el usuario de IAM que utilicen va a necesitar otros permisos.

Estas API se pueden consumir con un cliente como Postman o desde un fragmento de código. Si van a hacerlo desde código recomiendo por comodidad usar el SDK de AWS correspondiente al lenguaje que usen, pero estas mismas requests funcionan desde cualquier lenguaje.



Guillermo Ojeda

Consulting AWS Cloud Architect | AWS Authorized Instructor | Author of this headline

Related Posts

Boletin informativo SpainClouds.com

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form