Publicar registros de flujo en Kinesis Data Firehose - Amazon Virtual Private Cloud

Publicar registros de flujo en Kinesis Data Firehose

Los registros de flujo pueden publicar datos de registros de flujo directamente en Kinesis Data Firehose.

Al publicar en Kinesis Data Firehose, los datos del registro de flujo se publican en un flujo de entrega de Kinesis Data Firehose en formato de texto sin formato.

Precios

Se aplican los cargos estándar de ingesta y entrega. Para obtener más información, abra Precios de Amazon CloudWatch seleccione Logs (Registros) y consulte Vended Logs (Registros distribuidos).

Roles de IAM para la entrega entre cuentas

Al publicar en Kinesis Data Firehose, puede elegir un flujo de entrega que esté en la misma cuenta que el recurso que se va a supervisar (la cuenta de origen) o en una cuenta diferente (la cuenta de destino). Para habilitar la entrega entre cuentas de los registros de flujo a Kinesis Data Firehose, debe crear un rol de IAM en la cuenta de origen y un rol de IAM en la cuenta de destino.

Rol de cuenta de origen

En la cuenta de origen, cree un rol que conceda los siguientes permisos. En este ejemplo, el nombre del rol es mySourceRole, pero puede elegir un nombre diferente para este rol. La última instrucción permite que el rol de la cuenta de destino asuma este rol. Las instrucciones de condición garantizan que esta función se pase solo al servicio de entrega de registros y solo al supervisar el recurso especificado. Al crear la política, especifique las VPC, las interfaces de red o las subredes que está supervisando con la clave de condición iam:AssociatedResourceARN.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::source-account:role/mySourceRole", "Condition": { "StringEquals": { "iam:PassedToService": "delivery.logs.amazonaws.com" }, "StringLike": { "iam:AssociatedResourceARN": [ "arn:aws:ec2:region:source-account:vpc/vpc-00112233344556677" ] } } }, { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:GetLogDelivery" ], "Resource": "*" }, { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::destination-account:role/AWSLogDeliveryFirehoseCrossAccountRole" } ] }

Asegúrese de que este rol tenga la siguiente política de confianza, la cual permite que el servicio de entrega de registros asuma el rol.

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

En la cuenta de origen, use el siguiente procedimiento para crear el rol.

Para crear el rol de la cuenta de origen
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Policies (Políticas).

  3. Elija Create Policy (Crear política).

  4. En la página Create policy (Crear política), haga lo siguiente:

    1. Elija JSON.

    2. Reemplace el contenido de esta ventana por la política de permisos que aparece al principio de esta sección.

    3. Elija Next: Tags (Siguiente: Etiquetas) y Next: Review (Siguiente: Revisar).

    4. Introduzca un nombre para su política y una descripción opcional y, a continuación, elija Create policy (Crear política).

  5. Seleccione Roles en el panel de navegación.

  6. Elija Create role (Crear rol).

  7. En Trusted entity type (Tipo de entidad de confianza), elija Custom trust policy (Política de confianza personalizada). En Custom trust policy (Política de confianza personalizada), reemplace "Principal": {}, con lo siguiente, lo cual especifica el servicio de entrega de registros. Elija Next (Siguiente).

    "Principal": { "Service": "delivery.logs.amazonaws.com" },
  8. En la página Add permissions (Agregar permisos), seleccione la casilla de verificación de la política que creó anteriormente en este procedimiento y luego elija Next (Siguiente).

  9. Ingrese un nombre para el rol y, opcionalmente, especifique una descripción.

  10. Elija Create role (Crear rol).

Rol de cuenta de destino

En la cuenta de destino, cree un rol con un nombre que comience con AWSLogDeliveryFirehoseCrossAccountRole. El rol debe otorgar los siguientes permisos.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "firehose:TagDeliveryStream" ], "Resource": "*" } ] }

Asegúrese de que este rol tenga la siguiente política de confianza, la cual permite que el rol que creó en la cuenta de origen asuma este rol.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account:role/mySourceRole" }, "Action": "sts:AssumeRole" } ] }

En la cuenta de destino, use el siguiente procedimiento para crear el rol.

