使用amazon s3获取可下载的内容网站

时间:2016-10-22 09:49:24

标签: amazon-web-services amazon-s3

我正在建立一个网站,它只是一个高分辨率照片和其他可下载内容(zip,rar,pdf ....)的图库,用户可以上传文件,这些文件可供所有人访问和共享。

我的问题:亚马逊s3对这方面有好处吗?或者我应该使用自己的服务器。 (整个网络可能会共享大量数据)。我需要你的建议。

谢谢:D

1 个答案:

答案 0 :(得分:2)

Amazon S3是可下载内容的绝佳解决方案。它具有高可用性,已经达到最大规模,极低的维护成本和极好的价格。

针对您的用例的最简单的S3解决方案是:

  1. 创建一个存储桶,代表您希望公开访问的文件的存储位置。
  2. 您需要上传一个S3将作为索引文档的文件,我只需上传一个名为index.html的文件,其内容为" hello"。
  3. 单击存储桶的属性
  4. 展开选项"静态网站托管"
  5. 选择选项"启用网站托管",输入index.html作为索引页面,然后单击保存。保存完成后,记下" Endpoint"此部分显示的值,这是您的存储桶的DNS名称。
  6. 点击并展开"权限"
  7. 部分
  8. 点击"添加广告管理政策"并添加我在下面粘贴的政策,请确保在您看到的地方设置自己的存储桶名称" my-bucket-name"。
  9. Bucket Policy:

    {
      "Version":"2012-10-17",
      "Statement":[
        {
          "Sid":"AddPerm",
          "Effect":"Allow",
          "Principal": "*",
          "Action":["s3:GetObject"],
          "Resource":["arn:aws:s3:::my-bucket-name/*"]
        }
      ]
    }
    

    您的存储桶现在充当静态主机,并且您已授予匿名用户下载存储桶中所需的权限。

    接下来,按照您认为合适的任何关键结构上传您希望提供的任何文件。

    后续步骤:

    提供付费/私人内容

    如果您还想托管付费内容,则应使用S3和CloudFront查看提供私人内容。当你准备尝试这个时,这里有一些阅读! http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html

    自定义静态网站的DNS名称

    您可以在区域文件中为您拥有的指向您的存储区的域创建一个CNAME记录,使其不那么冗长,并为您的网站打上更好的品牌。 如果您使用的是Route 53,请创建一个新的记录集,将类型设置为" A"记录,然后选择"是"对于选项别名记录,然后将S3静态网站的端点名称粘贴到值字段中,以便为您的存储桶创建自定义DNS记录。 阅读有关Alias Records的更多信息:https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values-alias.html#rrsets-values-alias-alias-target