2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWS CDKで "but no credentials have been configured" のエラーが出る

Posted at

発生した問題

AWS CDKに入門してbootstrapしようとしたら、"but no credentials have been configured" みたいなエラーが出てきて詰まったので、解決策をメモしておく。

TL;DR

~/.aws/config の該当箇所を全てを以下のように直せば解決する。

Before

[<PROFILE_NAME_1>]
...
[<PROFILE_NAME_2>]
...

After

[profile <PROFILE_NAME_1>]
...
[profile <PROFILE_NAME_2>]
...

解決への道のり

エラー文の通り、AWSの認証情報がCDK側で受け取れていないのが原因そうだった。しかし、~/.aws/config~/.aws/credentials にはちゃんと cdk bootstrap aws://xxx/yyy --profile <PROFILE_NAME> で指定したプロファイルに対する設定が書かれていた。

なぜちゃんと書かれているプロファイル設定がCDK側で認識できないのかと悩み、色々ググったらGitHubのissueが見つかった。このissueの問題には直接関係なかったが、issue中のあるコメントを見ると、~/.aws/config 内のプロファイル名の指定はprefixとして profile 付くらしいというのがわかった。自分のを見ると付いておらず、

[<PROFILE_NAME>]
...

のようになっていた。

特段自分でいじった覚えがなく、なぜprefixがつかないで記述されていたのかは分からなかった。AWS CLIやTerraformで使う分にはprefixがついてない設定ファイルでも問題なく動作していたので、今まで気づかなかった。

そこで、~/.aws/config のプロファイルの指定を

[profile <PROFILE_NAME>]
...

のように直すと、無事AWS CDKの方でプロファイルの設定を認識してくれるようになった。めでたしめでたし。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?