¿Cómo puedo usar las métricas de CloudWatch para calcular el rendimiento promedio y el número promedio de IOPS que proporciona mi volumen de EBS?

5 minutos de lectura
0

Quiero usar las métricas de Amazon CloudWatch para calcular el rendimiento promedio y el número promedio de operaciones de entrada/salida por segundo (IOPS) de mi volumen de Amazon Elastic Block Store (Amazon EBS).

Descripción breve

Para calcular el rendimiento promedio y el número promedio de IOPS de tu volumen, utiliza las expresiones matemáticas con métricas de CloudWatch. Para supervisar los datos de tus volúmenes de EBS, crea alarmas de CloudWatch.

También puedes usar el documento de automatización AWSSupport-CalculateEBSPerformanceMetrics. La automatización utiliza las métricas de CloudWatch para calcular el rendimiento agregado, la cantidad de IOPS y el tamaño de E/S de los volúmenes de EBS. Puedes calcular las métricas de los volúmenes de EBS individuales o de todos los volúmenes de EBS que estén adjuntos a tu instancia de Amazon Elastic Compute Cloud (Amazon EC2).

Resolución

Cálculo manual del rendimiento

Sigue estos pasos:

  1. Abre la consola de CloudWatch.
  2. En Métricas, selecciona Todas las métricas.
  3. Selecciona EBS namespace (Espacio de nombres de EBS) y, a continuación, selecciona Métricas por volumen.
  4. Selecciona las siguientes métricas del volumen de EBS:
    Para calcular el promedio de IOPS, selecciona VolumeReadOps, VolumeWriteOps y VolumeIdleTime.
    Para calcular el rendimiento promedio, selecciona VolumeReadBytes, VolumeWriteBytes y VolumeIdleTime.
  5. Selecciona la pestaña Métricas diagramadas.
  6. En Estadística, selecciona Suma.
  7. En Periodo, selecciona el periodo de tiempo que desees ver.
  8. Anota los ID delante de cada métrica diagramada, como m1, m2, m3, etc.
  9. En Add math (Añadir matemática), selecciona Comenzar con una expresión vacía y, a continuación, introduce las siguientes expresiones para calcular el valor promedio esperado.
    Calcula el promedio de IOPS en operaciones por segundo:
    (m1+m2)/(PERIOD(m1))
    Nota: En la expresión anterior, m1 es VolumeReadOps y m2 es VolumeWriteOps.
    Calcula el rendimiento promedio en bytes por segundo cuando el volumen esté activo:
    (m1+m2)/(PERIOD(m1)-(IF(m3>59, 59, m3)))
    Nota: En la expresión anterior, m1 es VolumeReadBytes, m2 es VolumeWriteBytes y m3 es VolumeIdleTime.
    Calcula el rendimiento promedio en bytes por segundo:
    (m1+m2)/(PERIOD(m1))
    Nota: En la expresión anterior, m1 es VolumeReadBytes y m2 es VolumeWriteBytes.

El rendimiento y las IOPS son mediciones por segundo. Por lo tanto, cuando VolumeIdleTime dura más de 59 segundos, los puntos de datos de las métricas que se basan en el cálculo del periodo X de VolumeIdleTime pueden generar valores más altos de lo esperado. Además, el valor promedio del rendimiento y las IOPS puede ser diferente del valor promedio real debido a las microrráfagas. CloudWatch no agrega las métricas de volúmenes de EBS en el intervalo por segundo. Para obtener más información, consulta ¿Cómo puedo identificar si mi volumen de Amazon EBS tiene microrráfagas y, a continuación, asegurarme de que esto no afecte al rendimiento?

Uso de la automatización para calcular el rendimiento

Antes de empezar, copia el ID de volumen o el ID de instancia del recurso que deseas analizar. Debes tener un ID de recurso para ejecutar el documento de automatización.

(Opcional) Crea y especifica un rol de AWS Identity and Access Management (IAM) para la automatización. Si no eliges un rol, Automatización utilizará los permisos del usuario que ejecuta el documento.

Para ejecutar la automatización, puedes utilizar la consola de AWS Systems Manager o la AWS CLI.

Consola de Systems Manager

Sigue estos pasos:

  1. En la consola de Systems Manager, abre el documento en la región de AWS en la que se encuentran los recursos.
  2. En la sección Ejecutar documento de automatización, elige Ejecución simple.
  3. En la sección Parámetros de entrada, introduce los siguientes parámetros:
    En ResourceId, introduce el ID del volumen de EBS o de la instancia de EC2 que deseas analizar.
    En StartTime, introduce una hora en el formato aaaa-mm-ddThh:mm:ss y en UTC. Por ejemplo, escribe 2021-06-09T13:30:10.
    En EndTime, introduce una hora en el formato aaaa-mm-ddThh:mm:ss y en UTC. Por ejemplo, escribe 2021-06-16T13:30:10.
    (Opcional) En AutomationAssumeRole, elige tu rol de IAM.
  4. Selecciona Ejecutar.

El resultado final es una URL a tu panel. Para ver la URL, expande el campo Salidas. Utiliza el panel para ver las métricas analizadas y sus cuotas.

Nota: Para eliminar el panel, debes tener los permisos de IAM cloudwatch:DeleteDashboards.

AWS CLI

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Ejecuta el comando start-automation-execution de la AWS CLI:

aws ssm start-automation-execution --document-name "AWSSupport-CalculateEBSPerformanceMetrics" --document-version "\\$DEFAULT" --parameters '{"ResourceId":\["i-example12345"\], "StartTime":\["2021-06-09T13:30:10"\], "EndTime":\["2021-06-16T13:30:10"\], "Period":\["60"\], "AutomationAssumeRole":\[""\]}' --region us-east-1

Nota: En el comando anterior, sustituye ResourceId por el ID del recurso que deseas analizar. Sustituye StartTime y EndTime por la hora de inicio y finalización para ver los datos en CloudWatch. Sustituye us-east-1 por la región de tu recurso. Si has creado un rol de IAM para ejecutar la automatización, sustituye AutomationAssumeRole por tu rol de IAM.