¿Cómo puedo usar las consultas de CloudWatch Logs Insights con mi registro de flujo de VPC?

Última actualización: 07/04/2022

Quiero utilizar las consultas de Amazon CloudWatch Logs Insights para procesar los registros de flujo de Amazon Virtual Private Cloud (Amazon VPC) que se encuentran en un grupo de registros. ¿Cómo puedo hacerlo?

Descripción corta

Después de activar los registros de flujo de VPC dirigidos a CloudWatch Logs, verá una transmisión de registros para cada interfaz de red elástica. CloudWatch Logs Insights es una herramienta de consulta que puede realizar búsquedas complejas sobre los eventos de registro almacenados en grupos de registros. Si se produce un fallo, puede utilizar CloudWatch Logs para identificar las posibles causas y validar las correcciones implementadas.

Para obtener información sobre los tipos de registro admitidos, consulteRegistros compatibles y campos detectados.

Resolución

Ejecutar una consulta

Para ejecutar una consulta, haga lo siguiente:

1.    Abra la consola de CloudWatch.

2.    Seleccione Logs (Registro), Logs Insights (Información detallada sobre el registro).

3.    En el panel Logs Insights (Información detallada sobre el registro), seleccione el grupo de registros para el que desea analizar y visualizar los datos.

4.    Puede crear una consulta oejecutar una de las consultas de ejemplo proporcionadas para los registros de flujo de la VPC. Si va a crear una consulta personalizada, comience por revisar los tutoriales que se proporcionan en la documentación de Amazon CloudWatch. Para obtener información sobre la sintaxis de consultas, diríjase aSintaxis de consultas de CloudWatch Logs Insights

5.    SeleccioneHistorial para ver las consultas realizadas anteriormente. Puede volver a realizar consultas desde Historial.

6.    Para exportar tus resultados, selecciona Exportar resultados y, a continuación, elige un formato.

Consultas de ejemplo

Situación 1

Tiene un servidor web, un servidor de aplicaciones y un servidor de base de datos. La aplicación no funciona como se esperaba. Por ejemplo, recibe un mensaje de error de tiempo de espera o HTTP 503 e intenta determinar la causa del fallo.

Variables de ejemplo:

  • La Action (Acción) se establece en “REJECT” (RECHAZAR) para que solo se devuelvan las conexiones rechazadas.
  • La consulta solo incluye redes internas.
  • La lista de direcciones IP del servidor muestra las conexiones entrantes y salientes (srcAddr y dstAddr).
  • El Limit (Límite) se establece en5 para que solo se muestren las cinco primeras entradas.
  • IP del servidor web: 10.0.0.4
  • IP del servidor de la aplicación: 10.0.0.5
  • IP del servidor de la base de datos: 10.0.0.6
filter(
action="REJECT" and
dstAddr like   /^(10\.|192\.168\.)/and
srcAddrlike   /^(10\.|192\.168\.)/ and
(
srcAddr = "10.0.0.4" or
dstAddr = "10.0.0.4" or
srcAddr = "10.0.0.5" or
dstAddr = "10.0.0.5" or
srcAddr = "10.0.0.6" or
dstAddr = "10.0.0.6" or
)
)|
stats count(*) as records by srcAddr,dstAddr,dstPort,protocol |
sort records desc |
limit 5

Situación 2

Está experimentando tiempos de espera intermitentes en una interfaz de red elástica determinada. La siguiente consulta comprueba si hay algún rechazo en la interfaz de red elástica durante un periodo de tiempo.

fields @timestamp, interfaceId, srcAddr, dstAddr, action
| filter (interfaceId = 'eni-05012345abcd' and action = 'REJECT')
| sort @timestamp desc
| limit 5

Situación 3

En el siguiente ejemplo de consulta, se analizan los registros de flujo de la VPC para elaborar un informe sobre una interfaz de red elástica específica. La consulta comprueba la cantidad de tráfico que se envía a diferentes puertos.

fields @timestemp, @message
 | stats count(*) as records by dstPort, srcAddr, dstAddr as Destination
 | filter interfaceId="eni-05012345abcd"
 | filter dstPort="80" or dstPort="443" or dstPort="22" or dstPort="25"
 | sort HitCount desc
 | limit 10

Situación 4

La siguiente consulta filtra los registros de flujo de la VPC para mostrar las direcciones IP que intentan conectarse con una IP o un CIDR específicos en la VPC.

Para una IP específica:

fields @timestamp, srcAddr, dstAddr
 | sort @timestamp desc
 | limit 5
 | filter srcAddr like "172.31."

Para un CIDR específico:

fields @timestamp, srcAddr, dstAddr
 | sort @timestamp desc
 | limit 5
 | filter isIpv4InSubnet(srcAddr,"172.31.0.0/16)

Nota: Para más ejemplos de consultas, diríjase a Consultas de muestra.


¿Le ha resultado útil este artículo?


¿Necesita asistencia técnica o con la facturación?