MENU

さくらのクラウドの「オブジェクトストレージ」をマウントしてみる

こんにちは、UOZUです!

今回はさくらのクラウドの「オブジェクトストレージ」を、サーバー内で「ブロックストレージ」の様に使う為、マウントを試してみようと思います。

目次

オブジェクトストレージとは

あまり意識する事は無いのですが、一般的なサーバーのディスクは「ブロックストレージ」と呼ばれ、「ブロック単位」で管理されています。
ブロックストレージ以外では、オブジェクトストレージ、ファイルストレージ等があり、特徴は以下の様なイメージです。

比較項目ブロックストレージオブジェクトストレージファイルストレージ
管理単位ブロック(分割されたデータ単位)オブジェクト(データ+メタデータ)ファイル / ディレクトリ
データ構造ボリューム(OSが直接管理)フラット(階層なし、IDで管理)階層構造(フォルダ形式)
アクセス方法OSを介した直接アクセスAPI (HTTP/HTTPS) 経由ネットワークプロトコル(NFS/SMB等)
拡張性物理・論理的な容量制限ありほぼ無限(非常に高い)容量制限あり(プランによる)
主な用途OS、データベース、アプリケーションバックアップ、静的画像、ログ保存社内共有、WEBコンテンツ

例えば、巨大なログやバックアップを長期的に保存したい場合は、オブジェクトストレージにアップロードする。2つのサーバーでファイルやディレクトリを共通化したいといった際は、ファイルストレージを利用する、といった形です。

通常、オブジェクトストレージは専用のツールでAPIを経由して利用しますが、今回は、サーバー内で扱いやすい様、マウントツールを使い、ファイルストレージやブロックストレージの様に使ってみたいと思います。

マウント動作時の注意点

検証時の注意点となりますが、さくらのクラウドのオブジェクトストレージは、「Amazon S3互換」との記載があるものの、「マウントの動作」の保証まではしていません。
実際にこの記事を元に試される際は、その点を理解した上で、参考としていただければと思います。

検証環境の用意

さくらのクラウドではAlmalinux10のサーバーを用意しました。
また、事前に以下の作業を行っておきましょう。

  • オブジェクトストレージサービスの有効化
  • バケットの作成
  • アクセスキー/シークレットアクセスキーの発行

また発行したバケットの名前、アクセスキー/シークレットアクセスキーはメモしておきましょう。

マウント用パッケージのインストールと設定

では、続けてマウントに必要なパッケージと設定を進めます。

必要パッケージのインストール

まずs3fs-fuseをそのままインストールします。

# dnf install s3fs-fuse

設定情報の作成

またrootユーザーのホームディレクトリ直下に.awsディレクトリを作成し、クレデンシャルファイルを作成し、メモしておいたアクセスキー/シークレットアクセスキーを記入しておきます。

# mkdir ~/.aws
# vi .aws/credentials
------------------------------------------------
[default]
aws_access_key_id = メモしたアクセスキー
aws_secret_access_key = メモしたシークレットアクセスキー
------------------------------------------------

また、利用するリージョン(石狩第一サイト、東京第一サイト)の指定もここで行います。

# vi .aws/config
------------------------------------------------
[default]
region = jp-north-1
output = text
------------------------------------------------

今回、利用するリージョンは石狩第一サイトの為、region を jp-north-1 と指定しています。

あわせて読みたい

マウントと動作確認

続けて、マウント用のディレクトリを作成し、s3fsコマンドでマウントを行ってみます。
今回のコマンドでは、バケット名を「uozu」、接続先は石狩第一サイトのエンドポイントを指定しています。

mkdir /mnt/sakura/
s3fs uozu /mnt/sakura/ -o allow_other,url=https://s3.isk01.sakurastorage.jp
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda2 20G 2.3G 17G 13% /
devtmpfs 459M 0 459M 0% /dev
tmpfs 478M 0 478M 0% /dev/shm
tmpfs 191M 5.3M 186M 3% /run
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-journald.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/getty@tty1.service
tmpfs 96M 4.0K 96M 1% /run/user/0
s3fs 64P 0 64P 0% /mnt/sakura

マウント出来た様なので、実際にファイルを作って見ます。
作業前は空のバケットですが・・・

touchコマンドで空ファイルを作ってみると、オブジェクトストレージ上にもファイルが作成されました。

# touch /mnt/sakura/test
# ll /mnt/sakura/
total 0
-rw-r--r-- 1 root root 0 Feb 16 11:00 test

追加記録なども問題無さそうです

# echo test > /mnt/sakura/test
# ll /mnt/sakura/
total 1
-rw-r--r-- 1 root root 5 Feb 16 11:04 test

おわりに

いかがだったでしょうか、かなり簡単にマウント出来たと思います。
ログを定期的にオブジェクトストレージにアップロードして、ディスク費用を抑えたい、といった際には、s3fsでマウントを利用する事で、スクリプトなど作り易くなりますね。

上記内容が参考になれば幸いです。
最後までおよみいただき、ありがとうございました。

お問い合わせ

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ネットアシスト運用チームのマネージャー
さくらのクラウド検定 2024年 第1回試験 合格済み

目次