¿Cómo creo y configuro un filtro de suscripción a Kinesis mediante la consola de CloudWatch y soluciono los problemas relacionados?

7 minutos de lectura
0

Quiero usar la consola de Amazon CloudWatch para crear un filtro de suscripción para transmitir mis registros de Amazon CloudWatch a Amazon Kinesis.

Breve descripción

Utilice un filtro de suscripción para enviar los registros de CloudWatch casi en tiempo real a la misma cuenta o a destinos de Kinesis o Amazon Kinesis Data Firehose entre cuentas. La consola de Registros de CloudWatch admite la configuración de destino y ajustes.

Para obtener información sobre cómo utilizar la sintaxis de patrones de filtro para configurar un filtro de suscripción, consulte Sintaxis de patrones y filtros.

Resolución

Configuración de suscripción para una secuencia de datos de Kinesis en la misma cuenta o en la actual

Nota: La región de AWS del grupo de registro de CloudWatch y el destino de Kinesis deben ser los mismos.

Antes de crear la suscripción, realice las siguientes acciones:

Para crear un rol de IAM personalizado y una política de rol, siga estos pasos:

1.    Abra la consola de IAM con el usuario que tenga permisos de administrador.

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

3.    En el panel de contenido, seleccione Crear política.

4.    Introduzca el siguiente documento de política de permisos de rol en la pestaña JSON. Sustituya REGION, ACCOUNT_ID, AND STREAM_NAME por sus datos:

{
  "Statement": \[{
    "Effect": "Allow",
    "Action": "kinesis:PutRecord",
    "Resource": "arn:aws:kinesis:REGION:ACCOUNT\_ID:stream/STREAM\_NAME"
  }\]
}

5.    Abra la consola de IAM.

6.    En el panel de navegación, elija Roles y, a continuación, seleccione Crear rol.

7.    Elija el tipo de rol de la Política de confianza personalizada.

8.    En la Política de confianza personalizada, introduzca o pegue la política de confianza personalizada para el rol. Consulte el siguiente ejemplo de política de confianza:

{
  "Statement": {
    "Effect": "Allow",
    "Principal": {
      "Service": "logs.region.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
      "StringLike": {
        "aws:SourceArn": "arn:aws:logs:REGION:ACCOUNT\_ID:\*"
      }
    }
  }
}

9.    Elija Siguiente.

10.    Seleccione la política de IAM personalizada que ha creado en el paso 4.

11.    Elija Siguiente y, a continuación, elija Crear un rol.

Después de crear la transmisión de Kinesis y el rol de IAM, cree el filtro de suscripción:

1.    Abra la consola de CloudWatch.

2.    Elija Grupo de registro.

3.    Elija Acción, Filtros de suscripción.

4.    Para configurar el destino, elija Crear filtro de suscripción de Kinesis.

5.    Elija Cuenta actual.

6.    Seleccione su transmisión de datos de Kinesis en la lista desplegable.

7.    Seleccione el rol de IAM que ha creado.

8.    Elija el Método de distribución:
Por secuencia de registro:
Así se verifica que los consumidores finales puedan añadir eventos de registro por secuencia de registro, pero podría ser menos eficiente. Este método también puede generar costes de transmisión más altos porque requiere más particiones.
Aleatorio: Así se distribuye la carga entre las particiones de transmisión de Kinesis, pero los usuarios finales no pueden añadir eventos de registro por secuencia de registro.

9.    Configure el Formato y filtros de registros:
Seleccione el formato de registro. El formato puede ser Amazon VPC Flow Logs, AWS CloudTrail o AWS Lambda para los registros publicados por Amazon VPC, CloudTrail o Lambda. O bien, puede elegir JSON, Delimitado por espacios u Otro, según los eventos de registro entrantes.
Defina el patrón de filtro en la sección Patrón del filtro de suscripción.
Introduzca un nombre para su filtro de suscripción.

10.    Verifique su patrón con los datos de los eventos de registro existentes.

11.    Tras la verificación, seleccione Iniciar streaming.

12.    (Opcional) Valide el flujo de eventos de registro para comprobar que la secuencia de datos funciona.

Configuración para un destino de secuencia de datos de Kinesis entre cuentas

