AWS CLI – S3,为什么我需要指定一个区域?

所以我的桶Alpha是在一个地区叫REGION1

我的桶Beta在不同的地区,我们称之为REGION2

我进入我的EC2实例,并使用此命令:

aws s3 cp s3://Alpha/meh.txt ./meh.txt

有用! 到现在为止还挺好。 它完美的作品。

但是,当我做这个命令: aws s3 cp s3://Beta/qwe.txt ./qwe.txt

我收到以下错误信息:

 fatal error: An error occurred (400) when calling the HeadObject operation: Bad Request 

上面的错误只能在我指定区域标志时才被修复。 这是为什么? 因为我认为无论区域如何,桶名都是唯一的,为什么我需要指定一个区域?

有没有办法阻止这种情况发生,而不指定区域? 也许是一个特殊的政策或什么?

谢谢。

只有AWS知道这个答案。 AWS可以删除这个要求,但我想他们希望你是明确的。

它会很简单,自动执行。 当客户端获得对桶的请求时,中央查找服务可以确定桶区域并在那里发送请求。 然而,这造成了单一的失败点。 您可以通过在每个区域运行查找服务并在客户端拥有所有端点来解决这个问题,但是这需要更多的代码,更多的configuration,更多的服务来运行,更多的服务需要CPU。

如果他们不想运行一个查询服务,那么请求将不得不通过一个中心点,代理到您的地区。 这需要CPU和带宽。

指定区域比其他选项更容易和更有效。