Para crear el rol de cuenta de destino
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Policies (Políticas).

  3. Elija Create Policy (Crear política).

  4. En la página Create policy (Crear política), haga lo siguiente:

    1. Elija JSON.

    2. Reemplace el contenido de esta ventana por la política de permisos que aparece al principio de esta sección.

    3. Elija Next: Tags (Siguiente: Etiquetas) y Next: Review (Siguiente: Revisar).

    4. Ingrese un nombre para la política que comience con AWSLogDeliveryFirehoseCrossAccountRole y, a continuación, elija Create policy (Crear política).

  5. Seleccione Roles en el panel de navegación.

  6. Elija Create role (Crear rol).

  7. En Trusted entity type (Tipo de entidad de confianza), elija Custom trust policy (Política de confianza personalizada). En Custom trust policy (Política de confianza personalizada), reemplace "Principal": {}, con lo siguiente, lo cual especifica la función de la cuenta de origen. Elija Next (Siguiente).

    "Principal": { "AWS": "arn:aws:iam::source-account:role/mySourceRole" },
  8. En la página Add permissions (Agregar permisos), seleccione la casilla de verificación de la política que creó anteriormente en este procedimiento y luego elija Next (Siguiente).

  9. Ingrese un nombre para el rol y, opcionalmente, especifique una descripción.

  10. Elija Create role (Crear rol).

Crear un registro de flujo que publique en Kinesis Data Firehose

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

Requisitos previos
Para crear un registro de flujo que publique en Kinesis Data Firehose
  1. Haga una de las siguientes acciones:

    • Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/. En el panel de navegación, elija Network Interfaces. Seleccione la casilla de verificación de la interfaz de red.

    • Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/. En el panel de navegación, elija Your VPCs (Sus VPC). Seleccione la casilla de verificación de la VPC.

    • Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/. En el panel de navegación, elija Subnets. Seleccione la casilla de verificación de la subred.

  2. Seleccione Actions (Acciones) y, a continuación, Create flow log (Crear registro de flujo).

  3. Para Filter (Filtro), especifique el tipo de tráfico que desea registrar.

    • Accepted (Aceptado): registrar solo tráfico aceptado

    • Rejected (Rechazado): registrar solo tráfico rechazado

    • All (Todo): registrar tráfico aceptado y rechazado

  4. En Maximum aggregation interval (Intervalo máximo de agregación), elija el período de tiempo máximo durante el que se va a capturar el flujo y se va a agregar a un registro de flujo.

  5. En Destination (Destino), elija cualquiera de las siguientes opciones:

    • Send to Kinesis Data Firehose in the same account (Enviar a Kinesis Data Firehose en la misma cuenta): el flujo de entrega y el recurso para supervisar están en la misma cuenta.

    • Send to Kinesis Data Firehose in a different account (Enviar a Kinesis Data Firehose en una cuenta diferente): el flujo de entrega y el recurso para supervisar están en cuentas diferentes.

  6. Para Kinesis Firehose delivery stream (Flujo de entrega de Kinesis Firehose), elija el flujo de entrega que ha creado.

  7. [Solo entrega entre cuentas] En IAM roles (Roles de IAM), especifique las funciones necesarias (consulte Roles de IAM para la entrega entre cuentas).

  8. (Opcional) Elija Add new tag (Agregar etiqueta nueva) para aplicar etiquetas al registro de flujo.

  9. Elija Create flow log (Crear registro de flujo).

Para crear un registro de flujo que publica en Kinesis Data Firehose mediante una herramienta de línea de comandos

Utilice uno de los siguientes comandos:

En el siguiente ejemplo de AWS CLI, se crea un registro de flujo que captura todo el tráfico de la VPC especificada y envía los registros de flujo al flujo de entrega de Kinesis Data Firehose especificado en la misma cuenta.

aws ec2 create-flow-logs --traffic-type ALL \ --resource-type VPC \ --resource-ids vpc-00112233344556677 \ --log-destination-type kinesis-data-firehose \ --log-destination arn:aws:firehose:us-east-1:123456789012:deliverystream:flowlogs_stream

En el siguiente ejemplo de AWS CLI, se crea un registro de flujo que captura todo el tráfico de la VPC especificada y envía los registros de flujo al flujo de entrega de Kinesis Data Firehose especificado en una cuenta diferente.

aws ec2 create-flow-logs --traffic-type ALL \ --resource-type VPC \ --resource-ids vpc-00112233344556677 \ --log-destination-type kinesis-data-firehose \ --log-destination arn:aws:firehose:us-east-1:123456789012:deliverystream:flowlogs_stream \ --deliver-logs-permission-arn arn:aws:iam::source-account:role/mySourceRole \ --deliver-cross-account-role arn:aws:iam::destination-account:role/AWSLogDeliveryFirehoseCrossAccountRole

Entradas de registro de flujo de proceso en Kinesis Data Firehose

Puede obtener los datos del registro de flujo del destino que configuró para el flujo de entrega.