当我们在 AWS 控制台的“全局”选项中转到 S3 时,它会显示
"S3 does not require region selection."
但是当我们在那里创建新存储桶时,它会要求区域!
S3 存储桶是否特定于区域?
用户界面显示所有区域的所有存储桶。但桶是存在于特定地域的,创建桶时需要指定该地域。
S3 存储桶是特定于区域的,您可以检查 http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region 以获取基于区域的端点列表
来自创建 S3 存储桶的文档
Amazon S3 在您指定的区域中创建存储桶。您可以选择任何 地理位置靠近您以优化延迟的 AWS 区域, 最大限度地降低成本,或满足监管要求。例如,如果 如果您居住在欧洲,您可能会发现创建存储桶很有利 在欧盟(爱尔兰)或欧盟(法兰克福)地区。如需 AWS 列表 Amazon S3 区域,转到 AWS 常规中的区域和终端节点 参考。
同样从 UI 来看,如果您查看每个存储桶的属性,您将看到原始区域
现在的工作原理是,如果您希望内容在全球范围内快速加载,则可以为希望快速加载数据的每个区域创建一个存储桶,但使用“版本控制”自动将内容从一个存储桶复制到另一个存储桶。
单击您的存储桶之一,然后转到“管理”,然后转到“复制”。 按照说明设置一条规则,将其从一个存储桶复制到另一个存储桶。
恭喜,您现在可以从单个存储桶中获得全局快速内容。
如果这看起来有点偏离滑雪道,我很感激,但我认为这是我们真正希望实现的目标。
有一个相关答案强调了一个重要的一点:虽然控制台和 CLI 允许查看所有区域中的存储桶,但可能是由于存储桶名称必须是全局唯一的事实,存储桶仍然与某个区域相关联。
这很重要,例如,在处理权限时。您可能将基础设施即代码概括为向当前区域的所有存储桶授予权限的角色。尽管 CLI 可能会给您这样的印象:新创建的存储桶可以在所有区域中看到,但实际上,如果您未能专门授予对在一个区域中运行的服务的访问权限,但需要访问另一个区域中的 S3 存储桶,则可能会出现错误。另一个地区。
虽然S3是全球服务,但由于以下具体原因需要选择区域: