LoginSignup
4
0

More than 1 year has passed since last update.

AWS CLIでFailed to connect to proxy URLでエンドポイントにアクセスできなかった話し

Last updated at Posted at 2022-12-22

はじめに

aws lambda publish-layer-versionコマンドを実行すると、

「Failed to connect to proxy URL: "http://{PROXY-URL}:80"」

となり、プロキシは正しく設定されているが、なぜかコマンドが通らずに三日程原因が特定できませんでした。同じようなエラーで困っている方に向けて情報を共有したいと思います。

結論

タイムアウトによりエラーが発生していました。--cli-connect-timeout 6000オプションをつけることでタイムアウトエラーを回避できます。

aws lambda publish-layer-version --cli-connect-timeout 6000

デフォルトのタイムアウト時間は60秒で設定されているため、通信が良くない環境で重いファイルをアップロードする際には同じエラーが発生する可能性があります。
https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html

試したこと

プロキシが正しく設定されていることを確認する

こちらのコマンドで現在のプロキシに設定されている環境変数を確認します。

printenv | grep proxy

環境変数が設定されていなければ、こちらのコマンドでプロキシを設定してください

export http_proxy=http://proxy-url:80
export https_proxy=http://proxy-url:80

設定ファイルと認証ファイルを確認する

.awsディレクトリにあるconfigcredentialsファイルを確認して、複数の設定がある場合には、環境変数として設定したい設定ファイルと認証ファイルが指定されている必要があります。設定ファイルはcat .aws/configで、認証ファイルはcat .aws/credentialsで確認できます。

configの確認
cat .aws/config
[default]
region = ap-northeast-1
output = json

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

[profile sample2]
region = ap-northeast-1
output = json
credentialsの確認
cat .aws/credentials
[sample1]
aws_access_key_id = sample1xxxxxxx
aws_secret_access_key = sample1xxxxxxxxxxxxxxxxxxxx

[sample2]
aws_access_key_id = sample2xxxxxxx
aws_secret_access_key = sample2xxxxxxxxxxxxxxxxxxxx

sample2をクレデンシャルとして環境変数に設定する場合は下記のコマンドを実行します。

export AWS_PROFILE=sample2

リージョンを確認する

Lambdaはリージョンごとのサービスのため、環境変数もしくはオプションでリージョンを正しく指定する必要があります。

環境変数で設定
export AWS_REGION=ap-northeast-1
オプションで設定
--region us-east-1

感想

プロキシエラーと表示されるため、プロキシの設定を何度も確認しましたが、一向にエラーが回避されず困り果てていました。偶然こちらの記事を見つけ、--cli-connect-timeout 6000を指定して実行したら上手くいきました。

aws lambda publish-layer-versionのようなアップロードサイズが大きい処理をCLIで実行すると、タイムアウトエラーとなる可能性があるため、参考になれば幸いです。

4
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
4
0