❖ AWS S3 静态对象存储

静态对象存储的意思就是,和FTP差不多,只能上传、下载、删除,不能修改、更新,更不能存动态数据库一类的东西。
虽然还是有很多差别,但是S3和CDN差不多。

为什么不选择可以当硬盘一样随便操作的EBS而是用静态对象存储的S3呢?

  • 便宜
  • 作为Archive存档还是非常值的
  • 作为CDN也是很方便的

Cost 花销计算

S3一样传承了AWS复杂的Cost Calculation。

每月需要上缴的费用主要是这3部分的总和:

  • ⓵ 数据所占的容量:
    • Standard标准版是 $2.5/100GB/mo
    • 低频率IA Standard是$2.4/100GB/mo
    • 最便宜的Glacier是$2.3/100GB/mo
  • ⓶ API请求数量:
    • Write写请求(PUT, COPY, POST, or LIST):Standard标准 0.05/万次,IA低频率和Glacier0.1/万次
    • Read读请求(Get and all other requests):Standard标准 0.004/万次,IA低频率和Glacier0.1/万次
    • Delete删除请求:$0 免费
  • ⓷ 数据传输费用:
    • 传输到AWS的不相同Region:2 USD/100GB,
    • 传输到AWS之外的Internet:月内首次1GB 0免费,之后9/100GB
    • 传输到AWS相同的Region:$0 免费
    • 外界上传到AWS:$0 免费

几种个人常见案例(月):

  • 标准配置:100GB标准存储 + 1万次读 + 1万次写 + 20G的Internet传输 = $3/mo
  • 最低配置:20GB的Glacier存储 + 1万次读 + 1万次写 + 5GB的Internet传输 = $2.5/mo

也就是说,API请求非常便宜,数据传输可以通过EC2内部传输的免费额度来省钱,最贵的是数据存储费用。这样来算,个人直接用Glacier最划算。

其中比较乱的是传输费用。

  • 与AWS的EC2等云服务器的传输:
  • 与其它云产品(相当于“与Internet互联网”)传输的费用:
  • 与AWS的子产品(不包括在AWS中)Lightsail传输的费用:

Cost优化

参考:Optimizing Costs for S3
参考:10 Things You Might Not Know About Using S3

创建Bucket

登录AWS进入S3 -> create bucket -> 创建S3全网唯一名称 -> 默认选项 -> 选择公开数据的浏览权限 -> 完成创建Bucket。

过程十分简单,就不截图占地方了。之后都可以修改,填错了也没问题。

下一步:获取secret_key,用于之后各种访问。

进入官网: Security Credential创建key:
选择左侧User -> 为s3创建专门的用户(IAM) -> 输入名称、密码 -> 成功后,获取这个用户独有的key pair -> 记住key pair。

用s3fs将S3挂载为本地文件夹 Map S3 as local drive

注意:Public access权限必须设置成Everyone,要不然无法从各种程序访问。
进入bucket的管理后台,选择Permissions,然后设置Public access.
具体步骤参考:

# https://cloud.netapp.com/blog/amazon-s3-as-a-file-system
sudo apt-get install -y s3fs

# Change key pairs to yours
echo ACCESS_KEY:SECRET_KEY > ~/.passwd-s3fs
chmod 600 ~/.passwd-s3fs

mkdir ~/s3-drive

# Mount the aws S3 bucket (replace your uid and gid)
/usr/bin/s3fs Your-Bucket-Name ~/s3-drive -o umask=0007,uid=1000,gid=1000

# Show all the mounted devices
mount

# Show what's in the bucket
ls ~/s3-drive

s3fs的文件读取权限问题

注意,S3的权限问题十分严格。而且每个文件的权限都有可能不一样。
如果是网页上传的,有可能和本地s3fs上传的权限不同,这样就不能互通操作。但是一旦用s3fs上传全部的文件,那么权限就都是统一的。
一旦文件权限没有统一,那么就会在访问时出现No such filePermission denied问题。

目前解决方案有两种:

  1. 为文件设置Headers,格式是x-amz-meta-(mode,mtime,uid,gid)
  2. (推荐) 在启动s3fs挂载时,明确指定umask, uid, gid。如-o umask=0007,uid=1000,gid=1000

有几点需要注意:

  • 因为固定权限问题,所以不要在多台设备同时挂载(因为每个用户权限可能不同)。如果要多台使用,建议统一在一台服务器上挂载,然后在服务器上把文件夹分享为Webdav,其它设备再来访问webdav。

如何修改header: x-amz-meta-?
在后台文件管理界面,批量选择文件,然后点Actions,点change metadata,选择x-ama-meta-,输入对应value。

将S3作为Webdav服务器

搜遍了全网,都没找到靠谱的S3转Webdav服务器方案,差点就自己写Webdav的protocol实现了。还好,经过各种换词搜索,灵机一动,换了种思路:可不可以先把S3映射为本地drive,然后再正常把本地drive共享为webdav?
答案是:可以的。

具体做法就是:用s3fs映射到本地文件夹,再用wsgidav或apache或nginx将文件夹共享为webdav服务器。
亲测可用,而且十分好用。因为同属AWS资源,同属一个Region区,所以访问速度和访问EBS硬盘感受不到什么区别。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容