オブジェクトストレージ「Wasabi」の
活用方法

【技業LOG】技術者が紹介するNTTPCのテクノロジー

2020.11.19
VPS・IaaS
冨永 嘉之

エンジニア
冨永 嘉之

技業LOG

オブジェクトストレージ「Wasabi」とは

本サービスはAmazon Web ServicesのAmazon S3互換かつ、データ転送料が発生しないパブリックなマルチテナント型オブジェクトストレージサービスです。

Wasabiオブジェクトストレージを使ってみる

1. VM(仮想サーバー)からの利用

アプリケーションからAPIでオブジェクトストレージを使うのが一般的ですが、それ以外にIaaS上のVM(仮想サーバー)からオブジェクトストレージのバケットをマウントし、VMサーバーのディレクトリとして使うやり方がいくつかあります。それらの中でメジャーなs3fsでWasabiオブジェクトストレージを使う例を紹介します。

前提条件)

  • Wasabiオブジェクトストレージストレージを契約済み
    WebARENA版Wasabi 
    https://web.arena.ne.jp/wasabi/
  • VM(仮想サーバー)を利用

事前準備)

  • Wasabiオブジェクトストレージ上で
    ① バケットを作成 ユニークな名前が必要
    ② APIキーを発行 2種(アクセスキー、シークレット・アクセスキー)
  • VM(仮想サーバー)- Wasabi間のNW疎通が可能であることを確認

2. S3fs設定方法

VM(仮想サーバー)へログインし、以下のコマンドを順に実行

① gitインストールとgithubリポジトリからのs3fsダウンロード

sudo yum install git
git clone https://github.com/s3fs-fuse/s3fs-fuse.git

② パッケージの導入

sudo yum install automake gcc-c++ fuse-devel openssl-devel libcurl-devel libxml2-devel

③ s3fs-fuseのインストール

cd s3fs-fuse/
./autogen.sh
./configure --prefix=/usr
make
sudo make install

④ マウントポイント作成

cd /usr/share/
mkdir s3

⑤ パスワードファイルを作成(Wasabi用マウント前の準備)

Wasabi社サポートサイトに関連記事が掲載されています。参考にしてください。
https://wasabi-support.zendesk.com/hc/en-us/articles/115001744651-How-do-I-use-S3FS-with-Wasabi-

vi /etc/passwd-s3fs (アクセスキー):(シークレット・アクセスキー)
chmod 600 /etc/passwd-s3fs
  • アクセスキー、シークレット・アクセスキーの間はコロン:を記載すること

⑥ S3バケットをマウント

注意:Wasabi東京リージョンをご利用の場合は以下のエンドポイントをご利用下さい。
https://s3.ap-northeast-1-ntt.wasabisys.com/

参照:
https://ecl.ntt.com/documents/service-descriptions/wasabi/wasabi.html

マウントコマンド

s3fs (バケット名) (マウントポイント)-o passwd_file=/etc/passwd-s3fs -o url=(エンドポイント)

実際の値を入れた例
バケット名: webarena-test-wasabi-202009
パスワードファイル:/etc/passwd-s3fs
エンドポイント:https://s3.ap-northeast-1-ntt.wasabisys.com/

s3fs webarena-test-wasabi-202009 /usr/share/s3 -o passwd_file=/etc/passwd-s3fs -o 
url=https://s3.ap-northeast-1-ntt.wasabisys.com/

マウント状況を確認

df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 99G 2.4G 97G 3% /
devtmpfs 2.9G 0 2.9G 0% /dev
tmpfs 2.9G 0 2.9G 0% /dev/shm
tmpfs 2.9G 17M 2.9G 1% /run
tmpfs 2.9G 0 2.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 134M 881M 14% /boot
/dev/sdb1 9.0M 112K 8.9M 2% /metadata
tmpfs 581M 0 581M 0% /run/user/0
s3fs 256T 0 256T 0% /usr/share/s3

/usr/share/s3にファイルシステムs3fsで256TBの領域がマウントされています

3. 簡単な試験、性能測定

① ファイルを作成

cd /usr/share/s3
Touch test.file

Lsコマンドでファイルを確認

② 性能測定

よくあるddコマンドでファイルを作って性能を見てみる

cd /usr/share/s3
dd if=/dev/zero of=write.tmp ibs=1M obs=1M count=1024

3回測定

ファイル名 ファイルサイズ コピー時間 書き出し速度
1回目 Write.tmp 1GiB 25.964 s 41.4 MB/s
2回目 Write2.tmp 1GiB 22.876 s 46.9 MB/s
3回目 Write3.tmp 1GiB 19.5759 s 54.9 MB/s
  • 作者測定時点の結果で、性能を保証するものではありません

今回は、40MB程度の書き出し速度が出ており、他社に見劣りしない性能レベルです。

  • WebARENA Indigo®を利用する場合、メモリ1GB・2GBはNW100Mbps上限の為、上記のような書き出し速度は出ません。メモリ8GB以上のVMがNW1Gbps上限となっています。書き出し速度が必要な場合は、VM選択をご考慮願います。

Wasabiコンパネからバケットを見た状態

可能性を秘めているNTTPCのオブジェクトストレージ

最後に
S3fsを使って、VM(仮想サーバー)からwasabiオブジェクトストレージを簡単にマウント出来ること。VM内のディレクトリとしてVMから通常のファイル操作が可能であること、内蔵Diskには幾分性能が劣りますが、それなりの性能が出ていることを紹介しました。是非、みなさんの要件としてストレージに求める性能や、コストに合致した場合はwasabiなどオブジェクトストレージを選択肢に加えご活用くださればと思います。

尚、今回紹介した設定では、VM(仮想サーバー)再起動時に、マウントが消えます。
試験以外(サービス等)で利用される場合は、必ず/etc/fstabにs3fsマウント設定を記載し、サーバー起動時に自動マウントされるようにしておきましょう。

技業LOG

この記事で紹介しているサービスは
こちら

Wasabi

Amazon S3互換のオブジェクトストレージサービス。1TB 月額834円(税込)~国内最安値の低価格で利用可能。

おすすめ記事

    お気軽にご相談ください

    ※Amazon Web Services、Amazon S3は、米国およびその他の諸国における、Amazon.com, Inc. またはその関連会社の商標です。