概要
事の発端に気づいたのは、ECRにログインするコマンドを叩いた際、現在使っている情報とは異なるアカウントに接続しに行っているのに気づき、何故こんな事になっているのか原因が全然分からなかった為、調査を行いました。
最初に、aws configure list
でaws configure
の設定情報を調べた際、かなり昔に消去したアカウントの情報がdefault
で設定されている事に気付きました。話は前後しますが、profile
を使えば問題なくAWS CLIのコマンドは動作しますが、この方法は結構面倒な事が多い事を業務で知っていたので、なんとしても、aws configure
のdefault
設定を今使っているアカウントにしたくて、調査しまくり修正を行いました。
同じ問題で悩んでいる皆様に、修正方法をお伝えできればと思い記事に残しました。
原因調査と修正方法
いろいろ設定を直しても全然上手くいかない為、aws configure list
をずっと眺めていると、Type
にenv
が付いている事に気づきました。
(profile
のValue
にtest
が付与されているのは、私がいろいろ設定してた際に、付けてしまいました。)
$ aws configure list
Name Value Type Location
---- ----- ---- --------
profile test env ['AWS_PROFILE', 'AWS_DEFAULT_PROFILE']
access_key *******************4 env
secret_key *******************d env
region ap-northeast-1 config-file ~/.aws/config
何故、Type
にenv
が付いているか気になり凄く調査を行なっていると、有力な記事(参考記事に記載)を見つけ、その記事を読んでいると~/.zshrc
に原因があると分かり、直ぐにcat
コマンドで中身を見ました。
$ cat ~/.zshrc
.zshrcの入力内容(個人情報がある為、一部中身を省略しています)
# Fig pre block. Keep at the top of this file.
export AWS_ACCESS_KEY_ID='****************4'
export AWS_SECRET_ACCESS_KEY='********************************d'
# Fig post block. Keep at the bottom of this file.
恐らく、プログラミングを始めた頃に設定したであろうAWSの設定情報が記載されており、この記述が悪さをしていた原因でした。
まず、その悪さをしていた部分を消去。
(私は、$ vim ~/.zshrc
で編集を行い、不要部分を消しました)
次に、下記のコマンド入力して、以前のdefault
値を消去。
$ unset AWS_DEFAULT_REGION
$ unset AWS_ACCESS_KEY_ID
$ unset AWS_SECRET_ACCESS_KEY
$ unset AWS_DEFAULT_PROFILE
改めてaws configure list
のコマンドをターミナルで叩くと、新しくaws configure
で登録した内容が反映されました。
$ aws configure list
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key *******************W shared-credentials-file
secret_key *******************f shared-credentials-file
region ap-northeast-1 config-file ~/.aws/config
感想
結構どハマりして、なかなか原因が分からず何日間か悶え苦しみましたが、無事解決出来てよかったです。