Ir para o conteúdo

Why does my Amazon S3 Batch Replication job fail? (Por que meu trabalho de replicação em lote do Amazon S3 falha?)

8 minuto de leitura
0

Quero descobrir por que meu trabalho de replicação em lote do Amazon Simple Storage Service (Amazon S3) falha.

Breve descrição

A replicação em lote pode falhar devido a problemas com permissões, políticas ou uma configuração de trabalho.

Para evitar um grande número de operações malsucedidas, o Amazon S3 impõe um limite de falha de tarefas em cada trabalho das Operações em Lote. O Amazon S3 monitora a taxa de falha de tarefas após a execução de pelo menos 1.000 tarefas. Se um trabalho exceder a taxa de falha de 50%, o trabalho falhará. Use a solução de problemas a seguir para determinar e resolver o problema. Em seguida, reenvie o trabalho.

Resolução

Permissões do perfil de lote

Conceda as seguintes permissões para o perfil de lote:

  • Forneça permissões PUT para o manifesto ou a configuração.
  • Forneça permissões GET para o manifesto com o bucket que armazena o manifesto.
  • Se você usar seu próprio manifesto, conceda permissões ao perfil de lote para acessar o manifesto.
  • Conceda a permissão s3:CreateJob para criar o trabalho em lotes.
  • Se você aplicar uma opção de tag de trabalho, conceda também a permissão s3:PutJobTagging.

Observação: para salvar operações em lote, o perfil de lote deve ter permissões GET e PUT para o arquivo de manifesto. Para obter mais informações, consulte Configurar um perfil do AWS Identity and Access Management (AWS IAM) para replicação em lote do S3.

Permissões do perfil de replicação

Quando um trabalho em lotes excede a taxa de falha de 50%, pode haver um problema na configuração do perfil de replicação.

Ao configurar seu perfil de replicação, use as seguintes configurações:

Política de bucket de origem e destino

Use as seguintes configurações de política de bucket:

  • Se o bucket de destino estiver em outra conta da AWS, conceda permissão na regra de replicação de origem do bucket para que o perfil de replicação replique objetos. Essas permissões são adicionais à política do perfil do IAM. Além disso, não configure o bucket de destino como Requester Pays.
  • Por padrão, o proprietário do bucket de origem não tem permissão para acessar os objetos que outras contas criam. A configuração de replicação replica somente os objetos que o proprietário do bucket de origem pode acessar. Para resolver esse problema, desative as listas de controle de acesso (ACLs) nos controles de propriedade do objeto ou altere a propriedade dos objetos para a conta de origem.
  • Se você armazenar o manifesto do trabalho em lote em um bucket de várias contas, permita que a conta do bucket acesse o manifesto. Adicione a permissão à política de bucket para o perfil de lote.

Permissão do AWS KMS para objetos criptografados

Use as seguintes configurações do AWS KMS para objetos criptografados:

Declarações de Negação Explícita

Se a declaração de Negação da política de bucket restringir ações com base na rede, o Amazon S3 não poderá realizar a replicação. Sua replicação do Amazon S3 não usa o endpoint de nuvem privada virtual (VPC) nem os Pontos de Acesso Amazon S3 que você configurou para acesso privado.

Para remover as restrições, execute as seguintes ações:

  • configure a política de bucket do manifesto para não negar nenhuma ação que o perfil de lote exija.
  • Se você usar acesso privado ao criar o trabalho em lotes do S3, conceda permissão ao endpoint da VPC para criar o trabalho em lotes.
  • Verifique se você não negou as permissões de replicação necessárias no IAM, nas políticas de controle de serviços (SCPs) do AWS Organizations, nas políticas de bucket ou nas políticas do AWS KMS.

Erros de configuração do trabalho de replicação em lote

Problemas de configuração podem causar as seguintes respostas de erro.

A geração do manifesto não encontrou chaves que correspondam aos critérios do filtro

Não inclua objetos no manifesto que estejam no Amazon S3 Glacier ou no Amazon S3 Glacier Deep Archive porque uma operação de replicação não os encontra.

Se o filtro de prefixo da regra de replicação ou os critérios de filtro no trabalho de replicação em lote não corresponderem a um prefixo no bucket, restaure os objetos. Depois de restaurar os objetos, execute a replicação novamente.

SrcGetObjectNotPermitted ou SrcHeadObjectNotPermitted

Você recebe o erro SrcGetObjectNotPermitted ou SrcHeadObjectNotPermitted quando o perfil do IAM que você configurou na regra de replicação não tem permissão para acessar objetos. Também é possível receber um dos erros quando o perfil do IAM não consegue recuperar os metadados do objeto do bucket de origem. Para resolver esses problemas, adicione a permissão s3:GetObjectVersionForReplication na política do perfil do IAM.

Para obter mais informações, consulte Configurar permissões para criar regras de replicação.

DstPutObjectNotPermitted

Quando você recebe o erro DstObjectNotPermitted, o Amazon S3 não consegue replicar objetos no bucket de destino. Para resolver esse problema, conceda a permissão s3:ReplicateObject ou s3:ObjectOwnerOverrideToBucketOwner na política do perfil do IAM e na política de bucket do S3 de destino.

O trabalho em lote foi executado com êxito, mas o número de objetos esperado no bucket de destino não é o mesmo

Esse erro ocorre quando há uma incompatibilidade entre os objetos listados no manifesto e o filtro. Para resolver esse problema, corrija os erros de digitação no filtro que você selecionou ao criar a tarefa ou na configuração da regra de replicação.

400 InvalidRequest: Task failed due to missing VersionId

Esse erro ocorre quando o trabalho encontra um objeto no manifesto com um campo de ID de versão vazio. Para resolver esse problema, converta os IDs de versão vazios em strings nulas.

Reasons for failure. The job report could not be written to your report bucket. Please check your permissions.

O Amazon S3 não suporta bloqueios de objetos no bucket que você designou para armazenar o relatório de conclusão do lote. Em vez disso, armazene o relatório em um bucket do S3 sem bloqueio de objetos.

Objetos ignorados sem uma mensagem de erro

O Amazon S3 não replica um objeto em um bucket de origem que seja uma réplica de outra configuração de replicação.

Além disso, o Amazon S3 não replica objetos no mesmo bucket de destino em que a replicação foi concluída com êxito. Em vez disso, o Amazon S3 ignora o objeto sem uma mensagem de erro.

Monitoramento

Após a conclusão de um trabalho de replicação em lote, o Amazon S3 gera um relatório de conclusão de lote no bucket ou prefixo de destino que você especificou. Esse relatório fornece informações detalhadas que incluem falhas e mensagens de erro associadas. Examine o relatório completo do lote para identificar objetos ou operações que falharam durante o processo de replicação e seus motivos de erro ou falha associados.

Use as notificações de eventos do Amazon S3 para notificá-lo quando os objetos não se replicam para a região da AWS de destino.

Observação: é preciso tempo para preparar um manifesto para o Amazon S3. No entanto, se seu trabalho em lote estiver na fase Preparando ou na mesma porcentagem de conclusão por várias horas, entre em contato com o AWS Support.

Informações relacionadas

How do I troubleshoot Amazon S3 Batch Operations issues? (Como soluciono problemas das Operações em Lote do Amazon S3?)

AWS OFICIALAtualizada há 8 meses