Aprende a administrar infraestructura en la nube con recursos de AWS
La capacidad de mantener los sistemas en línea, listos, eficientes y ágiles para responder a las solicitudes de los clientes, es el reto diario en la administración de la infraestructura.
Tener esta capacidad es muy importante para diferenciarnos y permanecer como la mejor opción en la mente de nuestros clientes.
Un entorno de infraestructura eficientemente organizado nos da ventajas a la hora de enfrentar incidencias, permitiéndonos aislar las fallas e identificar las causas en menor tiempo y con menores impactos.
Otra de sus ventajas es que permite monitorear y administrar fácilmente los costos y además resulta de gran ayuda en la búsqueda constante de optimización de recursos.
En este artículo hablaremos de tres herramientas que, al ser combinadas, nos ayudarán en la tarea de mantener nuestros entornos debidamente organizados y facilitarán la administración y control de costos.
Comenzaremos dando un vistazo a Resource Groups (grupos de recursos) y Tag Editor (editor de etiquetas), finalizando con Cost Allocation Tags (Etiquetas de asignación de costos).
1. Resource Groups
La consola de AWS está organizada por tipos de servicio, sin embargo, con Resource Groups podemos crear una consola personalizada para organizar y consolidar los recursos de acuerdo a los criterios de sus etiquetas.
Con esta característica podemos administrar de manera sencilla aplicaciones en diferentes fases como desarrollo, preproducción y producción, así como administrar recursos de diferentes proyectos o aquellos usados por distintos departamentos, individuos o plataformas (Ej: Android o iOS).
Pensemos que existen varias versiones (alfa, beta, release) de una aplicación y mantenemos los sets de recursos de manera separada. Sin Resource Groups necesitaríamos navegar por múltiples consolas de servicios para modificar las configuraciones o revisar el estado de los recursos de cada versión de la aplicación.
En contraste, cuando usamos Resource Groups podemos crear un grupo de recursos para cada versión, abrir la página correspondiente a la versión requerida y listo, ya tenemos la información consolidada de todos los recursos y acceso a cada uno de los servicios mediante los links.
Con Resource Groups también podemos automatizar tareas en múltiples recursos relacionados y ejecutarlas en bloque.
Por ejemplo, si contamos con varias instancias Ec2 encontraremos muy útil ejecutar en un solo momento la instalación de actualizaciones o parches de seguridad, apertura de puertos para tráfico de red, recolectar logs específicos y datos de monitoreo de una flota de instancias.
Aquí puedes revisar la lista de servicios que funcionan con Resource Groups.
Cómo usar Resource Groups paso a paso:
- Ingresar a la consola de aws y luego a AWS Resource Groups.
- En el apartado Resources ingresar a Create Resource Group. En Group Type seleccionar Tag Based
- Encontramos la sección Grouping Criteria, debemos seleccionar el tipo de recursos de la lista desplegable en Resource Types, elegir los tag key y tag value que necesitamos incluir en el grupo. Hacemos clic en Preview group resources.
- Revisamos que se encuentren todos los recursos que queremos incluir en el grupo y pasamos a Group details. Allí incluimos el nombre del grupo y la descripción, Group name y Group Description respectivamente
- Se recomienda incluir los tags de identificación del grupo en Group Tags.
- Seleccionar Create Group.
2. Tag Editor
La base fundamental de Resource Groups son los tags. Sabemos que los tags son palabras o frases que nos sirven para identificar y organizar los recursos. Cada recurso puede contener hasta 50 tags aplicados por el usuario y cada tag consiste en una combinación de nombre y valor.
Aplicar tags facilita varios procesos propios de la administración de los recursos:
- Agrupar recursos para administrarlos con fines técnicos (ambientes, aplicación, versión proyecto).
- Automatización (encendido/apagado programado, actualizaciones, ciclo de vida, clean up).
- Costos discriminados (aplicación, proyecto, ambiente).
- En temas de seguridad, permiten visualizar recursos con políticas de cumplimiento y acceso específicas.
Podemos agregar tags de manera individual cuando estamos creando los recursos o también lo podemos hacer posteriormente. Sin embargo, Tag Editor nos permite agregar tags a múltiples recursos a la vez y nos ayudará bastante para desplegar una estrategia de identificación (tagging) consistente con nuestros objetivos.
Y ya que hablamos de estrategias de identificación de recursos (Tagging Strategy), hay que tener en cuenta que las aplicaciones, flujos o cargas de trabajo van evolucionando con el tiempo y por tanto son objeto de múltiples cambios.
Por lo anterior, es fundamental planear diligentemente los esquemas y la aplicación de los tags. De esto depende el éxito o fracaso de todo lo que estamos hablando aquí, no funcionará si tenemos que cambiar frecuentemente los tags según vamos aumentando la cantidad de recursos.
Aquí puedes consultar una guía de buenas prácticas para crear tags.
Volviendo a Tag Editor, este nos habilita para realizar búsquedas de recursos en una o más regiones. Podemos escoger hasta 20 tipos de recursos individualmente o crear una consulta sobre todos los tipos de recursos, se puede incluir tanto los que ya cuentan con tags como aquellos que no tienen ninguno. Después de encontrar los recursos podemos agregar, ver, editar o eliminar tags.
Como característica útil, tenemos la posibilidad de exportar los resultados de una búsqueda de recursos en un archivo de valores separados por comas, CSV.
Aprende a usar Tag Editor paso a paso:
Tenemos la opción de incluir los tags de los recursos durante su creación o posteriormente con ayuda de tag editor:
- Ingresar a la consola de aws y luego a AWS Resource Groups.
- En el apartado Tagging, ingresar a Tag editor.
- En la sección Find resources to tag, seleccionar la región donde están alojados los recursos a identificar. En Resource Type, elegir el tipo de recursos de la lista desplegable, también podemos seleccionar todos los recursos soportados.
- Tenemos un filtro opcional por tags, seleccionando el tag key y el tag value, podemos refinar la búsqueda y añadir nuevos tags a recursos que ya poseen alguno.
- Los resultados de los recursos se muestran en el apartado Resource search results. En la parte izquierda del listado encontramos una caja de chequeo para seleccionar los recursos a los cuales queremos añadir o cambiar tags. Notemos que una vez seleccionado el primer recurso se activa la opción Manage tags of selected resources que se encuentra en el encabezado del apartado al costado derecho.
- Seleccionar las cajas de chequeo de los recursos necesarios e ingresar a Manage tags of selected resources.
En el apartado Edit tags of all selected resources añadir o sobre escribir los tags de todos los recursos seleccionados. Revisar y aplicar cambios.
Para mayor información sobre configuración y manejo de Tag Editor puedes seguir este link.
Consejos para una Tagging Strategy exitosa
Como lo mencionamos anteriormente este es el momento más importante para una buena gestión de recursos. Los siguientes son algunos aspectos a tener en cuenta:
- Tener una nomenclatura de nombres estandarizada, conocida y respetada por los miembros del equipo.
- Los tags deben ajustarse a la creación de recursos de forma automatizada, por ejemplo instancias lanzadas desde autoscaling groups o infraestructura aprovisionada desde código.
- Para tareas automatizadas como encendido/apagado de recursos, los tags ayudan para indicar cuáles recursos tienen permitido apagarse o detenerse.
- Idear tags para control de los costos. Podemos usar los tags definidos en el resource group o adjudicar unos nuevos según necesitemos separarlos para el análisis de costos.
3. Cost Allocation Tags
Cost Allocation Tags es un servicio que nos habilita para descargar reportes de costos discriminados por proyectos, versiones, etc. Solo se deben activar los reportes con Tags definidos por el usuario y tendremos la información de costo de cada uno de los recursos de acuerdo a los tags que hayamos definido previamente.
La siguiente es la imagen de un fragmento del reporte de costos con el tag “powerbi” el cual activamos previamente:
Realizando un sencillo filtro en el archivo .csv descargado, podemos obtener la información de uso y costos. Los tags aquí definidos deben ser consistentes con la estrategia de tagging mencionada anteriormente.
Cost Allocation Tags paso a paso
Debemos activar Cost allocation tags definidos por el usuario y configurar Cost allocation report.
- Ingresar a la consola de aws y luego a AWS Billing.
- En el panel de navegación seleccionamos Cost Allocation Tags. Allí, en la pestaña User-defined cost allocation tags escogemos los tags que deseamos ver en el reporte de costos y damos clic en Activate.
- Una vez activados, pueden transcurrir 24 horas para que los tags aparezcan en el reporte de costos. Para tener más detalles sobre la activación puedes consultar este link.
- En el panel de navegación de AWS Billing, en el apartado Preferences, ingresamos a Billing Preferences.
- Desplegamos el menú Detailed Billing Report [Legacy] y habilitamos la caja de chequeo:
- En Save to S3 Bucket configuramos un nombre válido para el bucket que alojará los reportes y seleccionamos Verify.
- Chequeamos la caja correspondiente a Cost allocation report
- Desde aquí es posible activar otros tags para nuestro reporte accediendo a Manage report tags
- Al finalizar, clic en save preferences
4. Configuraciones básicas
Resource Groups y Tag Editor requieren permisos para agregar o visualizar Tags en cada uno de los recursos involucrados, adicionalmente debemos contar con los permisos adecuados para ejecutar operaciones sobre Resource Groups y Tag Editor.
Aquí puedes conocer sobre los permisos necesarios.
Solo las cuentas de administración de una organización y las cuentas individuales que no forman parte de una organización tienen acceso al administrador de Cost Allocation Tags en la consola de Billing.
5. Conclusiones
Mediante el uso de tags en conjunto con Resource Groups podemos visualizar información de recursos en un solo lugar, en vez de cambiar entre varias consolas o regiones.
Activando Cost Allocation Tags tendremos información de costos y usos de manera discriminada para los recursos con determinados tags.
Existen otras herramientas y servicios que no mencionamos aquí y de los que también podemos sacar provecho con una consistente aplicación de tags, es el caso de AWS Budgets, en donde podemos configurar notificaciones de límites de uso para recursos con un tag en particular.
Comparte
Te puede interesar
Otros artículos de Marketing
Cómo aprender programación desde cero siendo autodidacta
Tutorial de Cypress parte 2: Crea una prueba completa paso a paso
Si eres Backend debes conocer estos servicios de AWS
Suscríbete al
Blog Pragma
Recibirás cada mes nuestra selección de contenido en Transformación digital.