¿Cómo soluciono los problemas de registro entre cuentas en CloudWatch?

Última actualización: 12/05/2022

Quiero solucionar los problemas relacionados con el registro entre cuentas con mi cuenta de Amazon CloudWatch. ¿Cómo puedo hacerlo?

Descripción corta

Puede enviar los registros de CloudWatch dentro de su cuenta o a otra cuenta de AWS casi en tiempo real. Compartir sus registros con otra cuenta de AWS o recibir sus registros se denomina registro entre cuentas. Puede configurar el registro entre cuentas mediante la secuencia de Amazon Kinesis o Amazon Kinesis Data Firehose. O bien, puede transmitir los datos a Amazon OpenSearch mediante un filtro de suscripción. La consola de CloudWatch admite todas estas opciones. Para obtener más información sobre el uso del registro entre cuentas, consulte los siguientes artículos:

Resolución

Solución de problemas de secuencia de entrega de Kinesis Data Stream/Kinesis Data Firehose como destino

1.    Garantice que su secuencia de Kinesis o Kinesis Data Firehose esté en estado activo. Puede ver el estado en la consola de Kinesis o usar las llamadas a la API DescribeStream o DescribeDeliveryStream.

2.    Verifique que la región del grupo de registros de CloudWatch y la región de la secuencia de datos de Kinesis coincidan.

3.    Verifique que haya creado un rol de AWS Identity and Access Management (IAM) con los permisos de confianza correctos. El rol de IAM debe permitir que sus registros de CloudWatch envíen eventos de registro a la secuencia de datos de Kinesis o a Kinesis Data Firehose.

En este ejemplo, la cuenta del destinatario de los datos de registro tiene un ID de cuenta de AWS de 999999999999. El ID de la cuenta de AWS del remitente de los datos de registro es 111111111111. Asegúrese de que la cuenta 111111111111 esté permitida en la política de confianza de la cuenta de destinatario para la secuencia de Kinesis Data Streams o Kinesis Data Firehose. Este es un ejemplo de política de confianza de IAM para la secuencia de entrega de Kinesis Data Streams o Kinesis Data Firehose:

{
  "Statement": {
    "Effect": "Allow",
    "Principal": {
      "Service": "logs.region.amazonaws.com"
    },
    "Condition": {
      "StringLike": {
        "aws:SourceArn": [
          "arn:aws:logs:region:sourceAccountId:*",
          "arn:aws:logs:region:recipientAccountId:*"
        ]
      }
    },
    "Action": "sts:AssumeRole"
  }
}

En este ejemplo se muestra una política de rol de IAM para Kinesis Data Streams:

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "kinesis:PutRecord",
      "Resource": "arn:aws:kinesis:region:999999999999:stream/RecipientStream"
    }
  ]
}
 
IAM role policy for kinesis Firehose stream.
 
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "firehose:*"
      ],
      "Resource": [
        "arn:aws:firehose:region:999999999999:*"
      ]
    }
  ]
}

4.    Verifique que las regiones y los ARN de recursos de su política de IAM sean correctos.

5.    Asegúrese de que no seleccionó Kinesis Firehose al configurar un filtro de suscripción para Kinesis Data Streams.

6.    Cuando comience a transmitir, compruebe las métricas del filtro de suscripción. Confirme que el patrón de filtro es válido y coincide con los eventos de registro entrantes. Puede obtener más información en la sección Supervisión con métricas de Amazon CloudWatch. Use las siguientes métricas:

  • ForwardedBytes: el volumen de eventos de registro en bytes comprimidos reenviados al destino de la suscripción.
  • ForwardedLogEvents: la cantidad de eventos de registro reenviados a los destinos de la suscripción.

7.    Para confirmar que no haya errores al transmitir los eventos de registro al destino, verifique estas métricas en busca de errores de destino. Es posible que encuentre un punto de datos que confirme que el evento de registro recibió un error al transmitir los eventos de registro al destino.

  • DeliveryErrors: la cantidad de eventos de registro por los que CloudWatch registra un error al reenviar datos al destino de la suscripción.
  • DeliveryThrottling: la cantidad de eventos de registro que CloudWatch regula al reenviar los datos al destino de la suscripción.

8.    Si tiene una secuencia especializada que brinda información sobre la funcionalidad de Kinesis Data Streams, compruebe las métricas de Kinesis Data Stream o Kinesis Firehose. Para obtener más información, consulte Supervisión del servicio Amazon Kinesis Data Streams con Amazon CloudWatch y Supervisión de Kinesis Data Firehose mediante métricas de CloudWatch.

Solución de problemas de OpenSearch como destino

1.    Verifique que el dominio de OpenSearch permita el acceso público o el acceso de VPC. Para obtener más información sobre cómo crear un dominio, consulte Crear y administrar dominios de Amazon OpenSearch Service.

2.    Garantice que la función de AWS Lambda tenga una función de ejecución de IAM que tenga una relación de confianza para lambda.amazonaws.com con esta política de roles:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": [
        "es:*"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:es:region:account-id:domain/target-domain-name/*"
    }
  ]
}

3.    Si el dominio de OpenSearch de destino utiliza el acceso de VPC, verifique que el rol tenga adjunta la política AWSLambdaVPCAccessExecutionRole.


¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?