Erro S3: a diferença entre a hora da solicitação e a hora atual é muito grande


118

Eu tenho erro. A diferença entre a hora da solicitação e a hora atual é muito grande ao chamar o método amazons3.ListObjects

ListObjectsRequest request = new ListObjectsRequest() {
    BucketName = BucketName, Prefix = fullKey 
}; 
using (ListObjectsResponse response = s3Client.ListObjects(request))
{
    bool result = response.S3Objects.Count > 0;

    return result;
}

O que poderia ser?

Respostas:


160

A hora em sua caixa local está fora de sincronia com a hora atual. Sincronize o relógio do sistema e o problema desaparecerá.


Está certo. Descobri a partir da mensagem de erro. Caso você esteja se perguntando como encontrar a hora local em uma máquina remota ou na nuvem, use a internet para encontrar a hora atual. timeanddate.com :)
user_v

1
Eu enfrentei o mesmo erro. Diga-me como realizar a sincronização
Stas de

38
Eu sonho com o dia em que as mensagens de erro serão mais diretas, "O horário do seu servidor está configurado incorretamente" seria ótimo para mim.
adamdport

2
A configuração de fuso horário não deve importar. É a precisão do tempo atualmente definido que é importante.
Mark At Ramp51

1
Na Austrália, acabamos de entrar no horário de verão (1 hora à frente) e agora esse erro está sendo lançado. Meu relógio está correto. Parece ser um bug na AWS.
Lucas,

72

Para aqueles que usam o Vagrant, um vagrant haltseguido por vagrant upfuncionou para mim.


62

O relógio está fora de sincronia.

Eu segui as etapas deste post para fazê-lo funcionar novamente, mas também tive que executar o seguinte comando.

sudo ntpdate ntp.ubuntu.com
sudo apt-get install ntp

Se a qualquer momento você receber uma mensagem dizendo que o soquete NTP ainda está em uso, pare com sudo /etc/init.d/ntp stope execute novamente o seu comando.


3
Obrigado! Funcionou como um encanto. :)
NoiteMICU

Oba, isso resolveu meu problema. Se você não tiver o apt-get , use o yum: sudo yum install ntp -y
Shougo Makishima

1
Trabalhou. Eu só tive que rodar sudo ntpdate ntp.ubuntu.comno meu servidor, no entanto.
spnkr

27

Eu tive o mesmo erro e estou usando o Docker para Mac. Simplesmente reiniciar o Docker funcionou para mim.


15

Caso alguém encontre isso usando Laravel e Homestead, basta executar

homestead halt

Seguido por

homestead up

E você está pronto para ir novamente.


15

Para aqueles que usam o Docker no Windows, tente reiniciar o Docker Engine em Setting-> Reset-> Restart Docker.


Esta não é uma resposta. Provavelmente algum comentário.
hB0 de

8

Como outros já disseram, seu relógio local está fora de sincronia com a AWS. Você pode mantê-lo sincronizado com os servidores da Amazon diretamente usando NTP para que não precise se preocupar com o desvio do relógio agora ou no futuro.

Nota: As instruções abaixo são para usuários * nix. Eu adicionei um comentário sobre como você pode fazer isso no Windows, mas como não sou usuário do Windows, não posso verificar sua precisão.

  1. Para instalar o NTP, basta escolher um dos seguintes, dependendo da sua distribuição:

    apt-get install ntp
    

    ou

    yum install ntp 
    

    etc.

  2. Configure o NTP para usar servidores amazon, assim:

    vim /etc/ntp.conf
    

    E nele, comente os servidores padrão e adicione estes:

    server 0.amazon.pool.ntp.org iburst
    server 1.amazon.pool.ntp.org iburst
    server 2.amazon.pool.ntp.org iburst
    server 3.amazon.pool.ntp.org iburst
    
  3. Em seguida, reinicie o serviço ntp:

    sudo service ntp restart
    

Fonte: https://www.allcloud.io/how-to/how-to-fix-amazon-s3-requesttimetooskewed/

E um artigo mais geral sobre como manter seu tempo sincronizado com NTP: https://www.digitalocean.com/community/tutorials/how-to-set-up-time-synchronization-on-ubuntu-12-04


C: \ Usuários \ Usuário> apt-get install ntp 'apt-get' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lote.
st78

apt-geté um instalador de pacote para certas distribuições Linux. Para Windows, você pode fazer uma pesquisa online para saber a melhor maneira de sincronizar com o NTP. Aqui está uma referência que encontrei para win10: tenforums.com/tutorials/… , e aqui está uma para Windows Server: support.microsoft.com/en-us/help/816042/…
Kyle Chadha


