📁

Windows環境でS3をファイルサーバーとして利用する

2024/03/16に公開

概要

動画編集などを行う上で、動画ファイルなどをローカルおよび
NASに保存していたのですが。何かあった際に怖いので
ファイルストレージサーバーを探してましたがどれも高価、、
なので料金が安いS3を利用したいと思いWindowsのエクスプローラー
で操作できる方法を試しました

事前準備

  • WindowsにUbntsuをいれておく
  • AWSにS3バケットを作成
    • バージョンニングをONにして、AWS Buckupを稼働させておくことがおすすめ
  • IAMでS3にアクセス用のアカウント作成して、認証キーを作成

作業

下記はubntsu上で作業します

s3fsのインストール

① s3fsをインストールする

Ubuntuにs3fsをインストールするには、ターミナルを開き、次のコマンドを入力します。

sudo apt-get update
sudo apt-get install s3fs

AWS認証情報の設定

① AWSの認証情報を設定する

s3fsには、Amazon S3にアクセスするためのAWSの認証情報が必要です。これを設定するために、~/.passwd-s3fsファイルを作成し、アクセスキーIDとシークレットアクセスキーを記載します。

echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ~/.passwd-s3fs
chmod 600 ~/.passwd-s3fs

S3バケットのマウント

① マウントポイント(ディレクトリ)を作成する

マウントしたい場所にディレクトリを作成します。例えば、~/s3bucketというディレクトリにマウントしたい場合は、以下のコマンドを実行します。

mkdir ~/s3bucket

② S3バケットをマウントする

次のコマンドを使ってS3バケットをマウントします。your-bucket-nameは、マウントしたいS3バケットの名前に置き換えてください。

s3fs your-bucket-name ~/s3bucket -o passwd_file=~/.passwd-s3fs -o use_cache=/tmp -o allow_other -o umask=0022

追記 2024/03/17

上記の方法だと、ubntsuを再起動したときにマウントが消えているため

sudo vi /etc/fstab

でマウントファイルを開き
/etc/fstab ファイルの末尾に、前述した形式で S3 バケットのマウント情報を追加します。例えば、以下のようになります。

your-bucket-name /path/to/mountpoint fuse.s3fs _netdev,allow_other,umask=0022,passwd_file=/path/to/.passwd-s3fs 0 0
  • your-bucket-name はマウントしたい S3 バケットの名前に置き換えてください。
  • /path/to/mountpoint はバケットをマウントしたいローカルのディレクトリパスに置き換えてください。
  • passwd_file=/path/to/.passwd-s3fs の部分は、あなたの AWS 認証情報ファイルの実際のパスに置き換えてください。

そのあと、ubntsuを再起動すれば。永続的にマウントされるようになります。

終わりに

上記の作業をすれば、\wslから始まる自分のubntsuディレクトリにアクセスすれば
エクスプローラーで操作したファイルがS3に同期されていきます。
こんな簡単なコマンドだけで月の発生コスト抑えれれるので最高ですよね

Discussion