400 Bad Request while pulling instances with amazon

陌路散爱 提交于 2019-12-23 09:07:42

问题


Can any body say why I'm getting this error?

I'm getting this while pulling instances after connection to amazon server.

import boto

con = boto.connect_ec2(aws_access_key_id='XXX',aws_secret_access_key='XXX')
con.get_all_instances()

Traceback (most recent call last):

  File "getAllinstanc.py", line 7, in <module>

    reservations = ec2conn.get_all_instances()

  File "c:\jiva\py26\lib\site-packages\boto-2.3.0-py2.6.egg\boto\ec2\connection.py", line 467, in get_all_instances

    [('item', Reservation)], verb='POST')
  File "c:\Jiva\py26\lib\site-packages\boto-2.3.0-py2.6.egg\boto\connection.py", line 896, in get_list

    raise self.ResponseError(response.status, response.reason, body)

boto.exception.EC2ResponseError: EC2ResponseError: 400 Bad Request

<?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error><Code>RequestExpired</Code><Message>Request has expired. Timestamp date is 2012-04-09T06:54:53Z</Message></Error></Errors><RequestID>44
08be18-5d2b-420b-af48-e2cb03</RequestID></Response>

回答1:


Each request made by boto (or any other AWS client library) is cryptographically signed and has a timestamp associated with it (usually the Date header in the request). The timestamps have to be reasonably close, usually within 15 minutes, of Amazon's idea of the current time. If the timestamp is outside this acceptable window, you will receive an error like this.

So, the short answer is to check the system time on the client machine. It appears to be inaccurate.




回答2:


There's nice method to test for clock skew described on Amazon's forum.

Type:

wget -S  "https://email.us-east-1.amazonaws.com"

This returns an error, but includes the remote system's time in the Date header. Then compare that with the results of date on your system (assuming it's unix derived).

If your OS happens to be Ubuntu or other Debian variant, you can keep the time current by installing an ntp daemon like this:

sudo apt-get install ntp


来源:https://stackoverflow.com/questions/10070259/400-bad-request-while-pulling-instances-with-amazon

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!