S3 存储桶是否特定于区域?

Are S3 buckets region specific?

当我们在 "Global" 选项中转到 AWS 控制台中的 S3 时,它显示

"S3 does not require region selection."

但是当我们在那里创建新的存储桶时,它要求提供区域!

S3 存储桶是否特定于区域?

用户界面显示所有地区的所有存储桶。但是bucket是有地域的,创建bucket的时候需要指定region。

S3 存储桶是区域特定的,您可以检查http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region 以获取基于区域的端点列表

来自关于创建 S3 存储桶的文档

Amazon S3 creates bucket in a region you specify. You can choose any AWS region that is geographically close to you to optimize latency, minimize costs, or address regulatory requirements. For example, if you reside in Europe, you might find it advantageous to create buckets in the EU (Ireland) or EU (Frankfurt) regions. For a list of AWS Amazon S3 regions, go to Regions and Endpoints in the AWS General Reference.

同样来自 UI,如果您查看每个存储桶的属性,您将看到原始区域

是的,S3 存储桶是区域特定的。

创建新存储桶时,您需要select该存储桶的目标区域。

例如:

希望对您有所帮助。

现在的工作原理是,如果您希望内容在全球范围内快速加载,您可以为您希望数据从中快速加载的每个区域创建一个存储桶,但使用 'Versioning' 自动复制来自一桶到另一桶。

单击您的其中一个存储桶,然后转到“管理”,然后转到 'Replication'。 按照说明设置将从一个存储桶复制到另一个存储桶的规则。

恭喜,您现在拥有来自单个存储桶的全局快速内容。

如果这看起来有点小,我很感激 off-piste,但我认为这是我们所有人真正希望实现的目标。

有一个related answer强调了一个重点:虽然控制台和CLI允许查看所有区域的bucket,但可能是由于bucket名称必须是全局唯一的,buckets仍然绑定到一个地区。

这很重要,例如,在处理权限时。您可以将基础架构作为代码进行通用化,其中包含授予当前区域所有存储桶权限的角色。尽管 CLI 可能会给您一种新创建的存储桶在所有区域中都可以看到的印象,但实际上,如果您未能在一个区域中明确授予对服务 运行 的访问权限,但需要访问另一个区域中的 S3 存储桶。