terça-feira, 17 de julho de 2012

Amazon S3 Diferença de horário [RequestTimeTooSkewed]

Você está tentando fazer upload para seu bucket no S3 do seu servidor e está recebendo essa mensagem:

RequestTimeTooSkewed: The difference between the request time and the current time is too large


É, eu posso dizer que te entendo. Aconteceu comigo. Como a idéia do blog é ser rápido e prático lá vai. 2 Possibilidades.


Ou você tem uma instância em região diferente do seu S3. Por exemplo: Ec2 criada em São Paulo e Bucket criada nos Eua, ou seu servidor está com um horário bem diferente do S3 (talvez você tenha configurado para algo e está dando diferença). O S3 aceita 15min de diferença de horários, mais que isso ele não permite o upload e exibe esse erro. 


Como resolvi no meu caso. Tenho uma instância em SP (sa-east) e criei um Bucket em SP também, mas continuei recebendo esse erro. Por uma necessidade eu alterei a hora do meu servidor EC2 (linux ubuntu) dessa maneira : 


$ sudo date 2012171420  (sudo dade mês+dia+hora+min);


E legal, funcionava, mas nada da imagem ir para o S3. Estranho, resolvi então fazer um upload de imagem direto da Amazon ou do Firefox utilizando o S3Fox Organizer e a hora estava igual a do server. Dando o comando $ date no servidor eu obtinha:



Tue Jul 17 14:40:36 UTC 2012 e foi aí que percebi, UTC não estava correto de acordo com Timezone, e o servidor continuava considerando a diferença de horas, pegando o horário antigo que era de 4h de diferença.

Então a melhor forma de alterar o horário do servidor para funcionar o S3 nas mesmas regiões é:

$ sudo dpkg-reconfigure tzdata


Como eu já tinha alterado antes, voltei a alterar para a hora correta, porque ao alterar o timezone a hora voltou a ser de 4h de diferença, que era a fonte do problema. Agora está assim:



Tue Jul 17 14:40:36 BRT 2012


À partir daí o upload funcionou normalmente.









Nenhum comentário:

Postar um comentário