Quiero usar las consultas de Información de registros de Amazon CloudWatch para procesar mis registros de flujo de Amazon Virtual Private Cloud (Amazon VPC) que están en un grupo de registros.
Descripción corta
Al activar los registros de flujo de la VPC que se dirigen a Registros de CloudWatch, aparece una secuencia de registro para cada interfaz de red elástica. Si se produce un problema, utilice Información de registros de CloudWatch para identificar las posibles causas y validar las soluciones desplegada.
Para obtener más información sobre los tipos de registro que admite Información de registros de CloudWatch, consulte Registros admitidos y campos descubiertos.
Resolución
Ejecución de una consulta
Use la consola de CloudWatch para ejecutar una consulta de ejemplo o una consulta personalizada. Para ejecutar una consulta que ejecutó anteriormente, elija Historial. Para exportar los resultados, seleccione Exportar resultados y, a continuación, elija un formato.
Consultas de ejemplo
Escenario 1
Tiene un servidor web, un servidor de aplicaciones y un servidor de bases de datos. Recibe un error de tiempo de espera o HTTP 503 y desea determinar la causa del error.
Ejecute una consulta con las siguientes variables de ejemplo:
- La acción se establece en 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 límite se establece en 5 para que solo se muestren las cinco primeras entradas.
- La dirección IP del servidor web es 10.0.0.4.
- La dirección IP del servidor de aplicaciones es 10.0.0.5.
- La dirección IP del servidor de base de datos es 10.0.0.6.
Ejemplo de consulta:
filter(
action="REJECT" and
dstAddr like /^(10\.|192\.168\.)/ and
srcAddr like /^(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")
)
| stats count(*) as records by srcAddr,dstAddr,dstPort,protocol
| sort records desc
| limit 5
Escenario 2
Experimenta tiempos de espera intermitentes en una interfaz de red. Para comprobar si hay rechazos en la interfaz de red durante un período de tiempo, ejecute la siguiente consulta:
fields @timestamp, interfaceId, srcAddr, dstAddr, action
| filter (interfaceId = 'eni-05012345abcd' and action = 'REJECT')
| sort @timestamp desc
| limit 5
Escenario 3
Para analizar los registros de flujo de la VPC y generar un informe sobre una interfaz de red específica, ejecute la siguiente consulta:
fields @timestamp, @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
La consulta anterior comprueba la cantidad de tráfico que se envía a los diferentes puertos.
Escenario 4
Para filtrar los registros de flujo de la VPC y enumerar las direcciones IP que intentan conectarse a una dirección IP o CIDR específica de la VPC, ejecute una de las siguientes consultas.
Dirección IP específica:
fields @timestamp, srcAddr, dstAddr
| sort @timestamp desc
| limit 5
| filter srcAddr like "172.31."
CIDR específico:
fields @timestamp, srcAddr, dstAddr
| sort @timestamp desc
| limit 5
| filter isIpv4InSubnet(srcAddr,"172.31.0.0/16")
Para ver más ejemplos de consultas, consulte Ejemplos de consultas.