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.









Welcome!

Bazinga! Esse é o primeiro Post do Blog. Fiz esse blog na intenção de ajudar outros desenvolvedores que estejam  ou irão ter os mesmo problemas, bugs e dificuldades que tive compartilhando soluções e idéias encontradas para solucioná-los.


Sejam todos bem-vindos, espero poder ajudar com dicas e novidades, e espero também ajudar de maneira de tirar o trator da suas costas enquanto você procurava desesperadamente uma resposta para seu código ou bug. 
Tudo que eu postar aqui foi algo que para mim foi algo relevante. 


Não sou um às de programação nem nada, estou aprendendo também e se puder compartilhar, ou até mesmo melhorar as dicas que aqui estão, fique à vontade! 


A casa é nossa!
Beno