这是从Qiita迁移过来的内容。
我认为大多数人会使用S3 + CloudFront来分发图片等,但如果分发对象仅限于国内的话,
使用S3 + 櫻花云的CDN服务Web加速器可能会更便宜,因此进行设置尝试。
实际上是否真的能降低费用尚未验证。
CloudFront的分发费用为每GiB,日本地区大约是0.140 USD(2017年12月28日15.8日元),所以每GiB
5日元(含税)的Web加速器看起来更便宜。
另外,Web加速器是基于请求数量不收费的,因此可能比CloudFront更清晰?
不过,S3->Web加速器的请求和传输量会产生S3的费用,
因此在缓存错误的情况下,S3方面也会产生费用,需要注意。
我没有实际测试过,因此没有比较,但如果有详细了解的朋友,请告诉我。
S3的设置
在AWS S3创建存储桶
创建存储桶
在AWS控制台的S3设置页面上点击"创建存储桶"。
存储桶名称
为存储桶命名(区域暂时选择东京)。
这一部分我认为特别设置没必要,可以跳过。
这一部分也保持默认设置即可。
确认后创建存储桶。
在S3设置静态网站公开
选择刚刚创建的存储桶,进入设置。
在属性中启用静态网站托管。
这里显示的终端节点稍后将在Web加速器的设置中使用,请记下。
上传文件
这次由于是测试,不使用s3cmd等工具,而是通过网页界面上传文件。
在概述标签中,通过上传功能进行上传。
创建一个适当的index.html并上传。
确认后点击下一步。
下一步。
为了使Web加速器进行缓存,设置Cache-Control: s-maxage=3600(1小时)。
确认后上传。
上传完成后,将文件设为公开。
点击公开,将上传的文件公开。
访问之前设置的静态网站托管终端节点,上传的文件应该能够成功显示。
成功上传的文件得到了显示,并且Cache-Control: s-maxage的头部也确认存在。
Web加速器的设置
创建配信网站
在Web加速器的新网站创建页面,创建S3配信用的网站。
这次尝试设置为子域名。
网站名称:请随意设置
源服务器:设置刚刚在静态网站托管中显示的终端节点。
保存后网站会保存,应该会出现完成画面。
在设置中启用网站。
启用后,通过发布的子域名访问。
成功可以访问,刷新几次后显示X-Cache: HIT,表明Web加速器已缓存并成功分发。
最后
显然,从网页上传文件比较麻烦,因此可以使用API密钥和s3cmd等工具以实现批量上传,
通过Web加速器进行分发。
s3cmd put --add-header "Cache-Control: s-maxage=3600" --acl-public (省略)
等设置后,可以实现与网页上传相同的操作。