— amazon s3 — 1 min read
在使用backblaze-B2搭建自己的图床中我们使用backblaze-B2
(后面简称B2
)搭建了自己的图床。但是如果只在B2
上托管图片服务器,虽然B2
官网宣称99.99999%
的可靠率。但是我们也要预防那0.00001%
的风险,防止摩菲定率事故。
为了避免图床的单点故障,所以将这次将选择业界主流的Amazon S3
(后面简称S3
)作为B2
图床的备份选择。
点击S3
的官方网站进入S3
的介绍页面(这里是国际版的S3
):
点击get started with Amazon S3按钮进入登入页面:
根据页面提示选择登入,如果没有账号可以先注册一个。这里选择用Root user登入,Root
账号拥有最高的权限:
登入后进入S3
的控制台界面:
进入后点击Create bucket创建一个bucket(桶):
注意:桶名称最好选择你将来图片服务器的地址比如:img.maojun.xyz 后期做域名绑定的时候是用这个桶名称做为图片服务自定义域名。 地区选择离网站服务人群最近的地址即可。
配置完bucket
信息后然后点击Next进入下一步:
这步是桶的选项设置,比如版本信息,服务访问日志,标签等。这里可以按需要配置,做为图片备份服务器默认即可。点击Next进入下一步:
在这一步,可以配置bucket
的权限。默认是禁止所有公有访问。这一步可以先保持默认,后期可以进行修改。继续点击Next进入下一步:
最后一步进行之前的bucket
配置预览,确认后点击Create bucket进行创建bucket
。
创建完bucket
点击刚才创建的bucket
名称进入bucket
的的管理界面:
在bucket
管理界面,我们就可以进行文件上传了。可以点击Upload按钮进行上传。
上传图片后点击Next进入下一步:
使用默认的权限配置然后点击Next进入下一步:
选择默认的存储类型,适合经常访问文件资源。如果只是做为冷备份使用,可以选择Glacier存储类型,价格更低实惠。
点击Next进入下一步,进入预览界面,点击Upload按钮进行图片上传。上传成功后即可以在bucket
管理界面看到上传的图片了:
点击图片的名称,会进入图片的信息界面:
点击Object URL下面的链接,即可查看上传的图片:
但是发现被拒绝访问了。原因是前面设置bucket
的权限时,默认选择的是禁止所有共有访问。所以需要调整bucket
的访问策略:
取消打钩下面的拦截策略。
通过设置Permissions下的Bucket Policy策略:
1{2 "Version": "2012-10-17",3 "Statement": [4 {5 "Sid": "PublicReadGetObject",6 "Effect": "Allow",7 "Principal": "*",8 "Action": "s3:GetObject",9 "Resource": "arn:aws:s3:::test.maojun.xyz/*"10 }11 ]12}
注意:修改Resource值为自定义的
bucket
名称
设置好以上的bucket
的权限和策略后,再次访问图片地址查看:
以Cloudflare
的DNS
解析为例,绑定通过CNAME
绑定自定义二级域名到S3
的图片路径,如果图片的地址是:https://s3.ap-northeast-2.amazonaws.com/test.maojun.xyz/touxiang.png
只需要取bucket
名称前面的地址即可,即:s3.ap-northeast-2.amazonaws.com
绑定自定义域名后,将上面的图片地址前缀替换成自定义域名,同时不需要携带bucket
的名称,直接自定义域名拼接上图片名称即可访问:
搭建完S3
的图床后,就可以和使用backblaze-B2搭建自己的图床组成图床集群了,目前S3
和B2
的图床数据是不同步的,将在后续的文章介绍通过上传图片到B2
图床然后自动同步到S3
,实现图床双机备份的效果。
(完)