【问题标题】:in which region should I put my amazon s3 bucket?我应该将我的 amazon s3 存储桶放在哪个地区?
【发布时间】:2019-06-09 13:32:23
【问题描述】:

我有一个从区域 europe 运行的 heroku 应用程序

由于我的 amazon s3 存储桶中的 same origin 政策,我无法在我的 rails 应用程序 (RoR 6) 中上传表单中的图像。那个桶在eu-west-1(都柏林-我认为heroku也在哪里)

既然我的域名是法语,我应该把桶放在法国eu-west-3 吗?

这是我的 CORS 文件:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>https://www.cremers.fr/adm/auteur/2/article/nouveau</AllowedOrigin>
    <AllowedOrigin>https://www.cremers.fr/</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

【问题讨论】:

  • 您确定您的 Cors 问题不是由于您的 heroku 应用程序造成的吗? Cors 文件看起来还不错,只要您的应用具有上述来源。

标签: ruby-on-rails amazon-web-services amazon-s3


【解决方案1】:

您可以使用任何地区。

与域名无关。

您至少可以us-east-2us-west-1。没关系。

唯一可能影响这一点的是下载速度。如果用户在法国,那么从加拿大服务器下载的时间会比从欧洲服务器下载的时间长一些。

但是这个可以忽略。

【讨论】:

    【解决方案2】:

    根据 AWS

    Amazon S3 存储桶名称是全球唯一的,并且命名空间由所有 AWS 账户共享。这意味着在创建存储桶后,该存储桶的名称不能被任何 AWS 区域中的另一个 AWS 账户使用,直到该存储桶被删除。出于可用性或安全验证目的,您不应依赖特定的存储桶命名约定。

    Amazon S3 在您指定的区域中创建存储桶。要优化延迟、最小化成本或满足法规要求,请选择地理位置靠近您的任何 AWS 区域。例如,如果您居住在欧洲,您可能会发现在欧盟(爱尔兰)或欧盟(法兰克福)区域创建存储桶是有利的。有关 Amazon S3 区域的列表,请参阅 AWS 一般参考中的区域和终端节点。

    因此选择 S3 存储桶区域取决于您的应用程序使用情况和区域

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-17
      • 2014-12-03
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2016-08-25
      • 1970-01-01
      相关资源
      最近更新 更多