Amazon Virtual Private Cloud
Guía del usuario

Publicación de logs de flujo en CloudWatch Logs

Los logs de flujo pueden publicar datos de logs de flujo directamente en Amazon CloudWatch.

En CloudWatch Logs, los datos de logs de flujo se publican en un grupo de logs y cada interfaz de red tiene un flujo único de logs en el grupo de logs. Los flujos de logs contienen registros de logs de flujo. Puede crear varios logs de flujo que publiquen datos en el mismo grupo de logs. Si la misma interfaz de red está presente en uno o varios logs de flujo en el mismo grupo de logs, tendrá un flujo de logs combinado. Si ha especificado que un log de flujo debe capturar el tráfico rechazado y otro log de flujo debe capturar el tráfico aceptado, el flujo de logs combinado capturará todo el tráfico. Para obtener más información, consulte Registros de logs de flujo.

Funciones de IAM para publicar registros de flujo en CloudWatch Logs

La función de IAM asociada a su registro de flujo debe tener permisos suficientes para publicar registros de flujo en el grupo de registros especificado en CloudWatch Logs. La política de IAM adjuntada a su función de IAM debe incluir al menos los siguientes permisos:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Effect": "Allow", "Resource": "*" } ] }

Asegúrese también de que la función tiene una relación de confianza que permite al servicio de logs de flujo asumir esa función:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "vpc-flow-logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Los usuarios también deben tener permisos para utilizar la acción iam:PassRole para la función de IAM que está asociada al log de flujo:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["iam:PassRole"], "Resource": "arn:aws:iam::account-id:role/flow-log-role-name" } ] }

Puede actualizar una función existente o utilizar el procedimiento siguiente para crear una nueva función y utilizarla con los logs de flujo.

Creación de un rol de registros de flujo

Para crear una función de IAM para logs de flujo

  1. Abra la consola de IAM, en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, elija Roles, Create role.

  3. Elija EC2 como servicio para usar esta función. En Use case (Caso de uso), elija EC2. Elija Next: Permissions (Siguiente: Permisos).

  4. En la página Attach permissions policies (Asociar políticas de permisos), elija Next: Review (Siguiente: Revisar). Elija Next: Review (Siguiente: Revisar).

  5. Escriba un nombre para el rol (por ejemplo, Flow-Logs-Role) y, opcionalmente, especifique una descripción. Elija Create role (Crear rol).

  6. Seleccione el nombre de su función. En Permissions (Permisos), elija Add inline policy (Añadir política insertada), JSON.

  7. Copie la primera política de Funciones de IAM para publicar registros de flujo en CloudWatch Logs y péguela en la ventana. Elija Review policy (Revisar política).

  8. Escriba un nombre para la política y elija Create policy (Crear política).

  9. Seleccione el nombre de su función. En Trust relationships (Relaciones de confianza), seleccione Edit trust relationship (Editar relación de confianza). En el documento de la política existente, cambie el servicio de ec2.amazonaws.com a vpc-flow-logs.amazonaws.com. Elija Update Trust Policy.

  10. En la página Summary (Resumen), tome nota del ARN de la función. Necesita este ARN para crear su propio log de flujo.

Creación de un registro de flujo que se publica en CloudWatch Logs

Puede crear registros de flujo para sus VPC, subredes o interfaces de red.

Para crear un log de flujo para una interfaz de red

  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, elija Network Interfaces.

  3. Seleccione una o varias interfaces de red y elija Actions (Acciones), Create flow log (Crear registro de flujo).

  4. En Filter (Filtro), especifique el tipo de datos de tráfico IP que desea registrar. Elija All (Todo) para registrar el tráfico aceptado y rechazado, Rejected (Rechazado) para registrar únicamente el tráfico rechazado o Accepted (Aceptado) para registrar solo el tráfico aceptado.

  5. En Destination (Destino), elija Send to CloudWatch Logs (Enviar a CloudWatch Logs).

  6. En Destination log group (Grupo de registros de destino), escriba el nombre de un grupo de registros de CloudWatch Logs donde se van a publicar los registros de flujo. Si especifica el nombre de un grupo de logs que no existe, intentamos crear el grupo de logs por usted.

  7. En IAM role (Función de IAM), especifique el nombre de la función que tiene permisos para publicar registros en CloudWatch Logs.

  8. Seleccione Create.

Para crear un log de flujo para una VPC o subred

  1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.

  2. En el panel de navegación, elija Your VPCs (Sus VPC) o Subnets (Subredes).

  3. Seleccione una o varias VPC o subredes y, a continuación, elija Actions (Acciones), Create flow log (Crear registro de flujo).

  4. En Filter (Filtro), especifique el tipo de datos de tráfico IP que desea registrar. Elija All (Todo) para registrar el tráfico aceptado y rechazado, Rejected (Rechazado) para registrar únicamente el tráfico rechazado o Accepted (Aceptado) para registrar solo el tráfico aceptado.

  5. En Destination (Destino), elija Send to CloudWatch Logs (Enviar a CloudWatch Logs).

  6. En Destination log group (Grupo de registros de destino), escriba el nombre de un grupo de registros de CloudWatch Logs donde se van a publicar los registros de flujo. Si especifica el nombre de un grupo de logs que no existe, intentamos crear el grupo de logs por usted.

  7. En IAM role (Función de IAM), especifique el nombre de la función de IAM que tiene permisos para publicar registros en CloudWatch Logs.

  8. Seleccione Create.

Procesamiento de registros de flujo en CloudWatch Logs

Puede trabajar con los registros de logs de flujo al igual que con los demás eventos de logs recopilados por CloudWatch Logs. Para obtener más información acerca de la monitorización de datos de registros y filtros de métricas, consulte Búsqueda y filtrado de datos de registros en la Guía del usuario de Amazon CloudWatch.

Ejemplo: Creación de un filtro de métrica de CloudWatch y de una alarma para un log de flujo

En este ejemplo, tiene un log de flujo para eni-1a2b3c4d. Desea crear una alarma que le avise si ha habido 10 o más intentos rechazados para conectar con su instancia a través del puerto TCP 22 (SSH) en un periodo de 1 hora. En primer lugar, debe crear un filtro de métrica que coincida con el patrón de tráfico para el que va a crear la alarma. A continuación, puede crear una alarma para el filtro de métrica.

Para crear un filtro de métrico para el tráfico SSH rechazado y una alarma para el filtro

  1. Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/.

  2. En el panel de navegación, elija Logs, seleccione el grupo de logs de flujo para su log de flujo y, a continuación, elija Create Metric Filter.

  3. En Filter Pattern (Patrón de filtro), escriba lo siguiente:

    [version, account, eni, source, destination, srcport, destport="22", protocol="6", packets, bytes, windowstart, windowend, action="REJECT", flowlogstatus]
  4. En Select Log Data to Test (Seleccionar datos de registro para probar), seleccione el flujo de logs para su interfaz de red. (Opcional) Para ver las líneas de los datos de log que coinciden con el patrón de filtro, elija Test Pattern (Probar patrón). Cuando haya terminado, elija Assign Metric.

  5. Proporcione un espacio de nombres y un nombre de métrica, y asegúrese de que el valor de la métrica está establecido en 1. Cuando haya acabado, elija Create Filter.

  6. En el panel de navegación, elija Alarms, Create Alarm.

  7. En la sección Custom Metrics, elija el espacio de nombres para el filtro de métrica que ha creado.

    nota

    Puede que la nueva métrica tarde unos minutos en mostrarse en la consola.

  8. Seleccione el nombre de métrica que ha creado y elija Next (Siguiente).

  9. Escriba un nombre y la descripción de la alarma. En los campos is (es), elija >= y escriba 10. En el campo for (durante), deje el valor predeterminado 1 para los periodos consecutivos.

  10. En Period (Periodo), seleccione 1 Hour (1 hora). En Statistic (Estadística), elija Sum (Suma). La estadística Sum le asegura que está capturando el número total de puntos de datos para el periodo especificado.

  11. En la sección Actions (Acciones), puede elegir enviar una notificación a una lista existente. O puede crear una nueva lista y escribir las direcciones de correo electrónico que deben recibir una notificación cuando se dispare la alarma. Cuando haya terminado, elija Create Alarm.