Análisis de rendimiento y solución de problemas

Tipos de instancia EC2, volumenes EBS, RDS Performance Insights, CloudTrail y SSM Automation explicados desde cero para principiantes.

Resolver problemas de rendimiento en AWS es como ser mecanico de automoviles. Cuando un auto es lento, necesitas averiguar si el problema es el motor, los neumaticos o el combustible. En AWS, cuando un servidor es lento, verificas si el problema es la CPU, la memoria, el almacenamiento o la red. Este post te ensena las herramientas de diagnostico.

 

Tipos de instancias EC2 — Eligiendo la herramienta correcta

Las instancias EC2 vienen en diferentes tipos, cada una optimizada para un tipo especifico de trabajo. Piensalo como elegir el equipo de cocina correcto: no horneas pan en una olla ni hierves sopa en un horno.

| Tipo | Nombre | Caracteristica | Bueno para | |------|--------|---------------|-----------| | Proposito general | Serie M, Serie T | CPU y memoria equilibradas | Servidores web, bases de datos pequenas | | Optimizada para computo | Serie C | Rendimiento CPU extra alto | Procesamiento por lotes, computacion cientifica | | Optimizada para memoria | Serie R, Serie X | Gran cantidad de RAM | Bases de datos en memoria, caches grandes | | Optimizada para almacenamiento | Serie I, Serie D | Lectura/escritura de disco muy rapida | Almacenes de datos, sistemas de archivos distribuidos |

El sistema de creditos de las instancias T

Las instancias de la serie T (T3, T4g, etc.) funcionan de manera unica. Cuando el uso de CPU es bajo, la instancia acumula "creditos" con el tiempo. Cuando la demanda de CPU aumenta, gasta esos creditos para aumentar el rendimiento. Piensalo como una cuenta bancaria: ahorra cuando el negocio esta tranquilo, gasta cuando lo necesitas.

Cuando el saldo de creditos llega a cero, el rendimiento de la CPU se limita a un nivel base. En este punto, tu aplicacion puede volverse muy lenta repentinamente.

Habilitar el modo Unlimited permite que la instancia continue ejecutandose a alta CPU incluso despues de que los creditos se agoten, pero se te cobra por el exceso de CPU usado.

Consejo de examen: si una pregunta dice "una instancia EC2 se ejecuta lentamente" y es una instancia tipo T, sospecha primero del agotamiento de creditos.

Grupos de colocacion — Donde colocar fisicamente tus servidores

Los grupos de colocacion controlan la ubicacion fisica de tus instancias en relacion entre si.

Grupo de colocacion en Cluster: coloca todas las instancias juntas en el mismo hardware fisico en la misma Zona de Disponibilidad. La latencia de red entre instancias se vuelve extremadamente baja. Usalo para entrenamiento de aprendizaje automatico o cargas de trabajo HPC donde los servidores necesitan intercambiar enormes cantidades de datos a alta velocidad.

Grupo de colocacion Spread: coloca cada instancia en hardware fisico separado. Si el hardware de un servidor falla, los otros no se ven afectados. Usalo para instancias criticas que deben permanecer aisladas entre si para alta disponibilidad.

Grupo de colocacion de Particiones: divide las instancias en grupos llamados particiones, y cada particion esta en un rack de hardware separado. Usalo para sistemas distribuidos grandes como HDFS (Hadoop) o Cassandra.

 

Tipos de volumen EBS — No todos los discos duros son iguales

EBS (Elastic Block Store) es como un disco duro que conectas a tu instancia EC2. Los diferentes tipos de volumen tienen caracteristicas de rendimiento y costo muy diferentes.

| Tipo de volumen | IOPS maximo | Throughput maximo | Caracteristica clave | Caso de uso | |----------------|------------|-------------------|---------------------|------------| | gp3 | 16,000 | 1,000 MB/s | IOPS configurable independientemente del tamano | La mayoria de cargas de trabajo | | io2 Block Express | 256,000 | 4,000 MB/s | Maximo rendimiento, Multi-Attach | Bases de datos mission-critical | | st1 | N/A | 500 MB/s | Optimizado para throughput secuencial | Big data, procesamiento de logs | | sc1 | N/A | 250 MB/s | Opcion mas barata | Archivos, datos poco accedidos |

El punto clave de gp3: con el antiguo gp2, los IOPS estaban vinculados al tamano del volumen. Con gp3, configuras IOPS y throughput independientemente del tamano del volumen. Esto significa que no tienes que comprar mas almacenamiento solo para obtener mas rendimiento.

 

RDS Performance Insights — El informe de salud de tu base de datos

Imagina que tienes una tienda en linea y el procesamiento de pedidos se ralentiza repentinamente. Necesitas saber: ¿es la red, los servidores o una consulta especifica de base de datos? RDS Performance Insights es un panel visual que muestra exactamente lo que esta pasando dentro de tu motor de base de datos.

Caracteristicas principales:

