S3(Simple Storage Service)是一个对象存储服务,类似于我们使用的网盘,可以用于存放任何文件。
S3 Standard: 默认存储类型,当你上传文件时没有指定存储类型,那就会默认以该类型来存储,适用于需要快速和频繁访问的数据,能提供毫秒级访问速度
S3 Intelligent-Tiering: 为优化存储成本的存储类型,通过将不频繁访问的数据移动到成本更低的存储中来降低成本。分为频繁访问层,不频繁访问层和归档即时访问层。文件以S3 Intelligent-Tiering方式时,默认在频繁访问层,AWS通过监控文件的访问频率,超过30天未访问就会被移动到不频繁访问层,超过90天未访问则移动到归档即时访问层。不过有个限制,这个只能针对大于128k的文件,小于128k的文件会一直保存在频繁访问层,而且按对象收取监控和自动化费用,但是不需要检索费用。同样能提供毫秒级访问速度
S3 Standard-IA 和S3 One Zone-IA: IA即infrequent access,适用于不频繁访问的数据。不满128k的数据按照128k收费,且存放不满30天,也会按30天计算。Standard会在3个AZ存放数据,One Zone只有一个AZ,因此可用性会更差。访问速度也是毫秒级,但是检索数据需要收取费用,按G为单位收费。
S3 Glacier Instant Retrieval,适用于归档的但需要毫秒级访问的数据存储,访问频率通常是每季度1次,不满128k的数据按照128k收费,且存放不满90天,按90天计算。同时按G为单位收取数据检索费用。
S3 Glacier Flexible Retrieval,适用于归档的数据存储,访问频率通常是每年1次。该方式数据访问时间是分钟级别,如果采用加急方式,访问时间只需要1-5分钟。不满40k的数据按照40k收费,且存放不满90天,按90天计算。同时按G为单位收取数据检索费用,可以通过批量检索来降低费用,但是数据返回时间会增加至5-12小时
S3 Glacier Deep Archive,适用于归档的但需要毫秒级访问的数据存储,通常是每年小于1次,访问时间需要12小时,不满40k的数据按照40k收费,且存放不满180天,按180天计算。同时按G为单位收取数据检索费用,可以通过批量检索来降低费用,但是数据返回时间会增加至48小时
另外,对于 S3 Glacier Flexible Retrieval和S3 Glacier Deep Archive在访问前需要执行还原操作,可以指定还原保留时间。
首先配置aws的profile,设置accesskey相关信息,参考–《安装和配置awscli》
查看bucket里文件
aws s3 --profile my-profile ls s3://mybucket
拷贝文件到bucket里
aws s3 --profile my-profile cp test.txt s3://mybucket/test.txt
拷贝bucket里的文件到本地
aws s3 --profile my-profile cp s3://mybucket/test.txt test.txt
拷贝bucket里的文件到另一个bucket
aws s3 --profile my-profile cp s3://mybucket/test.txt s3://mybucket2/test.txt
删除bucket里某个文件
aws s3 --profile my-profile rm s3://mybucket/test.txt
同步本地目录到bucket(和cp类似)
aws s3 --profile my-profile sync . s3://mybucket
有时候为了方便使用,也可以把S3 bucket挂载到本地,但是需要安装相关工具,
使用yum安装s3fs命令,
yum install -y epel-release
yum install -y s3fs-fuse
然后准备access key文件,
echo $ACCESS_KEY_ID:$SECRET_ACCESS_KEY > /etc/passwd-s3fs
chmod 600 /etc/passwd-s3fs
然后就可以挂载到本地了,之后的使用就和其他NFS文件系统一样了。
[root@localhost s3fs]# s3fs mybucket /path/to/mountpoint -o passwd_file=/etc/passwd-s3fs
[root@localhost s3fs]# df -h
Filesystem Size Used Avail Use% Mounted on
...
s3fs 16E 0 16E 0% /home/s3fs/test
参考文档: