概要
- EC2マシン上で、環境変数HTTP_PROXYやHTTPS_PROXYを設定しており、IAMロールでS3へのアクセスを許可しているにも関わらずUnable to locate credentialsが発生する
botocore.exceptions.NoCredentialsError: Unable to locate credentials
想定環境
- AWSにおいて、オンプレ環境を経由して、外部ネットワークに接続している
対応方法
- 環境変数no_proxyに対して、
169.254.169.254
を追加する
$ export no_proxy=localhost,127.0.0.1,169.254.169.254
体系的に学んでいないため、インスタンスメタデータサービス(?)のIPアドレスは考慮できていなかった。 一度、クラウドプラクティショナーの試験などで学習した方が良いと思った。