Esta solución lo ayuda a configurar la recopilación de métricas lista para usar mediante agentes de CloudWatch para las cargas de trabajo de GPU NVIDIA que se ejecutan en instancias de EC2. Además, lo ayuda a configurar un panel de CloudWatch preconfigurado. Para obtener información general sobre todas las soluciones de observabilidad de CloudWatch, consulte Soluciones de observabilidad de CloudWatch.
Temas
Requisitos
Esta solución es adecuada para las siguientes condiciones:
-
Recursos informáticos: Amazon EC2
-
Compatible con hasta 500 GPU en todas las instancias de EC2 en una determinadaRegión de AWS
-
Versión más reciente del agente de CloudWatch
-
SSM Agent instalado en la instancia de EC2
-
La instancia de EC2 debe tener instalado un controlador NVIDIA. Los controladores NVIDIA están preinstalados en algunas Imágenes de máquina de Amazon (AMI). De lo contrario, puede instalar el controlador de forma manual. Para obtener más información, consulte Instalar los controladores NVIDIA en instancias de Linux.
nota
AWS Systems Manager (SSM Agent) está preinstalado en algunas Imágenes de máquina de Amazon (AMI) proporcionadas por AWS y terceros de confianza. Si el agente no está instalado, puede instalarlo manualmente mediante el procedimiento correspondiente al tipo de sistema operativo.
Ventajas
La solución ofrece supervisión NVIDIA, lo que proporciona información valiosa para los siguientes casos de uso:
-
Analice el uso de GPU y de memoria para detectar cuellos de botella en el rendimiento o la necesidad de recursos adicionales.
-
Supervise la temperatura y el consumo de energía para garantizar que las GPU funcionen dentro de límites seguros.
-
Evalúe el rendimiento del codificador para las cargas de trabajo de video de la GPU.
-
Compruebe la conectividad PCIe para conocer la generación y el ancho esperados.
-
Supervise las velocidades de reloj de la GPU para detectar problemas de escala y limitación.
A continuación se detallan las principales ventajas de la solución:
-
Automatiza la recopilación de métricas para NVIDIA mediante la configuración del agente de CloudWatch, lo que elimina la instrumentación manual.
-
Proporciona un panel de CloudWatch consolidado y preconfigurado para las métricas de NVIDIA. El panel administrará automáticamente las métricas de las nuevas instancias de EC2 de NVIDIA configuradas con la solución, incluso si esas métricas no existían cuando creó el panel por primera vez.
La siguiente imagen muestra un ejemplo del panel para esta solución:

Costos
Esta solución crea y utiliza recursos en su espacio de trabajo. Se cobrará por el uso estándar, que incluye lo siguiente:
-
Las métricas recopiladas por el agente de CloudWatch se cobran como métricas personalizadas. La cantidad de métricas que utiliza esta solución depende de la cantidad de hosts de EC2.
-
Cada host de EC2 configurado para la solución publica un total de 17 métricas por GPU.
-
-
Un panel personalizado.
-
Operaciones de API solicitadas por el agente de CloudWatch para publicar las métricas. Con la configuración predeterminada de esta solución, el agente de CloudWatch llama a PutMetricData una vez por minuto para cada host de EC2. Esto significa que la API PutMetricData se llamará
30*24*60=43,200
en un mes de 30 días para cada host de EC2.
Para obtener más información sobre los precios de CloudWatch, consulte Precios de Amazon CloudWatch
La calculadora de precios puede ayudarlo a estimar los costos mensuales aproximados del uso de esta solución.
Para usar la calculadora de precios para estimar los costos mensuales de la solución
-
En Elegir una región, seleccione la región en la que desea implementar la solución.
-
En la sección Métricas, en Número de métricas, ingrese
17 * average number of GPUs per EC2 host * number of EC2 instances configured for this solution
. -
En la sección API, en Número de solicitudes de API, ingrese
43200 * number of EC2 instances configured for this solution
. -
De forma predeterminada, el agente CloudWatch realiza una operación PutMetricData por minuto para cada host de EC2.
-
En la sección Paneles y alarmas, en Número de paneles, escriba
1
. -
Puede ver sus costos mensuales estimados en la parte inferior de la calculadora de precios.
Configuración del agente de CloudWatch para esta solución
El agente de CloudWatch es un software que se ejecuta de forma continua y autónoma en sus servidores y en entornos contenerizados. Recopila métricas, registros y trazas de su infraestructura y aplicaciones y los envía a CloudWatch y X-Ray.
Para obtener más información sobre el agente de CloudWatch, consulte Recopile las métricas, registros y seguimientos con el agente de CloudWatch.
La configuración del agente de esta solución recopila un conjunto de métricas para ayudarlo a empezar a supervisar y observar su GPU NVIDIA. El agente de CloudWatch se puede configurar para recopilar más métricas de GPU NVIDIA que las que muestra el panel de forma predeterminada. Para ver una lista de todas las métricas de GPU NVIDIA que puede recopilar, consulte Recopilación de métricas de GPU NVIDIA.
Configuración del agente de CloudWatch para esta solución
Las métricas que el agente recopiló se definen en la configuración del agente. La solución proporciona configuraciones de agentes para recopilar las métricas recomendadas con las dimensiones adecuadas para el panel de la solución.
Utilice la siguiente configuración de agente de CloudWatch en instancias EC2 con GPU NVIDIA. La configuración se almacenará como parámetro en Parameter Store de SSM, como se detalla más adelante en Paso 2: almacene el archivo de configuración recomendado del agente de CloudWatch en Parameter Store de Systems Manager.
{
"metrics": {
"namespace": "CWAgent",
"append_dimensions": {
"InstanceId": "${aws:InstanceId}"
},
"metrics_collected": {
"nvidia_gpu": {
"measurement": [
"utilization_gpu",
"temperature_gpu",
"power_draw",
"utilization_memory",
"fan_speed",
"memory_total",
"memory_used",
"memory_free",
"pcie_link_gen_current",
"pcie_link_width_current",
"encoder_stats_session_count",
"encoder_stats_average_fps",
"encoder_stats_average_latency",
"clocks_current_graphics",
"clocks_current_sm",
"clocks_current_memory",
"clocks_current_video"
],
"metrics_collection_interval": 60
}
}
},
"force_flush_interval": 60
}
Implementar el agente para su solución
Existen varios métodos de instalación del agente de CloudWatch, según el caso de uso. Recomendamos usar Systems Manager para esta solución. Proporciona una experiencia de consola y simplifica la administración de una flota de servidores administrados en una sola cuenta de AWS. Las instrucciones de esta sección utilizan Systems Manager y están pensadas para cuando el agente de CloudWatch no se esté ejecutando con las configuraciones existentes. Puede comprobar si el agente de CloudWatch se está ejecutando siguiendo los pasos que se indican en Verifique que el agente de CloudWatch esté en ejecución.
Si ya ejecuta el agente de CloudWatch en los hosts de EC2 en los que se implementa la carga de trabajo y administra las configuraciones del agente, puede omitir las instrucciones de esta sección y seguir el mecanismo de implementación existente para actualizar la configuración. Asegúrese de combinar la configuración de agente de la GPU NVIDIA con la configuración de agente existente y, a continuación, implemente la configuración combinada. Si utiliza Systems Manager para almacenar y administrar la configuración del agente de CloudWatch, puede combinar la configuración con el valor del parámetro existente. Para obtener más información, consulte Managing CloudWatch agent configuration files.
nota
El uso de Systems Manager para implementar las siguientes configuraciones de agente de CloudWatch reemplazará o sobrescribirá cualquier configuración de agente de CloudWatch existente en las instancias de EC2. Puede modificar esta configuración para adaptarla a su entorno o caso de uso únicos. Las métricas definidas en la configuración son las mínimas requeridas para el panel proporcionado por la solución.
El proceso de implementación consta de los siguientes pasos:
-
Paso 1: asegúrese de que las instancias de EC2 de destino disponen de los permisos de IAM necesarios.
-
Paso 2: almacene el archivo de configuración recomendado del agente en Parameter Store de Systems Manager.
-
Paso 3: instale el agente de CloudWatch en una o más instancias de EC2 mediante una pila de AWS CloudFormation.
-
Paso 4: verifique que la configuración del agente sea correcta.
Paso 1: asegúrese de que las instancias de EC2 de destino disponen de los permisos de IAM necesarios
Debe conceder permiso a Systems Manager para instalar y configurar el agente de CloudWatch. También debe conceder permiso al agente de CloudWatch para publicar la telemetría de su instancia de EC2 en CloudWatch. Asegúrese de que el rol de IAM adjuntado a la instancia tenga adjuntas las políticas de IAM CloudWatchAgentServerPolicy y AmazonSSMManagedInstanceCore.
-
Para crear un rol, consulte Cree roles de IAM para utilizarlos con el agente de CloudWatch en instancias de Amazon EC2.
-
Después de crear el rol, adjunte el rol a sus instancias de EC2. Para adjuntar un rol a una instancia de EC2, siga los pasos que se indican en Adjuntar un rol de IAM a una instancia.
Paso 2: almacene el archivo de configuración recomendado del agente de CloudWatch en Parameter Store de Systems Manager
Parameter Store simplifica la instalación del agente de CloudWatch en una instancia de EC2 al almacenar y administrar los parámetros de configuración de forma segura, lo que elimina la necesidad de valores de codificación rígida. Esto garantiza un proceso de implementación más seguro y flexible, lo que permite una administración centralizada y facilita las actualizaciones de las configuraciones en varias instancias.
Siga los pasos a continuación para almacenar el archivo de configuración del agente de CloudWatch recomendado como parámetro en Parameter Store.
Para crear el archivo de configuración del agente de CloudWatch como parámetro
Abra la consola de AWS Systems Manager en https://console.aws.amazon.com/systems-manager/
. -
Compruebe que la región seleccionada en la consola sea la región en la que se ejecuta la carga de trabajo de la GPU NVIDIA.
-
Desde el panel de navegación, elija Administración de aplicaciones, Parameter Store.
-
Siga estos pasos para crear un nuevo parámetro para la configuración.
-
Elija Create parameter.
-
En el cuadro Nombre, ingrese un nombre que utilizará para hacer referencia al archivo de configuración del agente de CloudWatch en pasos posteriores. Por ejemplo,
AmazonCloudWatch-NVIDIA-GPU-Configuration
. -
(Opcional) En el cuadro Descripción, escriba una descripción para el parámetro.
-
En Capa de parámetros, elija Estándar.
-
En Type, elija String.
-
En Tipo de datos, elija texto.
-
En el cuadro Valor, pegue el bloque JSON correspondiente que aparece en Configuración del agente de CloudWatch para esta solución.
-
Elija Create parameter.
-
Paso 3: instale el agente de CloudWatch y aplique la configuración mediante una plantilla de AWS CloudFormation
Puede usar AWS CloudFormation para instalar el agente y configurarlo para que use la configuración del agente de CloudWatch que creó en los pasos anteriores.
Para instalar y configurar el agente de CloudWatch para esta solución
-
Abra el asistente de AWS CloudFormation Creación rápida de pilas mediante este enlace: https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions.s3.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json
. -
Compruebe que la región seleccionada en la consola sea la región en la que se ejecuta la carga de trabajo de la GPU NVIDIA.
-
En Nombre de la pila, ingrese un nombre para identificar esta pila, como
CWAgentInstallationStack
. -
En la sección Parámetros, especifique los siguientes parámetros:
-
En CloudWatchAgentConfigSSM, ingrese el nombre del parámetro de Systems Manager para la configuración del agente que creó anteriormente, por ejemplo
AmazonCloudWatch-NVIDIA-GPU-Configuration
. -
Para seleccionar las instancias de destino, tiene dos opciones.
-
En el caso de InstanceIds, especifique una lista delimitada por comas de una lista de ID de instancia en los que desee instalar el agente de CloudWatch con esta configuración. Puede enumerar una sola instancia o varias instancias.
-
Si realiza una implementación a escala, puede especificar la TagKey y el TagValue correspondiente para dirigirse a todas las instancias de EC2 con esta etiqueta y valor. Si especifica una TagKey, debe especificar el TagValue correspondiente. (En el caso de un grupo de escalado automático, especifique
aws:autoscaling:groupName
para TagKey y especifique el nombre del grupo de escalado automático para que TagValue se implemente en todas las instancias del grupo de escalado automático).
-
-
-
Revise la configuración y, a continuación, seleccione Crear pila.
Si quiere editar primero el archivo de plantilla para personalizarlo, seleccione la opción Cargar un archivo de plantilla en el Asistente de creación de pilas para cargar la plantilla editada. Para obtener más información, consulte Creación de una pila en la consola de AWS CloudFormation.
nota
Una vez completado este paso, este parámetro de Systems Manager se asociará a los agentes de CloudWatch que se ejecuten en las instancias de destino. Esto significa que:
-
Si se elimina el parámetro de Systems Manager, el agente se detendrá.
-
Si se edita el parámetro de Systems Manager, los cambios de configuración se aplicarán automáticamente al agente con la frecuencia programada, que es de 30 días por defecto.
-
Si desea aplicar inmediatamente los cambios a este parámetro de Systems Manager, debe volver a ejecutar este paso. Para obtener más información sobre asociaciones, consulte Trabajo con asociaciones en Systems Manager.
Paso 4: verifique que la configuración del agente sea correcta
Puede comprobar si el agente de CloudWatch está instalado siguiendo los pasos que se indican en Verifique que el agente de CloudWatch esté en ejecución. Si el agente de CloudWatch no está instalado ni en ejecución, asegúrese de haber configurado todo correctamente.
-
Asegúrese de haber adjuntado un rol con los permisos correctos a la instancia EC2, tal y como se describe en Paso 1: asegúrese de que las instancias de EC2 de destino disponen de los permisos de IAM necesarios.
-
Asegúrese de haber configurado correctamente el JSON para el parámetro de Systems Manager. Siga los pasos de Solución de problemas de la instalación del agente de CloudWatch con AWS CloudFormation.
Si todo está configurado correctamente, debería ver las métricas de la GPU NVIDIA publicadas en CloudWatch. Puede comprobar la consola de CloudWatch para verificar que se estén publicando.
Para verificar que las métricas de la GPU NVIDIA se publican en CloudWatch
Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/
. -
Elija Métricas, Todas las métricas.
-
Asegúrese de haber seleccionado la región en la que implementó la solución y elija Namespaces personalizados, CWAgent.
-
Busque las métricas mencionadas en Configuración del agente de CloudWatch para esta solución, por ejemplo
nvidia_smi_utilization_gpu
. Si ve los resultados de estas métricas, significa que las métricas se están publicando en CloudWatch.
Crear el panel de soluciones de GPU NVIDIA
El panel proporcionado por esta solución presenta las métricas de las GPU NVIDIA mediante la agregación y presentación de las métricas de todas las instancias. El panel muestra un desglose de los principales contribuyentes (los 10 principales por widget de métrica) para cada métrica. Esto lo ayuda a identificar rápidamente los valores atípicos o las instancias que contribuyen de manera significativa a las métricas observadas.
Para crear el panel, puede usar las siguientes opciones:
Use la consola de CloudWatch para crear el panel.
Utilice la consola de AWS CloudFormation para implementar el panel.
Descargue la infraestructura de AWS CloudFormation como código e intégrela como parte de su automatización de integración continua (CI).
Al utilizar la consola de CloudWatch para crear un panel, puede obtener una vista previa del panel antes de crearlo y que se le cobre por ello.
nota
El panel creado con AWS CloudFormation en esta solución muestra las métricas de la región en la que se implementa la solución. Asegúrese de crear la pila AWS CloudFormation en la región en la que se publican las métricas de su GPU NVIDIA.
Si especificó un namespace personalizado que no sea CWAgent en la configuración del agente de CloudWatch, tendrá que cambiar la plantilla AWS CloudFormation del panel para sustituir CWAgent por el namespace personalizado que esté utilizando.
Para crear el panel mediante la consola de CloudWatch
-
Abra la consola de CloudWatch en Crear panel mediante este enlace: https://console.aws.amazon.com/cloudwatch/home?#dashboards?dashboardTemplate=NvidiaGpuOnEc2&referrer=os-catalog
. -
Compruebe que la región seleccionada en la consola sea la región en la que se ejecuta la carga de trabajo de la GPU NVIDIA.
-
Ingrese el nombre del panel, luego seleccione Crear panel.
Para diferenciar fácilmente este panel de otros paneles similares de otras regiones, recomendamos incluir el nombre de la región en el nombre del panel, por ejemplo
NVIDIA-GPU-Dashboard-us-east-1
. -
Obtenga una vista previa del panel y seleccione Guardar para crearlo.
Para crear el panel de control mediante AWS CloudFormation
-
Abra el asistente de AWS CloudFormation Creación rápida de pilas mediante este enlace: https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions.s3.amazonaws.com/NVIDIA_GPU_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json
. -
Compruebe que la región seleccionada en la consola sea la región en la que se ejecuta la carga de trabajo de la GPU NVIDIA.
-
En Nombre de la pila, ingrese un nombre para identificar esta pila, como
NVIDIA-GPU-DashboardStack
. -
En la sección Parámetros, especifique el nombre del panel en el parámetro DashboardName.
-
Para diferenciar fácilmente este panel de otros paneles similares de otras regiones, recomendamos incluir el nombre de la región en el nombre del panel, por ejemplo
NVIDIA-GPU-Dashboard-us-east-1
. -
Reconozca las capacidades de acceso para las transformaciones en Capacidades y transformaciones. Tenga en cuenta que AWS CloudFormation no agrega ningún recurso de IAM.
-
Revise la configuración y, a continuación, seleccione Crear pila.
-
Cuando el estado de la pila sea CREATE_COMPLETE, elija la pestaña Recursos situada debajo de la pila creada y, a continuación, elija el enlace situado en ID físico para ir al panel. También puede acceder al panel en la consola de CloudWatch seleccionando Paneles en el panel de navegación izquierdo de la consola y buscando el nombre del panel en Paneles personalizados.
Si desea editar el archivo de plantilla para personalizarlo para cualquier propósito, puede usar la opción Cargar un archivo de plantilla en Crear asistente de pilas para cargar la plantilla editada. Para obtener más información, consulte Creación de una pila en la consola de AWS CloudFormation. Puede utilizar este enlace para descargar la plantilla: https://aws-observability-solutions.s3.amazonaws.com/NVIDIA_GPU_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json
Introducción al panel de GPU NVIDIA
Estas son algunas tareas que puede probar con el nuevo panel de GPU NVIDIA. Estas tareas permiten comprobar que el panel funciona correctamente y le proporcionan experiencia práctica al usarlo para supervisar sus GPU NVIDIA. A medida que las vaya probando, se familiarizará con la navegación por el panel y la interpretación de las métricas visualizadas.
Revisar el uso de la GPU
En la sección Uso, busque los widgets Uso de GPU y Uso de memoria. Estos muestran el porcentaje de tiempo que la GPU se utiliza activamente para realizar cálculos y el porcentaje de memoria global que se lee o escribe, respectivamente. Un uso elevado podría indicar posibles cuellos de botella de rendimiento o la necesidad de recursos adicionales de la GPU.
Analizar el uso de memoria de la GPU
En la sección Memoria, busque los widgets Memoria total, Memoria usada y Memoria libre. Estos proporcionan información sobre la capacidad total de memoria de las GPU y la cantidad de memoria que se consume o está disponible actualmente. La presión de la memoria puede provocar problemas de rendimiento o errores por falta de memoria, por lo que es importante supervisar estas métricas y garantizar que haya suficiente memoria disponible para sus cargas de trabajo.
Supervisar la temperatura y el consumo de energía
En la sección Temperatura/energía, busque los widgets Temperatura de GPU y Consumo de energía. Estas métricas son esenciales para garantizar que las GPU funcionen dentro de los límites térmicos y de potencia seguros.
Identificar el rendimiento del codificador
En la sección Codificador, busque los widgets Recuento de sesiones del codificador, FPS promedio y Latencia promedio. Estas métricas son relevantes si ejecuta cargas de trabajo de codificación de video en sus GPU. Supervise estas métricas para asegurarse de que sus codificadores funcionan de manera óptima e identifique cualquier posible cuello de botella o problema de rendimiento.
Compruebe el estado del enlace PCIe
En la sección PCIe, busque los widgets Generación de enlace PCIe y Ancho de enlace PCIe. Estas métricas proporcionan información sobre el enlace PCIe que conecta la GPU al sistema host. Asegúrese de que el enlace funcione con la generación y el ancho esperados para evitar posibles limitaciones de rendimiento debido a los cuellos de botella del PCIe.
Revisar los relojes de la GPU
En la sección Reloj, busque los widgets Reloj gráfico, Reloj SM, Reloj de memoria y Reloj de video. Estas métricas muestran las frecuencias de funcionamiento actuales de varios componentes de la GPU. La supervisión de estos relojes puede ayudar a identificar posibles problemas relacionados con la escala del reloj de la GPU o la limitación de la frecuencia, que podrían afectar el rendimiento.