Las principales consultas SQL clasificadas por la carga que crean. Puedes ver "esta consulta es responsable del 40% de la carga total de la base de datos."

Los eventos de espera muestran por que las consultas estan esperando: ¿es porque la CPU esta sobrecargada, el disco es lento o otra consulta tiene un bloqueo en los mismos datos?

El grafico de carga de DB visualiza que tan ocupada esta la base de datos comparada con el numero de vCPUs disponibles. Esto te ayuda a decidir si escalar a una instancia mas grande.

¿En que se diferencia de Enhanced Monitoring? Performance Insights mira dentro del motor de la base de datos: consultas, planes de ejecucion, eventos de espera. Enhanced Monitoring mira el servidor que ejecuta la base de datos: CPU a nivel de SO, memoria e informacion de procesos. Las dos herramientas se complementan entre si.

 

S3 Transfer Acceleration — Subidas rapidas desde cualquier parte del mundo

Imagina que un equipo en Ciudad de Mexico necesita subir archivos de video grandes a un bucket S3 en la region US East. Usando el internet normal, los datos viajan a traves de muchos enrutadores intermediarios, lo que introduce latencia e inestabilidad.

S3 Transfer Acceleration resuelve esto enrutando la subida a la ubicacion de borde de CloudFront mas cercana primero. Desde alli, los datos viajan por la red troncal privada de AWS, que es mucho mas rapida y confiable que el internet publico, hasta el bucket S3 de destino en EE. UU.

Para usarlo, cambia tu endpoint S3 a . Combinarlo con subidas multiparte hace que sea aun mas rapido.

Nota importante: Transfer Acceleration es mas efectivo para subidas de larga distancia a traves de continentes. Para distancias cortas, puede no mejorar la velocidad.

 

Modos de rendimiento de EFS — Ajustando tu sistema de archivos compartido

EFS (Elastic File System) es una carpeta compartida a la que multiples instancias EC2 pueden acceder simultaneamente. Piensalo como una unidad de red compartida en una oficina.

Hay dos modos de rendimiento. El modo de Proposito General tiene menor latencia y es adecuado para servidores web y sistemas de gestion de contenidos. El modo Max I/O tiene mayor throughput pero latencia ligeramente mayor. Esta disenado para analisis de big data y procesamiento de medios.

Para el throughput, hay tres modos. El throughput Bursting se escala automaticamente en funcion del tamano del sistema de archivos. El throughput Provisioned te permite especificar exactamente cuanto throughput necesitas. El throughput Elastic se ajusta automaticamente a tu carga de trabajo real.

 

CloudTrail — El registro de auditoria para toda tu cuenta AWS

CloudTrail registra cada llamada de API realizada en tu cuenta AWS. Piensalo como el sistema de tarjetas de acceso para un edificio de oficinas seguro: cada vez que alguien abre una puerta, se registra con una marca de tiempo y el nombre del empleado.

Tipos de eventos:

Los eventos de gestion registran operaciones en tu infraestructura: lanzar instancias EC2, crear roles IAM, crear buckets S3. Se recopilan por defecto y son gratuitos.

Los eventos de datos registran operaciones en los datos dentro de tus recursos: leer y escribir objetos S3, invocar funciones Lambda. No se recopilan por defecto y tienen un costo adicional.

Los eventos de Insights detectan automaticamente patrones inusuales de actividad de API. Por ejemplo, si hay de repente un gran pico en las llamadas API de creacion de roles IAM, CloudTrail Insights lo marca como una posible amenaza de seguridad.

CloudTrail Lake te permite ejecutar consultas SQL directamente contra tu historial de eventos de CloudTrail.

 

Systems Manager Automation — Deja de hacer tareas repetitivas manualmente

Conectarse manualmente a los servidores para reiniciarlos cada vez que algo sale mal es ineficiente. AWS Systems Manager Automation te permite definir runbooks que realizan estas tareas automaticamente.

Un runbook es un documento que define una secuencia de pasos. El patron mas comun en el examen: una alarma de CloudWatch se dispara porque una metrica supera un umbral. EventBridge detecta el cambio de estado de la alarma y activa un runbook de Automatizacion SSM. El runbook reinicia el servidor. Todo sucede automaticamente sin intervencion humana.

AWS proporciona runbooks preconfigurados para escenarios comunes: AWS-RestartEC2Instance, AWS-StopEC2Instance y otros estan disponibles de inmediato.

 

Puntos clave del examen

"Instancia T repentinamente lenta" -- Verificar saldo de creditos CPU; habilitar modo Unlimited o cambiar tipo de instancia

"Minimizar la latencia de red entre servidores" -- Grupo de colocacion Cluster

"Aislar instancias criticas de fallos de hardware" -- Grupo de colocacion Spread

"Configurar IOPS independientemente del tamano del volumen" -- gp3

"Maximo IOPS para base de datos mission-critical" -- io2 Block Express

"Lecturas secuenciales de archivos de datos grandes, bajo costo" -- st1

Volver a la lista del blog