4

se este problema em seu host local para windows 10

definir a hora automaticamente ATIVADO e definir o fuso horário automaticamente ATIVADO, isso resolve o meu problema.

insira a descrição da imagem aqui


3

Isso também pode ser causado pelo uso de async / await com a construção do objeto de solicitação fora da tarefa e a chamada real para a AWS dentro da tarefa. Se houver muitas tarefas em execução e a tarefa não for agendada a tempo, ou se houver alguma outra operação atrasando a chamada real para a AWS, essa exceção pode ser lançada.


1

Para se livrar desse problema, você deve ajustar o tempo do cliente para que haja uma diferença máxima de carimbo de hora de até 15 minutos. Defina também a hora e o fuso horário padrão do seu sistema.

Verifique o detalhe completo aqui.


1

Se você estiver usando uma caixa virtual, o tempo na máquina virtual é sincronizado com o tempo da máquina real. Apenas fixar o tempo na máquina virtual não resolverá o problema.


1

Tive este erro porque a hora e o fuso horário da minha máquina local foram definidos incorretamente. Alterá-los para a hora e o fuso horário corretos funcionou para mim.


1

Se você receber esse erro no Windows, siga estas etapas para resolver o problema. Altere a configuração do horário local:
etapa 1: clique em alterar as configurações de data e hora
etapa 2: na janela pop-up Data e hora, clique na guia Hora da Internet
etapa 3: next Clique em Change Settings
etapa 4: no menu suspenso Server, selecione time.nist.gov ou verifique a etapa 5 deste site
: clique em OK

Reinicie seu console e verifique. Funciona...


0

Usar o ntp pode não funcionar em todas as versões do seu servidor baseado em Linux (por exemplo, uma versão desatualizada do servidor Ubuntu que não é mais suportada, o que impedirá que você baixe o ntp se ainda não estiver instalado).

Se esta for a sua situação, você pode definir fusos horários independentes para sua VM Linux: https://community.rackspace.com/products/f/25/t/650

Depois de fazer isso, pode ser necessário redefinir a hora / data. As instruções para fazer isso estão neste artigo: http://codeghar.wordpress.com/2007/12/06/manage-time-in-ubuntu-through-command-line


0

Se você está em 2016 e em Istambul, aqui está uma situação estranha que a Turquia decidiu não mudar para os padrões de horário de inverno de qualquer maneira, defina seu fuso horário local para Moscou e reinicie sua máquina.


Acho que isso deveria ser um comentário.
BlackVegetable

@BlackVegetable Eu também pensei que poderia ser um comentário, mas o fato é que se você estiver em uma situação que mencionei e for seguir as instruções dentro da resposta aceita, ela permanecerá sem solução; é por isso que esta é uma resposta que fornece uma solução alternativa.
Ömer Faruk Almalı

0

Eu tive esse problema ao executar o Jet (Codeship) e o Terraform no MacOS usando o Docker para Mac Beta canal 1.13.1-beta42.

Failed to read state: Error reloading remote state: RequestTimeTooSkewed: The difference between the request time and the current time is too large.
status code: 403, request id: 9D32BA2A5360FC18

Isso foi resolvido reiniciando o Docker.


0

Acabei de começar a receber esse erro e sincronizar meu relógio não ajuda. (Passei 2 horas sincronizando para cada servidor de tempo que posso encontrar, incluindo os servidores AWS, mas nada faz diferença.)

Exatamente a mesma coisa começou a acontecer há um ano em 31 de dezembro de 2017. Nesse caso, reiniciar meu sistema e reconstruir meu servidor (que usa o aws java sdk) corrigiu isso. Não sei por quê. Presumi que a AWS tinha alguma peculiaridade de fuso horário de fim de ano. Também é possível que, enquanto eu fazia essas coisas, os servidores de tempo da AWS se consertassem. Não tenho como testar essa hipótese.

Agora, a mesma coisa de repente começou a acontecer em 30 de dezembro de 2018. Não é certo no final do ano, mas perto o suficiente para parecer suspeito. (Nunca recebi esse erro, exceto nessas datas.) Reinicializar e reconstruir não está ajudando neste momento.

Meu ambiente de desenvolvimento nesta caixa é o Windows 10 no Parallels. Nada mais mudou no meu sistema - como eu verifiquei duas vezes revertendo para os instantâneos anteriores do Parallels. Os relógios no meu host MacOS e no Windows 10 virtual estão corretos.

Estou suspeitando de um bug da AWS.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.