【问题标题】:Are S3 buckets region specific?S3 存储桶区域是否特定?
【发布时间】:2021-03-14 00:22:17
【问题描述】:

当我们在 AWS 控制台中的“全局”选项中转到 S3 时,它会显示

"S3 does not require region selection."

但是当我们在那里创建新存储桶时,它会要求 Region !

那么 S3 存储桶区域是特定的吗?

【问题讨论】:

  • 如果我没记错的话,S3 刚启动时有一个全局区域,如果您创建了一个存储桶,那么您仍然可以访问它,但现在无法创建它。

标签: amazon-web-services amazon-s3 region


【解决方案1】:

用户界面会显示您在所有地区的所有存储桶。但是存储桶存在于特定区域中,您需要在创建存储桶时指定该区域。

【讨论】:

  • @VictorSergienko 您可以从任何区域访问任何存储桶,但如果您希望访问速度快速,您希望存储桶位于同一区域。这与您对所有其他区域 AWS 服务的考虑相同。您关于原始“经典”区域在全球范围内可用但新区域不在全球范围内的评论并不真正正确。原始区域始终是 us-east-1(弗吉尼亚州)。该区域仍然存在,并且可以像所有区域一样在全球范围内访问,但您希望选择离您的其他服务最近的区域。
  • 谢谢!我的问题是:我做了一个预先签名的 POST,它不允许我从不同的区域上传文件(“访问被拒绝”),但是上传到我的区域是可行的。这是 S3 区域在工作,还是只是我在某个地方的错误?我虽然可能会被这个问题所涵盖。
  • 预签名 POST 通常从浏览器运行,但听起来您正试图在 EC2 实例或其他东西中使用它来上传文件?你是如何在一个区域内运行 POST inside 的?我不确定这个问题/答案是否直接涵盖了您的问题。
  • 抱歉,我使用了“区域”的非 AWS 含义 - 一个区域。从我在 us-east-1 的 PC 到欧洲存储桶的带有 v4 签名(v4 签名是特定于区域的)为欧洲预签名的 POST 不起作用。我会再次检查这不是我的错误。
【解决方案2】:

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

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

Amazon S3 在您指定的区域中创建存储桶。你可以选择任何 地理位置靠近您以优化延迟的 AWS 区域, 最小化成本,或满足监管要求。例如,如果 您居住在欧洲,您可能会发现创建存储桶有好处 在欧盟(爱尔兰)或欧盟(法兰克福)地区。获取 AWS 列表 Amazon S3 区域,转到 AWS General 中的区域和终端节点 参考。

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

【讨论】:

    【解决方案3】:

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

    创建新存储桶时,您需要为该存储桶选择目标区域。

    例如:

    希望对你有帮助。

    【讨论】:

      【解决方案4】:

      现在的工作原理是,如果您希望内容能够在全球范围内快速加载,您可以为希望从中快速加载数据的每个区域创建一个存储桶,但使用“版本控制”将内容从一个存储桶自动复制到其他。

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

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

      如果这看起来有点偏离滑雪道,我很感激,但我认为这是我们所有人真正想要实现的目标。

      【讨论】:

      • 您不只使用 CloudFront 吗?
      • 如果我们的目标是从不同区域快速加载,我相信更好的解决方案是像上面提到的@Boris 一样在 CloudFrount 后面使用 S3(在这种情况下,特定的边缘位置将在特定时间段内缓存已请求的文件时间)当您的目标是数据持久性时,在不同区域的多个 S3 存储桶中复制数据是有意义的(如果特定区域发生中断或数据丢失,您在另一个区域的另一个 S3 存储桶中有一个副本)
      【解决方案5】:

      有一个related answer 强调了一个重要点:尽管控制台和 CLI 允许查看所有区域中的存储桶,可能是由于存储桶名称必须是全球唯一的,但存储桶仍然与一个区域相关联。

      这很重要,例如,在处理权限时。您可能将基础架构即代码概括为授予当前区域所有存储桶权限的角色。尽管 CLI 可能会给您一种新创建的存储桶在所有区域都可以看到的印象,但实际上,如果您未能专门授予对在一个区域中运行但需要访问某个区域的 S3 存储桶的服务的访问权限,您最终可能会遇到错误。另一个地区。

      【讨论】:

        猜你喜欢
        • 2015-06-29
        • 2015-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-16
        • 2021-10-09
        • 2020-01-17
        • 1970-01-01
        相关资源
        最近更新 更多