AWS S3 CLI - 无法连接到端点URL

时间:2016-11-03 19:24:46

标签: amazon-web-services amazon-s3

$ aws s3 ls

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

可能是什么问题?

17 个答案:

答案 0 :(得分:179)

默认区域的默认配置文件可能有问题。

~/.aws/config检查您的文件,您有类似

的内容
[default]
region=us-east-1a
...

将区域修复为region=us-east-1,然后命令将正常运行

答案 1 :(得分:7)

首先你使用' aws configure' 然后输入访问密钥和密钥, 和该地区。您输入的区域对此问题很重要。 尝试输入类似' s3.us-east-1',而不是' s3.us-east-1a'。 它将解决问题。

答案 2 :(得分:4)

S3端点是按区域划分的,而不是按照AZ:

http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region

在您的情况下,它应该是https://s3.amazonaws.com

答案 3 :(得分:2)

这对我有用。

  1. 使用调试选项可以清楚地了解错误

aws ec2 describe-instances --instance-ids (myid) --region ap-south-1 --debug

我遇到了以下问题。

<块引用>

EndpointConnectionError:无法连接到端点 URL: “https://ec2.ap-south-1b.amazonaws.com/”

  1. 我尝试 Ping 但它不起作用
<块引用>

ping ec2.ap-south-1b.amazonaws.com ping: ec2.ap-south-1b.amazonaws.com:名称或服务未知

  1. 我在使用 aws configure 时检查了 Region 的无效值

但配置正确

<块引用>

[默认] region = ap-south-1

  1. 然后,我去**IAM -> Users -> (yourusername) -> Add 权限

并且我添加了“AdministratorAccess”策略**。

  1. 在那之后,一切都对我有用。
<块引用>

MainThread - urllib3.connectionpool - DEBUG - 启动新的 HTTPS 连接(1):ec2.ap-south-1.amazonaws.com:443 MainThread - urllib3.connectionpool - 调试 - https://ec2.ap-south-1.amazonaws.com:443 "POST / HTTP/1.1" 200 7176

答案 4 :(得分:2)

如果以上给出的解决方案均无效,请检查您的权限和防火墙设置。以我为例,添加代理环境变量可以完成这项工作。

对于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

enter image description here

答案 5 :(得分:1)

您应该在CLI脚本中指定区域,而不是依靠使用aws configure(作为当前最流行的答案所断言)指定的默认区域。提到了另一个答案,但是如果您通过AWS Tools for Powershell使用CLI,则语法是错误的。

此示例使用PowerShell语法将区域强制为us-west-2(北加利福尼亚):

aws s3 ls --region us-west-2

答案 6 :(得分:1)

配置aws时,默认区域可能出了问题。 在您的情况下,URL会显示“ https://s3.us-east-1a.amazonaws.com/

在命令提示符下,

aws配置, 输入您的密钥, 现在,将您的区域从us-east-1a固定为 us-east-1

请根据您使用的CLI检查语法。 这会有所帮助。

答案 7 :(得分:1)

某些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]

我从这个主题中得出了这个想法,它对我来说非常完美-所以我想分享一下。希望对您有帮助!

答案 8 :(得分:0)

假设您在~/aws/config中的个人资料正在使用该区域(而不是按照您的原始问题使用AZ);另一个原因是您的客户无法连接到s3.us-east-1.amazonaws.com。就我而言,由于网络配置错误,我无法解析该DNS名称。解决DNS问题解决了我的问题。

答案 9 :(得分:0)

结合我为解决此问题所做的事情:

  1. 更新了我的CLI,并给出了此错误(先前的错误是“ aws connection aborted error 10013”)
  2. 尝试过nslookup aws s3内窥镜:nslookup s3.us-east-2.amazonaws.com

    DNS请求超时。     超时为2秒。 服务器:未知 地址:192.168.10.1

-> 嗯,很奇怪

  1. 进入Windows网络疑难解答,并选择测试对特定页面的访问。 它通知Windows防火墙阻止了该连接。修复了此问题

  2. 通过firewal修复请求后,收到一个新错误:

    调用ListBuckets操作时发生错误(RequestTimeTooSkewed):请求时间与当前时间之间的差太大。

  3. 将我的日期和时间更新为自动->固定

答案 10 :(得分:0)

您应该在CLI上执行以下操作: 1. aws configure'
2.输入访问密钥 3.输入密钥 4.然后是区域:eu-west-1(将a或b留在1后面)

答案 11 :(得分:0)

每个人都有不同的默认值,有趣的是它会随着时间的流逝而改变。举例来说,我首先在全球范围内工作,然后在15分钟后显示俄亥俄州(即us-east-2)。

最好的方法是在工作期间进行检查-在AWS工作区的控制台中,只需将其设置在顶部上方名称附近的右上方 检查您的区域名称,然后单击向下箭头以查看您的区域。

在AWS CLI中,键入aws configureaws2 configure,提供访问权限和密钥ID,然后在默认区域内输入您的区域,然后按Enter。

您肯定会访问特定区域集,并且可以使用。

答案 12 :(得分:0)

我的问题的解决方案是运行:

    sudo aws configure

输入您的凭据,然后运行:

    sudo aws s3 ls

另一种解决方案是确保.aws / config文件中的区域与端点相同

答案 13 :(得分:0)

在Windows上,再次运行aws configure命令并重置不带字母的区域,例如,如果您的区域是us-east-1a,则需要将其更改为us-east-1才能起作用。

enter image description here

答案 14 :(得分:0)

  1. 检查主目录下的 .aws 目录。 视窗: C:\Users.aws Linux: ~/.aws

  2. 在此目录下,您将找到配置和凭据文件。它将包含您之前可能运行过的 aws 配置信息。如果没有,那么

  3. 运行aws configure 输入访问密钥 - 密钥 - 输入密钥 地区 -(ap-southeast-1 或 us-east-1 或任何其他地区) 格式 - (json 或将其留空,它会选择默认值,您只需按 Enter)

  4. 从第 2 步开始,您应该看到配置文件,打开它,它应该有区域。请确保已指定区域。

  5. 您现在可以运行以下命令来列出存储桶 aws s3 ls 它应该可以正常工作。

答案 15 :(得分:0)

如果它在您的默认区域中不起作用,请尝试提供一个靠近您的区域。这对我有用:

   PS C:\Users\shrig> aws  configure
   AWS Access Key ID [****************C]:**strong text**
   AWS Secret Access Key [****************WD]:
   Default region name [us-east1]: ap-south-1
   Default output format [text]:

答案 16 :(得分:-1)

可能正在使用公司的VPN。请断开连接,然后重试。即使我从命令提示符中收到了相同的错误,当断开VPN连接时,也会得到输出。