はじめに
何気なく awscli を叩いたら表題のエラーが出たので調査しました。
つい先日当該アカウントの IAM User 棚卸しをしてアクセスキーの整理をしたのでその影響だろうと思われました。
当該インスタンスには IAM Role が付与されてはいたものの、実際はローカルに残存していたアクセスキーで API を叩いているのでは?という状況です。
環境
- EC2
- CentOS 6.7
- やりたい操作を許可する IAM Role 付与済み
調査
まず、アクセスキーが残存しているのだろうと思い、 ~/.aws/credentials を確認。
たしかに鍵の記述があったのでそれを削除。ただ、依然としてエラーのまま。
よくわからないためぐぐると awscli には --debug オプションがあることがわかり、早速実行すると以下のメッセージを発見。
MainThread - botocore.credentials - INFO - Found credentials in boto config file: ~/.boto
なるほどと ~/.boto を確認すると、こちらにもアクセスキーが記述されていました。
対応
~/.boto を削除してエラーが解消されました。
さいごに
--debug 便利ですね。