Linodeとは
Linode (https://www.linode.com/) は Akamaiが提供するIaaS (Infrastructure as a Service) プラットフォームプロバイダーのサービスです。リノードと発音します。
Akamaiは2022年2月にLinode社の買収を発表しました。
https://www.akamai.com/ja/newsroom/press-release/akamai-to-acquire-linode
クラウドコンピューティングをよりシンプルに、手頃な価格で、誰もが利用できるようにすることで、イノベーションを加速することができます。
https://www.linode.com/ja/alternative-cloud-provider/
Linode Object Storage とは
Linode Object Storageは様々なリージョンで利用可能なS3互換の低価格なAkamai Cloud Computing Serviceのストレージソリューションです。
ストレージはNVMe SSDにて動作しており、HDDに比べて高いパフォーマンスと低レイテンシーなアクセスを実現することができます。
データ量は250GBから100TB(※1)まで拡張することができ、オブジェクトはリージョン内でレプリケートされており冗長性が担保されています。
インバウンド転送無料、アウトバウンド1TBまでの転送が標準の価格に含まれており、追加の転送料金は1GBあたり0.005ドルとかなり低コストなのが特徴です(※1)。
今後のアップデートではデータ量が最大1PB、オブジェクト数は最大10億に対応する予定があります。
- Linode Object Storage
- Enhancing Object Storage Performance
- Akamai Cloud Computing Services(Linode)とは何かをわかりやすく解説
※1 リージョンによって制限や価格が異なります、詳しくはこちらを参照ください。
S3FSとは
クラウドオブジェクトストレージをファイルシステムとして扱えるオープンソースのツールですとなります。
FUSE Filesystem in Userspace を利用して S3 のバケットを Linuxにマウントさせることができます。
GitHub: https://github.com/s3fs-fuse/s3fs-fuse
s3fsでLinode Object StorageをLinuxサーバーにマウントする
Linode Object StorageはS3互換のAPIを備えているため、s3fsを利用することができます。
今回はs3fsを利用してサーバーにObject Storageをマウントする手順となります。
サーバーOSに関してはUbuntuを利用します。
インストール
s3fsをUbuntu 22.04 LTSにインストールし、コマンドが動作するか確認します。
apt update
apt install s3fs
s3fs --version
アクセスキーの準備
Linode Object Storageのアクセスキーをファイルに記載します。
echo "[access_key]:[secret_access_key]" > /etc/passwd-s3fs
chmod 600 /etc/passwd-s3fs
Linode Object Storageのアクセスキーは以下から発行が可能です。
ディレクトリの作成
Linode Object Storageをマウントするディレクトリを作成します。
mkdir -p /s3fs
fstabの記載
サーバー起動時に自動的にマウントを行うため、fstabにs3fsの記載を行います。
vim /etc/fstab
s3fs#[bucket_name] /s3fs fuse nonempty,allow_other,url=https://[region-id].linodeobjects.com,endpoint=[region-id],passwd_file=/etc/passwd-s3fs 0 0
[bucket_name] : Linode Object Storageで作成したバケット名
[region-id]:Linode Object Storageを作成したregion-id
各リージョンのRegion IDはこちらから確認できます。
ディスクをマウント
fstabを記載した後に、Linode Object Storageのマウントを行う。
mount -a
dfコマンドでマウントが行われているか確認します。
df -Th
Filesystem Type Size Used Avail Use% Mounted on
s3fs fuse.s3fs 16E 0 16E 0% /s3fs
以上でインストールは完了となります。
動作検証
参考までに、Linode Object Storageをマウントした際のファイル作成、閲覧の時間を確認します。
今回の検証では、シンガポールリージョンにサーバーを立て、同じリージョンにObject Storageを作成し、s3fsでマウントを行っています。
500個のファイルを作成した際の時間
1分33秒かかりました。
root@localhost:/s3fs# i=1; time while [ $i -le 500 ]
> do
> touch test_$i > /dev/null 2>&1
> i=$((i+1))
> done
real 1m33.043s
user 0m0.451s
sys 0m0.219s
500個のファイルを一覧化する時間
10秒かかりました。
root@localhost:/s3fs# time ls -laR /s3fs > /dev/null
real 0m10.715s
user 0m0.004s
sys 0m0.000s
まとめ
Linode Object Storageをサーバーにマウントすることで、共有ディスクのような利用方法も検討することができます。
通常のディスクと比べて速度が格段に遅いため、利用用途が適しているか慎重に確認する必要があります。
尚、Linodeがs3fsのツールに関してサポートしているわけではありませんのでご注意ください。
関連記事
アカマイ・テクノロジーズ合同会社のQiitaではLinode関連など開発者向けの記事を記載しております。