概要
(ほぼ)固定費でそれなりのスペックのサーバを運用できるAWS Lightsail。ストレージを増やすには
- スペックの増強を図る
- AWS S3などのクラウドストレージを増強する
といった策が必要です。ですが、もっと低価格で利用できるサービスはないものかと探していたところにみつけました。
クラウドストレージ:Wasabi
なかなか挑戦的な言葉が書かれています。
- 1TBでも6$程度
- データ転送料無料
は魅力的。(逆に言えば、たとえ1バイトのファイルしか保存しなくても最低1TB分は請求されます)
そして、S3と同じプロトコルが使えるとのこと。
無料トライアルもあるので、Linuxサーバにマウントできるかを検証してみます。
試した手順
環境
AWS上で動かしているUbuntu 20.04で利用しています。
さっくりとした流れ
- Wasabiのアカウントを作成します
- バケットを作成します
- アクセスキーを作成します
- Linuxサーバで必要なパッケージをインストールします
- アクセスキーを保存します
- マウントを確認します
- fstabを修正します
詳細の手順
Wasabiアカウント作成
上記URLから自身のアカウントを作成。確認メールからパスワードを設定します。
バケット作成
ログイン後、「バケット」をクリック。
任意のバケット名を入力し、地域を選択します。(ここでは大阪を選択)
バージョン管理などは全て無効の状態で「次」をクリック。
確認画面後に「バケットを作成」で作成できました。
アクセスキーの生成
アクセスキーをクリックし「新しいアクセスキーを作成する」からアカウントキーと秘密鍵を控えます。(この情報は全てのストレージへのアクセスに必要となるため、取り扱いは厳重にしてください)
Linuxサーバ上での動作
スナップショット取得
念のため、作業直前にAWSコンソールからスナップショットを作成します。
必要パッケージインストールします
sudo aptitude update
sudo aptitude install s3fs
パスワードファイルの作成
信仰・協議に従ってエディタを起動します。次のファイルを作成します。
.passwd-s3fs
# アクセスキー:秘密鍵 の順番で貼り付け
chmod 600 .passwd-s3fs
ls - ${HOME}/.passwd-s3fs
# ファイルがあることを確認します
マウントポイントの指定
sudo mkdir /mnt/wasabi
# /mntファイルに任意の名前を作成ください
udo s3fs 【wasabiで作成したバケット名】 /mnt/wasabi -o passwd_file/【上記作成したパスワードファイルのパス】/.passwd-s3fs -o url=https://【バケットのリージョン名】.wasabisys.com -o use_path_request_style -o endpoint=【バケットのリージョン名】 -o allow_other
これでマウントしたことを確認しました。
WasabiのWebインタフェースから任意のファイルをアップロード。
cd /mnt/wasabi
# 作成したマウントポイントに移動します
ここから、アップロードしたファイルが確認できれば設定完了です。
fstabの設定
システムを再起動してもマウントできるようにfstabの設定を追記します。
sudo cp -pi /etc/fstab /path/to/directory/fstab.date +%Y%m%d
diff -u /etc/fstab /path/to/directory/fstab.date +%Y%m%d
# 差分がないことでバックアップを確認します
バックアップ後、協議・信仰に従ったエディタで末尾に追記します。
s3fs#【wasabiバケット名】 /mnt/wasabi fuse _netdev,allow_other,passwd_file=/【パスワードファイルのパス】/.passwd-s3fs,url=https://s3.バケットのリージョン名wasabisys.com,use_path_request_style,endpoint=バケットのリージョン名 0 0
マウント確認
sudo mount -a
# エラーが出ないことを確認します
df -h
# マウントしたバケットが見えているかを確認します
今後の検証
トライアルの間、
- マウントしたディレクトリに保存されたファイルをWebに公開できるか
- 遜色なく利用できるか
- 転送速度などに問題ないか
を確認後、本格的に使っていこうと思います。