Tratamento de erros e solução de problemas do Amazon EventBridge Pipes - Amazon EventBridge

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Tratamento de erros e solução de problemas do Amazon EventBridge Pipes

Compreender os tipos de erros que EventBridge os tubos podem encontrar e EventBridge como lidar com esses erros pode ajudá-lo a solucionar problemas com seus tubos.

Repetir o comportamento e o tratamento de erros

EventBridge O Pipes tenta automaticamente o enriquecimento e a invocação de destino em qualquer falha que possa ser repetida com o serviço de origem, AWS os serviços de enriquecimento ou de destino, ou. EventBridge No entanto, se houver falhas retornadas pelo enriquecimento ou pelas implementações do cliente de destino, o throughput da sondagem de pipes diminuirá gradualmente. Para erros 4xx quase contínuos (como problemas de autorização IAM ou falta de recursos), o canal pode ser desativado automaticamente com uma mensagem explicativa no. StateReason

Erros de invocação de pipes e comportamento de repetição

Ao invocar um pipe, dois tipos principais de erros podem ocorrer: erros internos do pipe e erros de invocação do cliente.

Erros internos do pipe

Os erros internos do Pipe são erros resultantes de aspectos da invocação gerenciados pelo serviço EventBridge Pipes.

Estes tipos de erros podem incluir problemas como:

  • Uma falha de HTTP conexão ao tentar invocar o serviço de destino do cliente

  • Uma queda transitória na disponibilidade do próprio serviço de pipe.

Em geral, o EventBridge Pipes repete erros internos um número indefinido de vezes e para somente quando o registro expira na fonte.

Para canais com uma fonte de fluxo, o EventBridge Pipes não contabiliza novas tentativas de erros internos em relação ao número máximo de tentativas especificado na política de repetição da fonte de fluxo. Para pipes com uma SQS fonte da Amazon, o EventBridge Pipes não contabiliza novas tentativas de erros internos em relação à contagem máxima de recebimento da SQS fonte da Amazon.

Erros de invocação do cliente

Os erros de invocação do cliente são erros resultantes da configuração ou do código gerenciado pelo usuário.

Estes tipos de erros podem incluir problemas como:

  • Permissões insuficientes no pipe para invocar o destino.

  • Um erro lógico em um endpoint Lambda, Step API Functions, destination ou Gateway do cliente invocado de forma síncrona. API

Para erros de invocação do cliente, o EventBridge Pipes faz o seguinte:

  • Para tubos com uma fonte de fluxo, o EventBridge Pipes tenta novamente até os tempos máximos de repetição configurados na política de repetição de tubulação ou até que a idade máxima do registro expire, o que ocorrer primeiro.

  • Para pipes com uma SQS fonte da Amazon, o EventBridge Pipes repete um erro do cliente até a contagem máxima de recebimento na fila de origem.

  • Para canais com uma fonte Apache Kafka ou Amazon MQ, EventBridge repita os erros do cliente da mesma forma que repete os erros internos.

Para pipes com destinos de computação, você deve invocar o pipe de forma síncrona para que o EventBridge Pipes esteja ciente de quaisquer erros de tempo de execução gerados pela lógica de computação do cliente e tente novamente esses erros. Os Pipes não podem repetir os erros gerados pela lógica de um fluxo de trabalho padrão do Step Functions, pois esse destino deve ser invocado de forma assíncrona.

Para fontes da Amazon SQS e de streaming, como Kinesis e DynamoDB, o EventBridge Pipes oferece suporte ao tratamento parcial de falhas de destino em lote. Para obter mais informações, consulte Lote com falha parcial.

DLQComportamento do tubo

Um pipe herda o comportamento da fila de letras mortas (DLQ) da fonte:

  • Se a SQS fila de origem da Amazon estiver configuradaDLQ, as mensagens serão entregues automaticamente após o número especificado de tentativas.

  • Para fontes de stream, como streams do DynamoDB e do Kinesis, você pode DLQ configurar um para os eventos de canal e rota. As fontes de stream do DynamoDB e do Kinesis oferecem suporte a SNS filas SQS da Amazon e tópicos da Amazon como destinos. DLQ

Se você especificar um DeadLetterConfig para um canal com uma fonte do Kinesis ou do DynamoDB, certifique-se de que a MaximumRecordAgeInSeconds propriedade no canal seja menor que a do evento de origem. MaximumRecordAge MaximumRecordAgeInSecondscontrola quando o pipe poller desistirá do evento e o entregará ao DLQ e MaximumRecordAge controla por quanto tempo a mensagem ficará visível no fluxo de origem antes de ser excluída. Portanto, MaximumRecordAgeInSeconds defina um valor menor que a fonte para que MaximumRecordAge haja um tempo adequado entre o envio do evento e o DLQ momento em que ele é automaticamente excluído pela fonte para que você determine por que o evento foi para DLQ o.

Para fontes do Amazon MQ, elas DLQ podem ser configuradas diretamente no agente de mensagens.

EventBridge O Pipes não suporta first-in first out (FIFO) DLQs para fontes de stream.

EventBridge O Pipes não oferece suporte DLQ para fontes de MSK stream da Amazon e de streams autogerenciados do Apache Kafka.

Estados de falha do pipe

Criar, excluir e atualizar pipes são operações assíncronas que podem resultar em um estado de falha. Da mesma forma, um pipe pode ser desativado automaticamente devido a falhas. Em todos os casos, o pipe StateReason fornece informações para ajudar a solucionar a falha.

Veja a seguinte lista de valores StateReason possíveis:

  • Fluxo não encontrado. Para continuar o processamento, exclua o pipe e crie um novo.

  • O Pipes não tem permissões necessárias para realizar operações de fila (sqs:ReceiveMessage, sqs: DeleteMessage e sqs:) GetQueueAttributes

  • Erro de conexão. Você VPC deve ser capaz de se conectar aos canos. Você pode fornecer acesso configurando um NAT gateway ou um VPC endpoint para canalizar dados. Para saber como configurar o NAT gateway ou o VPC Endpoint para pipes-data, consulte a documentação. AWS

  • MSKo cluster não tem grupos de segurança associados a ele

Um pipe pode ser interrompido automaticamente com uma atualização StateReason. As possíveis causas incluem:

Falhas de criptografia personalizadas

Se você configurar uma fonte para usar uma chave de criptografia AWS KMS personalizada (CMK), em vez de uma AWS KMS chave AWS gerenciada, você deve dar explicitamente a permissão de decodificação da Função de Execução do canal. Para fazer isso, inclua a seguinte permissão adicional na CMK política personalizada:

{ "Sid": "Allow Pipes access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::01234567890:role/service-role/Amazon_EventBridge_Pipe_DDBStreamSourcePipe_12345678" }, "Action": "kms:Decrypt", "Resource": "*" }

Substitua o perfil acima pelo perfil de execução do seu pipe.

Em seguida, certifique-se de que as mesmas permissões para KMS sejam adicionadas à sua função de execução do Pipe.

Isso vale para todas as fontes de tubulação com AWS KMS CMK, incluindo:

  • Amazon DynamoDB Streams

  • Amazon Kinesis Data Streams

  • Amazon MQ

  • Amazon MSK

  • Amazon SQS