Nota: Si recibe errores al ejecutar comandos de la AWS Command Line Interface (AWS CLI), asegúrese de utilizar la versión más reciente de la AWS CLI.

Puede enviar eventos de registro de CloudWatch a las secuencias de datos de Kinesis en diferentes cuentas y regiones de AWS. Para ello, configure el intercambio de datos de registro entre cuentas con suscripciones y especifique la región.

En el siguiente ejemplo, los registros de CloudWatch de la región us-east-1 se envían a la secuencia de datos de Kinesis de otro usuario de AWS en us-west-2. El ID de cuenta del destinatario de los datos de registro es 222222222222 y el ID de cuenta del remitente de los datos de registro es 111111111111.

Cree una secuencia de datos de destino en la cuenta del destinatario 222222222222

Cree una secuencia de datos de destino en Kinesis en la cuenta del destinatario de los datos con un rol de IAM y una política de confianza.

Cree un filtro de suscripción en la cuenta de origen 111111111111

Para crear el filtro de suscripción, siga estos pasos:

1.    Seleccione el grupo de registros.

2.    Elija Acción, Filtros de suscripción.

3.    Para seleccionar el destino, elija Crear y, a continuación, seleccione Crear filtro de suscripción de Kinesis.

4.    Elija Otra cuenta.

5.    Para un destino de Kinesis o Kinesis Data Firehose entre cuentas, proporcione el ARN de destino.

6.    Elija el Método de distribución:
Por secuencia de registro: Así se verifica que los consumidores finales puedan añadir eventos de registro por secuencia de registro, pero podría ser menos eficiente. Este método también puede generar costes de transmisión más altos porque requiere más particiones.
Aleatorio: Así se distribuye la carga entre las particiones de transmisión de Kinesis, pero los usuarios finales no pueden añadir eventos de registro por secuencia de registro.

7.    Configure el Formato y filtros de registros:
Seleccione el formato de registro. El formato puede ser Amazon VPC Flow Logs, CloudTrail o AWS Lambda para los registros publicados por Amazon VPC, CloudTrail o Lambda. O bien, puede elegir JSON, Delimitado por espacios u Otro, según los eventos de registro entrantes.
Defina el patrón de filtro en la sección Patrón del filtro de suscripción.
Introduzca el nombre de su filtro de suscripción.

8.    Verifique su patrón con los datos de los eventos de registro existentes.

9.    Tras la verificación, seleccione Iniciar streaming.

10.    (Opcional) Valide el flujo de eventos del registro para comprobar que la secuencia de datos funciona.

Solución de problemas

  • Asegúrese de que el estado de la transmisión de Kinesis sea Activo. Puede ver la transmisión en la consola de Kinesis o usar la llamada a la API DescribeStream.
  • Compruebe que el grupo de registro de CloudWatch y las regiones de secuencia de datos de Kinesis sean iguales.
  • Asegúrese de que haya un rol de IAM que tenga permisos de confianza para logs.yourregion.amazonaws.com y que conceda el permiso kinesis:putrecords.
  • Compruebe que las regiones y los recursos de la política de IAM sean correctos.
  • Asegúrese de no haber seleccionado Kinesis Firehose al configurar un filtro de suscripción para la secuencia de datos de Kinesis.
  • Después de empezar a transmitir, compruebe las métricas del filtro de suscripción para confirmar que el patrón de filtro es válido y coincide con los eventos de registro entrantes. Revise las siguientes métricas: ForwardedBytes: el volumen de eventos de registro en bytes comprimidos enviados al destino de la suscripción. ForwardedLogEvents: El número de eventos de registro enviados al destino de la suscripción.
  • Compruebe que no haya errores al transmitir los eventos de registro al destino. Revise las siguientes métricas: DeliveryErrors: el número de eventos de registro por los que CloudWatch Logs ha recibido un error al enviar datos al destino de la suscripción. DeliveryThrottling: el número de eventos de registro que indican que los registros de CloudWatch se limitaron al reenviar datos al destino de la suscripción.
  • Si tiene una transmisión de Kinesis específica, compruebe las métricas de la transmisión para confirmar la funcionalidad.
  • Si tiene problemas con el registro entre cuentas, consulte Solución de problemas de la configuración entre cuentas de CloudWatch.
OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año