AWS S3 CLI-エンドポイントURLに接続できませんでした


118
$ aws s3 ls

Could not connect to the endpoint URL: "https://s3.us-east-1a.amazonaws.com/"

何が問題でしょうか?


でcloudsearchドメインを作成しようとしたときにこれが発生しました。us-east-2使用する必要がありましたus-east-1か?
Jason Goemaat

回答:


259

デフォルトリージョンのデフォルトプロファイルに問題がある可能性があります。

であなたのファイルをチェックし~/.aws/config、あなたのようなものを持っています

[default]
region=us-east-1a
...

領域を修正するregion=us-east-1と、コマンドは正しく機能します


3
'aws configure'コマンドによって作成された〜/ .aws / configに同様の間違ったエントリがありました。デフォルトでは、私が受け入れた私の地域名「ムンバイ」が提案されました。これが問題でした。ap-south-1に置き換えると、コマンド(aws s3 ls)が機能し始めました。ありがとう。
Anurag

1
どうもありがとうございました。何を私の頭の上の小さな毛残っている...他のいくつかの瞬間のためにも安全です
copper.hat

1
ありがとうございました。どうやってあなたがそれを知ったのか分かりません。
user890332

2
同様のエラーが発生し、コマンドラインオプションとして地域を指定することで解決できることもわかりました:aws s3 ls --region us-east-1
カートピーク

3
私は彼らがこのような答えに金銭的な寄付を送る能力を持っていることを望みます。
RayLoveless

8

最初に「aws configure」を使用してから、アクセスキー、シークレットキー、およびリージョンを入力します。入力する地域はこの問題にとって重要です。「s3.us-east-1a」ではなく、「s3.us-east-1」のようなものを入力してください。それは問題を解決します。


6

一部のAWSサービスは、実際のリージョンと一致しない特定のリージョンでのみ利用できます。この場合は、実際のcliコマンドにリージョンを追加することで、標準設定を上書きできます。

これは、設定ファイルのデフォルトの地域を変更したくない人にとって便利な解決策かもしれません。一般的な設定ファイルが設定されていない場合:上記の提案を確認してください。

この例では、地域はeu-west-1(アイルランドなど)に強制されています。

aws s3 ls --region=eu-west-1

テストし、aws workmailでユーザーを削除するために使用します。

aws workmail delete-user --region=eu-west-1 --organization-id [org-id] --user-id [user-id]

私はこのスレッドからアイデアを導き出し、それが私にとって完璧に機能するので、それを共有したかった。それが役に立てば幸い!


5

上記の解決策のいずれも機能しない場合は、権限とファイアウォール設定も確認してください。私の場合、プロキシ環境変数を追加することでうまくいきました。

LinuxまたはMacの場合

$ export HTTP_PROXY=http://<YOUR PROXY IP>:<PORT>

$ export HTTPS_PROXY=http://<YOUR PROXY IP>:<PORT>

Windowsの場合

set HTTP_PROXY=http://<YOUR PROXY IP>:<PORT>

set HTTPS_PROXY=http://<YOUR PROXY IP>:<PORT> aws cli Windows

ここに画像の説明を入力してください


5

aws configureを使用して指定されたデフォルトのリージョンに依存するのではなく、CLIスクリプトでリージョンを指定する必要があります(現在最も一般的な回答が表明しているように)。別の答えがそれを暗示していましたが、AWS Tools for Powershellを介してCLIを使用している場合、構文は間違っています。

この例では、リージョンをus-west-2(北カリフォルニア)、PowerShell構文に強制します。

aws s3 ls --region us-west-2

2

おそらく、awsの設定中にデフォルトリージョンに問題があります。あなたの場合、URLには「https://s3.us-east-1a.amazonaws.com/」と表示されます

コマンドプロンプトで、

aws configure、キーを入力し、リージョンをus-east-1aからus-east-1に修正します。

使用しているCLIに従って構文を確認してください。これは役に立ちます。


1

のプロファイルで~/aws/config地域を使用していると想定します(元の質問のAZではなく)。もう1つの原因は、クライアントがに接続できないことs3.us-east-1.amazonaws.comです。私の場合、ネットワーク構成のエラーのため、そのDNS名を解決できませんでした。DNSの問題を修正すると、問題が解決しました。


0

これを修正するために私が行ったいくつかのこと:

  1. 私のCLIを更新すると、このエラーが発生しました(以前のエラーは「aws connection aborted error 10013 ")
  2. nslookup aws s3 endpoingを試しました:nslookup s3.us-east-2.amazonaws.com

    DNS要求がタイムアウトしました。タイムアウトは2秒でした。サーバー:不明なアドレス:192.168.10.1

-> うーん、とても変

  1. Windowsネットワークのトラブルシューティングを行い、特定のページへのアクセスをテストするために選択されました。Windowsファイアウォールが接続をブロックしたことを通知しました。これを修正しました

  2. firewalを介してリクエストを修正した後、新しいエラーを受け取りました:

    ListBuckets操作を呼び出すときにエラーが発生しました(RequestTimeTooSkewed):要求時刻と現在の時刻の差が大きすぎます。

  3. 日付と時刻を自動に更新->修正済み


0

CLIで次のことを行う必要があります。1. aws configure '
2.入力キー3.入力秘密キー4.次にリージョンie:eu-west-1(1の後にaまたはbを残す)


0

誰もが異なるデフォルトを持っています、そして興味深いことに、それは時間の経過とともに変わります。例として、最初に私はグローバルにいました、そして、15分後にそれはオハイオ(それはですus-east-2)を示します。

最善の方法は、作業中に確認することです-AWS作業領域のコンソールで、上部バーの名前の近くの真上に設定します 、地域名を確認し、下矢印をクリックして地域を確認します。

AWS CLIタイプaws configureまたはaws2 configureで、アクセスとシークレットIDを指定し、デフォルトのリージョンでリージョンを書き込んでEnterキーを押します。

あなたは間違いなく特定の地域セットにアクセスでき、それは機能します。


0

私の問題の解決策は実行することでした:

    sudo aws configure

資格情報を入力して実行します。

    sudo aws s3 ls

別の解決策は、.aws / configファイルのリージョンがエンドポイントと同じであることを確認することでした

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.