naoki86star

インターネットの片隅でなにかしら書いてみる

S3を初めて使ってみる

 AWSのでなく、互換を謳っているVultr Object Storageにて初めて使ってみた。vultr.comで、新登場、みたいに出てきていたから。そうです、s3初めて操ってみました。*1

  • 月$5 容量250GBまで+転送量1Tまで
  • それら超えるとそれぞれ$0.020/GB $0.010/GB の追加料金とのこと

 s3cmdで、(とりあえず気まぐれというかまずはhttps使わずにと思い)HTTPS=Falseにしたらs3cmd lsとか全然動かなかった。要するにvultr.comのだとhttpsでしか動かしていない、ということなのだと思う。*2

 Windowsで動くGUIを動かしたらすんなり動作してくれた。

 なるほどなるほど、s3というのはend point URLに対して、access KEYsecret KEYで認証して、ファイルioしているということなのね。大勢多数にファイルを公開するなら、プロキシを立てて、CDNとかのフロントエンドからアクセスしてもらう、そんな段取りのベースの部分について構築できる、と。

 費用感(勘)の部分はもう少し触ってみてつかんでいくつもり。


 vultr.comには、従来からblock storageというサービスもあるのは知っていて、そっちは多分(特にlinuxでのイメージで)インスタンスにmountして使うストレージサービスなんだと思う。それを思い出したとき、s3://を直接mountできるなら、このblock storageの意義は減ってる?なんて思った。

 そこでs3://を直接mountする手法はあるかどうか検索してみたら、s3fs-fuseというのがあった。ビルドして、mountコマンドのように動くには動いてくれた。

nao@nyc:~$ sudo s3fs totebag /mnt -o passwd_file=/home/nao/.passwd-s3fs -o url=https://ewr1.vultrobjects.com -o allow_other
nao@nyc:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            205M     0  205M   0% /dev
tmpfs            48M  640K   48M   2% /run
/dev/vda1       9.8G  4.6G  4.8G  49% /
tmpfs           240M     0  240M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           240M     0  240M   0% /sys/fs/cgroup
tmpfs            48M     0   48M   0% /run/user/1000
s3fs            256T     0  256T   0% /mnt

 ちょっと本質でないけども、つまづきポイント1はend pointの指定で(デフォルトがaws向いてるから指定必須)、ポイント2は、allow_otherの指定。allow_otherを指定しないとroot以外からはmountポイントが見れないだけれどもこのオプションがmanの-oの項目にはなくて、文章中にさりげなく書いてあった。
 マウントしたpointのsizeが256Tになっている。そこまでs3としてファイルを突っ込めるということかもしれないが、追加料金が気になるのでいざ使うならばサービス的にリミッターは欲しい気がします。
 まあマウントはできましたが同時アクセスとかなにが起こるかそこそこいじめてみないとわからないです。

*1:例えるならそれまでも機会有ったのに2000年なって初めてLinux触ったみたいな

*2:コード302でリダイレクトしていたようなのだが、s3cmdがそれに対応していないだけのことみたいだけど、それに気づくのにちょっと時間かかった