botocore.exceptions.ProfileNotFound: The config profile (yoshinsh) could not be found - Shinichi0713/recipie_suggest GitHub Wiki

botocore.exceptions.ProfileNotFound: The config profile (yoshinsh) could not be found
このエラーは、AWS CLIやBoto3で指定したプロファイル(ここではyoshinsh)が見つからない場合に発生します。


原因

  • プロファイルyoshinsh~/.aws/credentialsまたは~/.aws/configに定義されていない。
  • スペルミスや環境変数AWS_PROFILEの設定ミス。

解消方法

1. プロファイルの定義を確認・追加

~/.aws/credentials または ~/.aws/config ファイルを開いて、
[yoshinsh] セクションがあるか確認してください。

例:~/.aws/credentials

[yoshinsh]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEY

例:~/.aws/config

[profile yoshinsh]
region = ap-northeast-1
output = json

なければ、上記のように追加してください。


2. プロファイル名のスペルを確認

  • yoshinsh のスペルが合っているか確認してください。
  • コマンドやスクリプトで --profile yoshinsh のように指定している場合、名前が一致しているか確認。

3. aws configureコマンドでプロファイルを作成

aws configure --profile yoshinsh
  • 対話形式でアクセスキーなどを入力し、プロファイルを作成できます。

4. 環境変数の確認

もし環境変数でプロファイルを指定している場合は、
AWS_PROFILEの値が正しいか確認。

echo $AWS_PROFILE
  • 必要なら
    export AWS_PROFILE=default
    
    などで変更可能。

5. IAMロール利用の場合

EC2インスタンスにIAMロールがアタッチされていれば、
--profile指定やAWS_PROFILE環境変数は不要です。
プロファイル指定を外して実行してください。


まとめ

  1. ~/.aws/credentials~/.aws/config[yoshinsh]プロファイルがあるか確認・追加
  2. プロファイル名やスペルの確認
  3. aws configure --profile yoshinshで新規作成
  4. 環境変数AWS_PROFILEの確認
  5. IAMロール利用時はプロファイル指定を外す