Quiero recuperar los registros de flujo de Amazon Virtual Private Cloud (Amazon VPC) y, a continuación, usarlos para solucionar problemas de red.
Solución
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 errores de la AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
Requisito previo: Usa el runbook AWSSupport-EnableVPCFlowlogs para activar los registros de flujo de VPC.
Uso de Registros de CloudWatch para recuperar los registros de flujo de Amazon VPC
Si almacenas tus registros en Amazon CloudWatch, utiliza la consola de Registros de CloudWatch para buscar tus registros de flujo.
Utiliza Información de registros de CloudWatch para consultar tus registros. A continuación, utiliza Información de registros de CloudWatch para analizar los registros de flujo personalizados.
Uso de Amazon Athena para recuperar los registros de flujo de Amazon VPC
Si almacenas tus registros en buckets de Amazon Simple Storage Service (Amazon S3), utiliza Amazon Athena para analizar los registros. También puedes usar Athena para ejecutar una consulta predefinida para tus registros.
Para analizar tus registros con una integración sencilla de Amazon Athena, consulta Analyze VPC flow logs with point-and-click Amazon Athena integration (Análisis de los registros de flujo de VPC con una integración sencilla de Amazon Athena) en el sitio web de blogs de AWS.
Uso de la AWS CLI para recuperar los registros de flujo de Amazon VPC
Utiliza los siguientes comandos de la AWS CLI para recuperar los registros de flujo en función de dónde los almacenes.
Amazon S3
Si envías tus registros a un bucket de Amazon S3 que utiliza una estructura de archivos de registro predeterminada, lleva a cabo las siguientes acciones:
-
Para enumerar tus registros de flujo, ejecuta el siguiente comando:
aws s3 ls s3://example-bucket-name/AWSLogs/example-account-id/vpcflowlogs/example-region/
-
Para descargar un archivo de registro específico, ejecuta el siguiente comando:
aws s3 cp s3://example-bucket-name>/AWSLogs/example-account-id/vpcflowlogs/example-region/YYYY/MM/DD/example-file-name
-
Para descargar todos los registros de un día específico, ejecuta el siguiente comando:
aws s3 sync s3://example-bucket-name/AWSLogs/example-account-id/vpcflowlogs/example-region/YYYY/MM/DD/ ./local-directory/
-
Para descargar y descomprimir los registros, ejecuta el siguiente comando:
aws s3 cp s3://example-bucket-name/path/to/log.gz - | gunzip > output.txt
-
Para buscar un término de búsqueda en los registros, ejecuta el siguiente comando:
aws s3 cp s3://example-bucket-name/path/to/log.gz - | \
gunzip | \
grep "example-search-term"
Nota: En los comandos anteriores, sustituye example-bucket-name por el nombre de tu bucket de Amazon S3. Sustituye example-account-id por el ID de tu cuenta de AWS y example-region por la región de AWS en la que se encuentra el registro. Sustituye YYYY/MM/DD por la fecha. Sustituye example-file-name por tu nombre de archivo. Sustituye example-search-term por el término que deseas buscar.
Registros de CloudWatch
Si envías los registros a CloudWatch, lleva a cabo las siguientes acciones:
-
Para enumerar los grupos de registro y encontrar los registros de flujo de VPC, ejecuta el siguiente comando:
aws logs describe-log-groups --log-group-name-prefix "/aws/vpc/flowlogs"
-
Para enumerar las secuencias de registro de un grupo de registro específico, ejecuta el siguiente comando:
aws logs describe-log-streams --log-group-name "/aws/vpc/flowlogs/example-log-group"
-
Para obtener los eventos de registro de una secuencia específica, ejecuta el siguiente comando:
aws logs get-log-events \
--log-group-name "/aws/vpc/flowlogs/example-log-group" \
--log-stream-name "example-log-stream"
-
Para obtener registros dentro de un intervalo de tiempo específico, ejecuta el siguiente comando:
aws logs get-log-events \
--log-group-name "/aws/vpc/flowlogs/example-log-group" \
--log-stream-name "example-log-stream" \
--start-time example-timestamp \
--end-time example-timestamp
-
Para usar Información de registros de CloudWatch para filtrar los registros, ejecuta el siguiente comando:
aws logs start-query \
--log-group-name "/aws/vpc/flowlogs/example-log-group" \
--start-time example-timestamp \
--end-time example-timestamp \
--query-string "fields @timestamp, srcAddr, dstAddr, action | filter action='REJECT'"
Nota: En los comandos anteriores, sustituye example-log-group por tu grupo de registro, example-log-stream por tu secuencia de registro y example-timestamp por una marca de tiempo en formato Unix, medida en milisegundos.
Solución de problemas con los registros de flujo de VPC
Si se agota el tiempo de espera de la conexión cuando recuperes los registros de flujo, busca las entradas REJECT. Comprueba si los grupos de seguridad o las listas de control de acceso de la red (ACL de la red) bloquean el tráfico necesario. Comprueba que las direcciones IP de origen y destino sean correctas.
Si tienes problemas de comunicación unidireccional, compara los flujos de tráfico entrante y saliente para detectar discrepancias. Verifica que la conexión permita el tráfico de solicitud y respuesta y, a continuación, comprueba si hay problemas de enrutamiento asimétrico.
Información relacionada
Registros de flujo
Ejemplos de registros de flujo
¿Cómo puedo supervisar el tráfico en mi VPC con registros de flujo?
Registro del tráfico de IP con registros de flujo de la VPC