気ままなタンス*プログラミングなどのノートブック

プログラミングやRPGツクール、DTM等について、学んだことや備忘録をアウトプットとして残し、情報を必要としている誰かにとって「かゆいところに手が届く」ブログとなることを願いながら記事を書いています。

【AWS】[S3]プロキシ通信環境下のEC2において、AWS SDK for Python(Boto3)でbotocore.exceptions.NoCredentialsError: Unable to locate credentialsが発生する場合の対応方法

スポンサーリンク

概要

  • 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 

docs.aws.amazon.com

体系的に学んでいないため、インスタンスメタデータサービス(?)のIPアドレスは考慮できていなかった。 一度、クラウドプラクティショナーの試験などで学習した方が良いと思った。