Configuración de permisos de entrega de métricas para agentes
Después de instalar los agentes para Network Flow Monitor, debe permitir que los agentes envíen métricas de red a las API de ingesta de Network Flow Monitor. Los agentes de Network Flow Monitor deben tener permiso para acceder a las API de ingesta de Network Flow Monitor para poder entregar las métricas de flujo de red que hayan recopilado para cada instancia. Para conceder este acceso, debe implementar roles de IAM para las cuentas de servicio (IRSA).
Para permitir que los agentes envíen métricas de red a Network Flow Monitor, siga los pasos descritos en esta sección.
Implemente roles de IAM para cuentas de servicio
Los roles de IAM para cuentas de servicio ofrecen la posibilidad de administrar las credenciales para las aplicaciones, de un modo similar a cómo los perfiles de instancia de Amazon EC2 proporcionan credenciales a instancias de Amazon EC2. La implementación de las IRSA es la forma recomendada de proporcionar todos los permisos necesarios a los agentes de Network Flow Monitor para acceder correctamente a las API de ingesta de Network Flow Monitor. Para obtener más información, consulte Roles de IAM para cuentas de servicio en la Guía del usuario de Amazon EKS.
Al configurar las IRSA para los agentes de Network Flow Monitor, use la siguiente información:
ServiceAccount: cuando defina la política de confianza de su rol de IAM, para
ServiceAccount, especifiqueaws-network-flow-monitor-agent-service-account.Espacio de nombres: para el
namespace, especifiqueamazon-network-flow-monitor.Implementación temporal de credenciales: al configurar los permisos después de implementar los pods de agente de Network Flow Monitor y actualizar la
ServiceAccountcon su rol de IAM, Kubernetes no implementa las credenciales del rol de IAM. Para garantizar que los agentes de Network Flow Monitor adquieran las credenciales de rol de IAM que especificó, debe reiniciarDaemonSet. Por ejemplo, use un comando como el siguiente:kubectl rollout restart daemonset -n amazon-network-flow-monitor aws-network-flow-monitor-agent
Confirmar que el agente de Network Flow Monitor acceda correctamente a las API de ingesta de Network Flow Monitor
Puede comprobar que la configuración de los agentes funciona correctamente usando los registros HTTP 200 de los pods de agentes de Network Flow Monitor. En primer lugar, busque un pod de agente de Network Flow Monitor y, a continuación, busque en los archivos de registro las solicitudes HTTP 200 que se hayan completado correctamente. Por ejemplo, puede hacer lo siguiente:
Busque el nombre de un pod de agente de Network Flow Monitor. Por ejemplo, puede usar el comando siguiente:
RANDOM_AGENT_POD_NAME=$(kubectl get pods -o wide -A | grep amazon-network-flow-monitor | grep Running | head -n 1 | tr -s ' ' | cut -d " " -f 2)Recopile todos los registros HTTP del nombre del pod que haya encontrado. Si ha cambiado el ESPACIO DE NOMBRES, asegúrese de usar el nuevo.
NAMESPACE=amazon-network-flow-monitor kubectl logs $RANDOM_AGENT_POD_NAME-\-namespace ${NAMESPACE} | grep HTTP
Si el acceso se concedió correctamente, debería ver entradas de registro similares a las siguientes:
... {"level":"INFO","message":"HTTP request complete","status":200,"target":"amzn_nefmon::reports::publisher_endpoint","timestamp":1737027525679} {"level":"INFO","message":"HTTP request complete","status":200,"target":"amzn_nefmon::reports::publisher_endpoint","timestamp":1737027552827}Tenga en cuenta que el agente de Network Flow Monitor publica los informes de flujo de red cada 30 segundos mediante una llamada a las API de ingesta de Network Flow Monitor.