不确定我在这里遗漏了什么。
我有一个 S3 存储桶。我有一个 EC2 实例。
我创建了一个 VPC 端点并将其与我的 VPC 中的所有子网关联,采用默认策略:
{
"Statement": [
{
"Action": "*",
"Effect": "Allow",
"Resource": "*",
"Principal": "*"
}
]
}
我的理解是,我现在应该能够从我的 EC2 实例访问我的 S3 存储桶。
当我尝试从 S3 实例中获取任何东西时,它似乎挂起了很长时间,然后给出:
read-s3object : A WebException with status ConnectFailure was thrown. At line:1 char:1
+ read-s3object -bucketname go-hubble-team-city-bucket -key 1.exe -file t.exe
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation:
(Amazon.PowerShe...dS3ObjectCmdlet:ReadS3ObjectCmdlet) [Read-S3Object]
, InvalidOperationException
+ FullyQualifiedErrorId :
Amazon.Runtime...,Amazon.PowerShell.Cmdlets.S3.ReadS3ObjectCmdlet
...无论对象是否在存储桶中。我很确定请求没有到达存储桶。
有什么想法吗?我不确定如何解决此问题。
答案1
设置路由表以允许实例访问终端节点。请注意,VPC、终端节点和存储桶都需要位于同一区域。以下是我的路由表。
请注意,我的 VPC 恰好位于 US-West-2。当您开始输入终端节点 ID 时,它会正确填充文本。
有文档在这里。