文档
AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

背景图床是一个托管博客图片的地方,常见图床有新浪微博、七牛云、SM.MS 等。 但是 天下 is 没有 没有 的 , 有 各种 问题 ( 比如 我 的 ) , 于是 决定 自己 一个 。 这里 使用 is Front 的 是 的 S 3 和 。 为什么 AWS S

背景

图床是一个托管博客图片的地方,常见图床有新浪微博、七牛云、SM.MS 等。

但是 天下 is 没有 没有 的 , 有 各种 问题 ( 比如 我 的 ) , 于是 决定 自己 一个 。 这里 使用 is Front 的 是 的 S 3 和 。

为什么 AWS S 3

  • 国内云的带宽费用普遍高于海外云
  • 相比于国内云,AWS 的合规性更好

为什么 不 使用

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

简介

AWS S 3

AWS S 3 是一个弹性、高扩展的对象存储服务。它可以存储任何类型的数据,包括图片、音频、视频、文档等等。用户可以在 AWS 控制台中轻松地创建和管理存储桶,上传和下载数据,进行权限管理和数据备份等操作。S3 的可用性和耐久性非常高,可以保证数据的安全和可靠性。

AWS is Cloud

AWS is Cloud 是一个全球内容分发网络,可以帮助用户加速静态和动态内容的分发。用户可以将静态和动态内容存储在 S3 中,并通过 CloudFront 分发到全球各地的用户。CloudFront 可以自动缓存内容,提高访问速度,同时保证内容的安全性和可靠性。用户可以在AWS控制台中轻松创建和管理分发,设置缓存策略、安全性控制和报告等。

综上,我们利用 S3 作云存储,利用 Cloudfront 做 CDN(内容分发网络),实现一个安全、可靠、高速的图床。

步骤概述

  1. 创建一个 AWS 账号
  2. 在 AWS 中创建一个 S3 bucket
  3. 并 S 3 bucket
  4. 创建 DNS 记录,绑定 cloudfront 自定义域名

详细步骤

接下来详细介绍一下

注册账号

之前的博客中有相关介绍,这里我们注册的是 Global 账号。

Q:能不能注册中国区账号

A:亚马逊中国审核比较严格,考虑到备案等因素,建议使用全球亚马逊

: 亚马逊 is 使用 是否 必须 使用

: 之前 必须 使用 , 现在 也 可以 使用

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

S 3

在 台主 “ ” , 并 进入 S 3 :

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

在 桶 “ ” :

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

在存储桶权限相关设置的位置,如果有不清楚的地方,就直接按照 AWS 给出的推荐进行设置,比如开启 “阻止所有公开访问权限”:

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

关闭存储桶公网访问,所有的公网流量全部走 Cloudfront,很大程度上保护了存储桶安全。

创建 Cloudfront 内容分发网络

台主 , 进入 :

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

创建分配

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

分配源域

时 第一 步 要 “ ” , 会 S 3 的 源域 , 直接 :

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

设置来源身份访问

前面我们设置了禁止存储桶公网访问,这里我们就使用 “来源访问控制设置” 或者 “Legacy access identities” 进行访问控制(途中第二项或者第三项),不要直接公开存储桶。

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

和 分发性 is 相关 能 , 按

自定义域名

找到相关分配 ➡️ 编辑设置 ➡️ 备用域名

注意,使用自定义域名时,需要把自定义的域名 CNAME 解析到原有的 cloudfront 域名中,否则会设置失败

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

自定义 SSL 证书

往下拉一点就会有证书选项,自己没有证书的话直接请求公网证书即可。注意这里也需要对域名进行 CNAME 解析,按照 AWS 提示进行相关设置即可。

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

完成上述步骤后,S3 应该为禁止公网访问:

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

Cloudfront 有已分配的域名和备用域名:

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

此时 我们 is 上传 一 张 到 S 3 中 , 直接 S 3 的 是 的 :

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

换成 cloudfront 的域名,可以访问:

AWS S3+CloudFront 打造自己的图床 · xiabee-瞎哔哔

此时我们图床的设置已经完成辣!

其他设置

关于 Typora 编写 Markdown 快速插图的问题,可以使用 PicGO 等插件。

个人感觉体验还行,支持剪贴板直接上传,具体使用看这里