awscliはOS内の時間が狂ってるとAuthFailureが出る

ある日突然AWSCLIがコケ、以下のエラーが出ました。

A client error (AuthFailure) occurred when calling the DescribeAddresses operation: AWS was not able to validate the provided access credentials

アクセスキーとか変わってないんですけどね

んでキーとか再生成してもうまくいかず、なんかもうインスタンス固有の問題かと思っていたら、awscliにdebugオプションがあったので実行してみたところ

aws --debug ec2 describe-addresses
MainThread - botocore.vendored.requests.packages.urllib3.connectionpool - INFO - Starting new HTTPS connection (1): ec2.ap-northeast-1.amazonaws.com
MainThread - botocore.vendored.requests.packages.urllib3.connectionpool - DEBUG - "POST / HTTP/1.1" 401 None

と出てきたのでこれで検索したところ、時間がずれているとうまくいかないという記事を発見

https://gist.github.com/sonots/5d7b6ff1bff5b78cb2bb

で、

date

を実行したら5分後になっていた。

ntpdateで同期してawscliを実行したら成功しました。