使用backblaze-B2搭建自己的图床中我们使用backblaze-B2(后面简称B2)搭建了自己的图床。但是如果只在B2上托管图片服务器,虽然B2官网宣称99.99999%的可靠率。但是我们也要预防那0.00001%的风险,防止摩菲定率事故。

为了避免图床的单点故障,所以将这次将选择业界主流的Amazon S3(后面简称S3)作为B2图床的备份选择。

点击S3官方网站进入S3的介绍页面(这里是国际版的S3):
amazon s3介绍页面

点击get started with Amazon S3按钮进入登入页面:

根据页面提示选择登入,如果没有账号可以先注册一个。这里选择用Root user登入,Root账号拥有最高的权限:

s3登入界面

登入后进入S3的控制台界面:

s3控制台

进入后点击Create bucket创建一个bucket(桶):

创建bucket

  • bucket name:填写桶名称
  • region:选择地区
  • copy settings...:如果已经有桶则可以复制原先桶的配置

注意:桶名称最好选择你将来图片服务器的地址比如: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的访问策略:

访问权限

取消打钩下面的拦截策略。

  • Block public access to buckets and objects granted through new public bucket or access point policies
  • Block public access to buckets and objects granted through new public bucket or access point policies

通过设置Permissions下的Bucket Policy策略:

{
   "Version": "2012-10-17",
   "Statement": [
       {
           "Sid": "PublicReadGetObject",
           "Effect": "Allow",
           "Principal": "*",
           "Action": "s3:GetObject",
           "Resource": "arn:aws:s3:::test.maojun.xyz/*"
       }
   ]
}

注意:修改Resource值为自定义的bucket名称

定义策略

设置好以上的bucket的权限和策略后,再次访问图片地址查看:

查看头像

绑定域名

CloudflareDNS解析为例,绑定通过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搭建自己的图床组成图床集群了,目前S3B2的图床数据是不同步的,将在后续的文章介绍通过上传图片到B2图床然后自动同步到S3,实现图床双机备份的效果。

(完)

标签: Backblaze, amazon, s3, b2

添加新评论