Help us understand the problem. What is going on with this article?

AWSコマンドが突然うごかなくなるケースに遭遇

More than 3 years have passed since last update.

現象

エラー

ある日突然以下のエラーを出し、AWS CLIコマンドが動かなくなる。

An error occurred (AuthFailure) when calling the DescribeInstances operation: AWS was not able to validate the provided access credentials

原因

インスタンスのClockがずれた。

応急処置

次のコマンドを実行する

sudo ntpdate ntp.jst.mfeed.ad.jp

恒久対応

NTPなど時刻の同期をちゃんと設定する。

詳しく

AWSサーバのインスタンス情報などを取得するためのコマンド、たとえば以下のようなもの

export EC2_INSTANCE_ID=`wget -q -O - http://instance-data/latest/meta-data/instance-id 2> /dev/null`
aws ec2 describe-instances --filters Name=instance-id,Values="$EC2_INSTANCE_ID"

これを使う際には以下のようなAWS CLIを使うための認証用の環境変数を設定しないと、今回のようなAuthエラーがでて使えないのはよく知られているし、普通にドキュメントに書いてある。

export avail_zone=`wget -q -O - http://instance-data/latest/meta-data/placement/availability-zone`
export AWS_DEFAULT_REGION=`echo -n ${avail_zone}|sed -e 's/[a-z]$//'`
export AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXXX
export AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXX

これを設定しておけば通常は認証はOKだ。

だが、認証が失敗するケースはこれだけではない。

インスタンスのOSのClockがズレている場合も認証エラーになるのだ。

問題が起きたのは次のイメージから作ったインスタンス。

ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-20160114.5 (ami-9abea4fb)

このイメージのデフォルトではNTPの設定がされていないため、負荷をかけると時刻がずれていくのであるらしい。

それで、ある日突然AWS CLIが動かなくなり、それを利用していたCronなどがエラーを吐くようになった。

AWSでUbuntuのイメージを使ってインスタンスを作っている人はOSのクロックが同期しているか確認した方がいい。

aya_eiya
主要な開発言語は軒並み扱えるオールラウンドプログラマです。サーバーサイドの仕事が多いですが、最近はFlutterとかやってます。
http://aya-eiya.hateblo.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした