こんにちは!kossyです!
さて、今回はAWS CLI の aws configure コマンドで設定したcredentials情報が反映されない問題に遭遇したので、
解決した方法をブログに残してみたいと思います。
環境
aws-cli/2.1.15
Python/3.9.1
Darwin/19.6.0
事象
以下のコマンドでcredential情報を設定した後、
aws configure AWS Access Key ID: YOUR_ACCESS_KEY_ID AWS Secret Access Key: YOUR_SECRET_ACCESS_KEY Default region name: US-EAST-1 Default output format: json
aws s3 ls でコマンドで疎通確認をしようとしたところ、
$ aws s3 ls
An error occurred (InvalidAccessKeyId) when calling the ListBuckets operation: The AWS Access Key Id you provided does not exist in our records.
認証情報が違っているよ、とのこと。
きちんと設定されているか以下のコマンドで確認
$ aws configure list Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************ABCD env secret_key ****************EFGH env region us-east-2 config-file ~/.aws/config
Typeがshared_credentials_fileになるはずが、envになってました。。。
環境変数を読み込んでいた
以下の記事を読んだところ、.zprofile/.bash_profileの環境変数を読みに行ってることが判明。
.zprofile/.bash_profileの export aws_access_keyとaws_secret_keyを削除し、ターミナルを立ち上げ直したところ、
$ aws configure list Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************ABCD shared-credentials-file secret_key ****************EDGH shared-credentials-file region us-east-2 config-file ~/.aws/config
Typeの値が変わったことが確認できました。
再度、aws s3 ls コマンドを実行
$ aws s3 ls 2021-01-02 13:30:25 sample-app
無事疎通確認ができました。
勉強になりました。