【发布时间】:2016-07-23 06:55:17
【问题描述】:
我从私有子网中运行的 EC2 实例内部收到“无法连接到端点 URL:“https://s3.amazonaws.com/”
这是一个配置:
创建了一个具有 2 个私有子网(是.. 没有公共子网)的 VPC,即 使用 VPN 连接连接到我们的数据中心。此 VPC 不 有任何 IG 或 NAT。
在内部创建 EC2 实例(Amazon Linux AMI) 私有子网之一。
- 使用 Putty 连接到 EC2- 成功地。
-
现在创建了一个端点 - S3 连接到 VPC(在第 1 步中)和策略如下(由 aws 提供 管理控制台):
{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" } ] } - 路由会自动添加到目的地为 pl-xxxxxxxx(com.amazonaws.us-east-1.s3) 且目标为 在第 4 步中创建的端点,状态为 Active,Propogated - No
- 在 VPC 的安全组中添加了 2 个出站规则:(HTTP:80, HTTP:443) 到目标前缀 s3 端点,以 pl-xxxxxxxx(同第 5 步)。
- 使用亚马逊管理控制台在 S3 中创建了一个存储桶
-
编辑桶策略如下
{ "Version": "2012-10-17", "Id": "Policy1459706251964", "Statement": [ { "Sid": "Stmt1459706246215", "Effect": "Allow", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::mybucket/*", "arn:aws:s3:::mybucket" ] } ] } -
现在在腻子会话中输入以下命令
aws s3 ls --debug --endpoint-url https://s3.amazonaws.com/mybucket 我收到“EndpointConnectionError:无法连接到 #9 中的端点 URL
我知道我遗漏了一些东西..任何帮助都会很大 赞赏..
【问题讨论】:
-
我不确定你从哪里得到
us-east1.s3.amazonaws.com,但这几乎肯定是无效的。在 us-east-1 区域中,S3 的正确端点是s3.amazonaws.com或s3-external-1.amazonaws.com。 -
@Michael-sqlbot - 你是对的。在 AWS 文档中,对于东海岸 - 它是 s3.amazon.com。我试过了,但没有用。然后我搜索了一下,发现有人遇到了类似的问题,他指的是 {us-east1.s3.amazonaws.com}。现在我重新更正了同样的错误。
-
路由自动添加到VPC路由 ...自动添加?这听起来不对,但我是从记忆中开始的——验证 所有 适当的路由表,尤其是用于此实例子网的路由表确实具有该 pl-xxxxxxxx 条目。然后,我会放宽出站安全组以允许所有流量,然后查看您是否有连接。您不想一次解决多个问题。
-
@Michael-sqlbot - 听从你的指示:
-
我还检查了子网中是否定义了
。然后我检查了 VPC 的路由。它已正确定义,并且具有 3 routes defined- 1) <VPC CIDR> as Destination, "local" as Target, "Active" as Status and "No" as "Propogated" 2)<pl-xxxxxxx> as Destination, "<vpcendpoint>" as Target, "Active" as Status and "No" as "Propogated" 3) 0.0.0.0/0 as Destination, "<VGW>" as Target, "Active" as Status and "Yes" as Propogated然后我放宽了与此 VPC 关联的安全组的出站规则并允许所有流量。
标签: amazon-web-services amazon-s3 amazon-ec2 amazon-vpc