goofysでAmazon S3をLinuxサーバにマウントする
はじめに
goofysを使用してLinuxにAmazon S3をマウントしてみました。
s3fsより動作が速いという特徴があるようです。
https://github.com/kahing/goofys#benchmark
環境
・新規構築したAmazon Linux 2を使用
・EC2のIAMロールにS3FullAccessを付与している
設定手順
1. goofysのインストール
最初にgoとfuseをインストールします。
$ sudo yum install -y golang fuse
続いて、goofysをインストールします。
記事投稿時点での最新バージョン(v0.24.0)を使用します。
$ sudo wget https://github.com/kahing/goofys/releases/download/v0.24.0/goofys -P /usr/local/bin/
$ sudo chmod 755 /usr/local/bin/goofys
2. マウント
マウントポイントのディレクトリを作成します。
併せて、マウントポイントのユーザーとグループをec2-userとするため、uidとgidを確認しておきます。
$ sudo mkdir /mnt/goofys
$ id ec2-user
uid=1000(ec2-user) gid=1000(ec2-user) groups=1000(ec2-user),4(adm),10(wheel),190(systemd-journal)
S3バケットをマウントします。
他のユーザーからもマウントしたボリュームにアクセスできるよう、allow_otherをオプションに追加します。
$ sudo /usr/local/bin/goofys [バケット名] /mnt/goofys -o allow_other,--uid=1000,--gid=1000
実行結果を確認します。
S3バケット内のオブジェクトが取得できています。
$ df -h
mybucket 1.0P 0 1.0P 0% /mnt/goofys
$ ll /mnt/goofys
total 25
drwxr-x--- 1 ec2-user ec2-user 0 Jul 29 2020 object1
drwxr-x--- 1 ec2-user ec2-user 0 Jan 1 1970 object2
drwxr-x--- 1 ec2-user ec2-user 0 Jun 15 2020 object3
drwxr-x--- 1 ec2-user ec2-user 0 Mar 26 04:40 object4
drwxr-x--- 1 ec2-user ec2-user 0 Jun 5 2020 object5
drwxr-x--- 1 ec2-user ec2-user 0 Jan 1 1970 object6
3. S3へファイルをアップロード
AWSマネジメントコンソールからtest.txtをアップロードして、サーバ上で結果を確認します。
$ ll /mnt/goofys
total 25
drwxr-x--- 1 ec2-user ec2-user 0 Jul 29 2020 object1
drwxr-x--- 1 ec2-user ec2-user 0 Jan 1 1970 object2
drwxr-x--- 1 ec2-user ec2-user 0 Jun 15 2020 object3
drwxr-x--- 1 ec2-user ec2-user 0 Mar 26 04:40 object4
drwxr-x--- 1 ec2-user ec2-user 0 Jun 5 2020 object5
drwxr-x--- 1 ec2-user ec2-user 0 Jan 1 1970 object6
-rw-r--r-- 1 ec2-user ec2-user 4 May 15 23:24 test.txt
4. サーバ上でファイルを作成してAWSマネジメントコンソールから確認
test2.txtというファイルをマウントポイントに作成し、マネジメントコンソールから結果を確認します。
$ sudo touch /mnt/goofys/test2.txt
$ ll /mnt/goofys
total 25
drwxr-x--- 1 ec2-user ec2-user 0 Jul 29 2020 object1
drwxr-x--- 1 ec2-user ec2-user 0 Jan 1 1970 object2
drwxr-x--- 1 ec2-user ec2-user 0 Jun 15 2020 object3
drwxr-x--- 1 ec2-user ec2-user 0 Mar 26 04:40 object4
drwxr-x--- 1 ec2-user ec2-user 0 Jun 5 2020 object5
drwxr-x--- 1 ec2-user ec2-user 0 Jan 1 1970 object6
-rw-r--r-- 1 ec2-user ec2-user 0 May 15 23:25 test2.txt
-rw-r--r-- 1 ec2-user ec2-user 4 May 15 23:24 test.txt
マネジメントコンソールからもtest2.txtが追加されていることを確認できました。
5. 起動時の自動マウント設定
最後に、以下のコマンドでサーバが起動したときに自動的にマウントされるように設定します。
--dir-modeと--file-modeでマウントポイントの権限を設定できます。
$ echo "/usr/local/bin/goofys#mybucket /mnt/goofys fuse _netdev,allow_other,--dir-mode=0777,--file-mode=0666,--uid=1000,--gid=1000 0 0" | sudo tee -a /etc/fstab
Author And Source
この問題について(goofysでAmazon S3をLinuxサーバにマウントする), 我々は、より多くの情報をここで見つけました https://qiita.com/latin1/items/82140eb6de8f7aa368fe著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .