发布时间: 更新时间:

前言

云是我们常用的服务,aws是头部厂商,但我们还有更多选择,以降低价格。即使aws有高昂且复杂的定价,仍有很多人使用,所以本文也将介绍。

目前我在使用的云存储是Backblaze B2(兼容S3 API),价格仅为 Amazon S3、Microsoft Azure 和 Google Cloud 的1/4。

我们同样需要一个CDN缓存加速(cloudflare 与传统 CDN 不同,CloudFlare 处理对网站的所有请求,能够阻止针对网站的攻击,可以再加到传统CDN前作为防护),CDN在用户第一次请求后,会在接近用户的区域缓存源服务器的静态资源(没人请求不缓存,不主动和服务器保持同步),后续访问就更加快速,并降低服务器压力,可以使用cloudfront免费套餐,如果每月传出超过 1T 数据,可以考虑使用 bunny CDN。

S3

Bucket桶

桶就类似于根文件夹,其命名必须全局性唯一。也就是说,如果别人已经创建了命为X的Bucket,你就不能再用X作为桶的名字了。

Events事件

在S3中,可以定义很多事件及其处理函数。比如当文件被创建,修改,删除,复制时,触发Lambda。这样就可以构建Event Driven Architecture,比如:新文件到S3 -> 触发Lambda处理函数 -> 处理结束后通知AppSync/GraphQL API -> 通知用户文件已经处理完毕。

S3费用决定因素

官方:存储和管理数据时需要考虑六大 Amazon S3 成本组成:存储定价、请求和数据检索定价、数据传输和传输加速定价、数据管理和分析定价、复制定价以及使用 S3 Object Lambda 处理数据的价格。

通常我们关注存储类型储存数据量、请求量、数据传输的费用。

存储类型

S3 标准

S3 标准是一种通用对象存储平台,提供较低的延迟和较高的吞吐量,因此非常适合各种使用案例,包括云应用程序、动态网站、内容分发、移动和游戏应用程序以及大数据分析。

S3 智能分层 ——通用选它

S3 智能分层可自动识别并将不常访问的数据(30天内未访问的数据)移动到成本较低的基础架构中。当访问不频繁层中的对象时,它会自动移回更高性能层,并且30天时钟重新启动。在访问模式发生变化时,在两个访问层(频繁访问层和不频繁访问层)之间移动数据来实现自动节省成本,非常适用于访问模式未知或不断变化的数据。

S3标准-IA(不频繁访问)——备份选它

S3 Standard-IA 适用于不常访问(超过30天访问一次)、但在需要时要求快速访问的数据。提供与“S3 标准”相同的高持久性、高吞吐量和低延迟,成本较低且性能出色使得“S3标准–IA”很适合长期存储和备份,以及用作灾难恢复文件的数据存储。

S3 单区域 - IA(不频繁访问)

S3标准-IA 的单区域存储,此类别不会自动在至少三个AZ上存储数据。

S3 Glacier 即时检索

Amazon S3 Glacier Instant Retrieval 是一种归档存储类,可以为很少访问(超过90天访问一次)且需要毫秒级检索速度的长期数据提供最低成本的存储。

S3 Glacier 灵活检索(前称为 S3 Glacier)

S3 Glacier Flexible Retrieval 为每年访问 1—2 次且异步检索的归档数据提供低成本存储,数据检索时间可配置,从数分钟到数小时不等。

Amazon S3 Glacier 深度档案

支持长期保留和数字化保存一年可能访问一到两次的数据,数据检索时间为 12 小时以内。

cloudfront

Origin domain
:源域,选S3 存储桶需配置Alternate Domain Names作为加速站点,写自己解析过的域名即为加速的站点

  • Amazon S3 存储桶DOC-EXAMPLE-BUCKET.s3.us-west-2.amazonaws.com

  • 配置为网站的 Amazon S3 存储桶https://DOC-EXAMPLE-BUCKET.s3-website.us-west-2.amazonaws.com

  • MediaStore 容器examplemediastore.data.mediastore.us-west-1.amazonaws.com

  • MediaPackage 端点examplemediapackage.mediapackage.us-west-1.amazonaws.com

  • 亚马逊 EC2 实例ec2-203-0-113-25.compute-1.amazonaws.com

  • Elastic Load Balancing 负载均衡器example-load-balancer-1234567890.us-west-2.elb.amazonaws.com

  • 您自己的网络服务器https://www.example.com

自选ip失败经历

  1. 查看官方公布的ip段(我们只需要边缘节点ip-“CLOUDFRONT_REGIONAL_EDGE_IP_LIST”,因为GLOBAL站点会自动判断离边缘节点最近的区域和进行健康检查,再连到边缘节点)

  1. 由于给的ip是CIDR格式,我们需要转换。先JSON转列表。然后CIDR转ip(因为在线转不支持批量转换,所以建议下载这个工具),重命名为cidr2ip.exe,新建cidrs.txt,把列表复制进去,cmd执行cidr2ip -f cidrs.txt可得很大一列ip。最后ip批量查询,下载后可以看到ip地区,复制你所需地区的ip(查询速度会很慢,我的vps是日本的,排在最前面,运气很好没有查询很久)。

  2. 创建Cloud front测速链接

aws首页搜索cloud front

创建分配

源域填写能测速的地址:cachefly.cachefly.net

协议:匹配查看器

自动压缩对象:No

缓存键和源请求(选择第二项):Legacy cache settings

创建

复制得到的域名

打开显示为测速地址即可(需要等到部署完成)

  1. 使用CloudflareSpeedTest](https://github.com/XIU2/CloudflareSpeedTest)优选ip, cmd输入CloudflareST.exe -url xxxxxxxxxxx.cloudfront.net/100mb.test发现ip全部不能用。

aws查看vcpu

Licensed under CC BY-NC-SA 4.0