LoginSignup
7
3

More than 5 years have passed since last update.

プロキシ利用時のAWS CLIで Unable to locate credentials 発生時の対応

Posted at

■状況

EC2インスタンス内でPROXY接続している場合、
IAMロールで許可されているのに権限エラーが発生する。

■結論

対応方法としては、
Linux, OS X, or Unix
export NO_PROXY=169.254.169.254
Windows
set NO_PROXY=169.254.169.254
を実行すればよい。

■参考

Using an HTTP Proxy
http://docs.aws.amazon.com/cli/latest/userguide/cli-http-proxy.html

■何故この設定で動作するのか?

AWSのドキュメントによると、

インスタンスメタデータからセキュリティ認証情報を取得する
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#instance-metadata-security-credentials

AWS SDK、AWS CLI、および Tools for Windows PowerShell は EC2 インスタンスメタデータサービスから自動的に認証情報を取得して使用します。

とのことなので、インスタンスメタデータから
IAMロールの認証情報を取得できず、
AWS CLIの実行でエラーが発生するということなのでしょう。

■確認

実際に確認してみました。

環境:
AmazonLinux
 Amazon Linux AMI release 2016.09
AWS CLI
 1.10.56

■PROXY設定なし の場合

image

■PROXY設定あり かつ NO_PROXY設定なし の場合

image

■PROXY設定あり かつ NO_PROXY設定あり の場合

image

■結果

確かに、
PROXY設定を付与するとIAMロールで許可されていても認証情報がないといわれ、
その状態でNO_PROXY設定を付与すると問題なくIAMロールの認証情報が使用されることが確認できました。

7
3
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
7
3