goofys を用いたAmazon Linux2に対してのS3のマウントをやってみた
こんちは、テクニカルサポートチームの丸屋 正志です。
Amazon Linux2 上で goofys の設定をする機会があったのですが色々調べていくと、s3fs を用いた方法が紹介されていたり、そもそも上手くマウントをしてくれなかったりと・・・つまずくことが多いですが、備忘録としてブログに手順を残したいと思います。
1. やってみた
まずは、任意の S3 バケットとIAM ロールを作成していきますが、ココでは割愛いたします。
1.1. 前提条件
- EC2 AMI : 最新のAmazon Linux2
- IAM ロール : EC2RoleForS3FullAccess
- [S3FullAccess] の権限の付与
- S3 バケット名 : TestBucket
- バケットポリシー 無し
2. goofys 設定
2.1. アップデート / 必要なパッケージの導入
$ sudo yum -y update $ sudo yum install -y golang fuse
2.2. goofys のインストール
- 下記サイトにて最新のバージョンをご確認ください。
$ sudo wget https://github.com/kahing/goofys/releases/download/v0.24.0/goofys -P /usr/local/bin/
2.3. 権限変更
$ sudo chmod 755 /usr/local/bin/goofys
2.4. マウント先のディレクトリ作成
- 任意のディレクトリ名を作成
$ sudo mkdir /mnt/goofys
2.5. マウントポイントのユーザーとグループを ec2-user とするため uid と gid を確認
デフォルトの ec2-user を利用している場合は、スキップして頂いて構いません。
$ id ec2-user uid=1000(ec2-user) gid=1000(ec2-user) groups=1000(ec2-user),4(adm),10(wheel),190(systemd-journal)
2.6. fstabに自動マウント設定
- #を含めた状態でバケット名を入力
- ec2-user 以外の場合はuid と gid を変更
$ echo "/usr/local/bin/goofys#TestBucket /mnt/goofys fuse _netdev,allow_other,--dir-mode=0777,--file-mode=0666,--uid=1000,--gid=1000 0 0" | sudo tee -a /etc/fstab
2.7. 設定反映
$ sudo mount -a
2.8. マウントされているか確認
$ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 TestBucket 1.0P 0 1.0P 0% /mnt/goofys
2.9. 動作確認
$ ll /mnt/goofys/ 合計 23082 -rw-rw-rw- 1 ec2-user ec2-user 23482924 6月 3 11:48 TestBucket.html -rw-rw-rw- 1 ec2-user ec2-user 151746 5月 3 06:24 TestBucket.css
3. さいごに
goofys を用いたAmazon Linux2に対してのS3のマウントの設定方法をしました。
以上、テクニカルサポートチームの丸屋でした。